Awesome-omni-skill ci-failure
Diagnose GitHub Actions CI failures and suggest fixes. Use when the user reports CI failed, GitHub job failed, Actions failed, build failed on remote, upload artifact failed, or pastes a failure from the Actions tab.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/ci-failure" ~/.claude/skills/diegosouzapw-awesome-omni-skill-ci-failure && rm -rf "$T"
manifest:
skills/devops/ci-failure/SKILL.mdsource content
CI Failure Diagnosis
When the user reports a remote GitHub Actions / CI failure (or pastes a failure from the Actions tab), apply this skill.
1. Load Context First
Read these files immediately to understand this repo’s CI:
- Workflow:
(and.github/workflows/ci.yml
if the failure mentions security).github/workflows/security.yml - Pipeline summary:
docs/ci.md
Use them to map the failure to a job and step and to apply repo-specific fixes.
2. Identify Job and Step
From the user’s message or pasted log, determine:
- Job name (e.g. Lint, Type Check, Test, Build, Docker Build, Notify Slack)
- Step name (e.g. "Run ESLint", "Build application", "Upload build artifacts")
If the user only pastes an error line (e.g. "No files were found with the provided path: .next"), infer the step from the message and the workflow.
3. Map to Fix
| Failure / Log | Job | Step | Action |
|---|---|---|---|
| ESLint error, file:line | Lint | Run ESLint | Fix the reported file/line; run locally. |
| Type error, tsc | Type Check | Run TypeScript compiler | Fix the type; run locally. |
| Test failure, vitest | Test | Run tests | Fix test or app code; run locally. |
| Build error, Next.js, OOM | Build | Build application | Check "Build application" logs; confirm in workflow; fix build error or increase memory. |
| No files .next, upload artifact | Build | Build application / Upload | Build didn’t produce ; check "Build application" step logs. Ensure workflow has List build output, "Fail if build did not produce .next", and conditional upload (see docs/ci.md). |
| Docker build failed | Docker Build | Build Docker image | Check Dockerfile and build-args (MONGODB_URI, MONGODB_DB). |
| Notify Slack / health | Notify Slack | — | Check Secrets (SLACK_WEBHOOK_URL) and Variables (APP_URL); see docs/ci.md and readme. |
4. Respond
- Say which job and step failed (and link to workflow if helpful).
- Give a short cause (e.g. "Build didn’t produce
" or "ESLint error in.next
").src/foo.ts - Suggest a concrete fix (workflow change, code change, or env/secret), using
anddocs/ci.md
as the source of truth..github/workflows/ci.yml - If the user pasted only one line, ask for the full job log for the failing step if you need it to be precise (e.g. "Paste the full 'Build application' step log from the Build job").
5. Optional: Cursor Rule
For more detail on mapping failures and repo-specific CI, see
.cursor/rules/github-ci.mdc (it aligns with this skill and docs/ci.md).