Agent skill
ci-fixer
Automated CI/CD pipeline fixer - watches CI, fixes errors locally, commits, and loops until green. Use when CI is failing and you want to automatically fix and verify changes.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/ci-fixer
SKILL.md
<quick_start> Basic usage (watch and fix CI):
/ci-fixer
Auto mode (no confirmations):
/ci-fixer --auto
With max attempts limit:
/ci-fixer --max-attempts=3
The skill will:
- Detect your current branch's CI run
- Watch for failures
- Fix errors locally (tests, lint, build)
- Commit and push
- Loop until green ✅
CRITICAL: Zero tolerance for hacks - fixes must be proper, no @ts-ignore, eslint-disable, or test skipping.
</quick_start>
<state_variables> Persist throughout all steps:
| Variable | Type | Description |
|---|---|---|
{auto_mode} |
boolean | Skip confirmations |
{max_attempts} |
integer | Max fix attempts (default: 5) |
{current_attempt} |
integer | Current attempt number |
{run_id} |
string | Current GitHub Actions run ID |
{branch} |
string | Current git branch |
{last_commit_sha} |
string | SHA of commit being watched |
{artifacts_dir} |
string | Path to artifacts: .claude/data/ci-{run_id}/ |
{error_source} |
string | Source of error (github-actions, vercel, netlify) |
{error_logs} |
string | Captured error logs |
{fixes_applied} |
list | List of fixes applied this session |
{local_verified} |
boolean | Whether local tests/lint passed |
</state_variables>
<entry_point>
Load steps/step-00-init.md
</entry_point>
<step_files>
| Step | File | Description |
|---|---|---|
| 0 | step-00-init.md |
Parse flags, detect branch, setup state |
| 1 | step-01-watch-ci.md |
Find CI run, monitor status |
| 2 | step-02-analyze-errors.md |
Fetch logs/artifacts, analyze errors |
| 3 | step-03-fix-locally.md |
Fix errors, verify locally |
| 4 | step-04-commit-push.md |
Commit and push, loop back |
| 5 | step-05-cleanup.md |
Cleanup artifacts, show summary |
| </step_files> |
<workflow_diagram>
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Init │───►│ Watch │───►│ Analyze │───►│ Fix │───►│ Commit │
│ Step 0 │ │ CI │ │ Errors │ │ Locally │ │ & Push │
└──────────┘ └────┬─────┘ └──────────┘ └──────────┘ └────┬─────┘
│ │
│ ┌─────────────────────────────────────┘
│ │ (loop until green or max attempts)
│◄────────┘
│
┌────┴────┐ ┌──────────┐
│ SUCCESS │───►│ Cleanup │
│ or STOP │ │ Step 5 │
└─────────┘ └──────────┘
</workflow_diagram>
<artifacts_storage>
Artifacts are stored in .claude/data/ci-{run_id}/:
.claude/data/ci-{run_id}/
├── github/
│ ├── failed-logs.txt # Failed job logs
│ └── artifacts/ # Downloaded artifacts
├── vercel/
│ ├── deployment.json # Deployment info
│ └── logs.txt # Build/runtime logs
├── netlify/
│ └── build-logs.txt # Build logs
└── summary.md # Error analysis summary
</artifacts_storage>
<core_principles> <zero_tolerance_policy> ZERO TOLERANCE FOR HACKS
If you can't fix it properly, ASK FOR HELP. Never bypass or hack.
- NEVER skip tests - All tests must pass locally before committing
- NEVER hack around issues - Fix the root cause, don't disable checks
- NEVER use bypass flags - No
--no-verify,--skip,@ts-ignore,eslint-disable - NEVER disable rules - Don't add to
.eslintignore, don't lower strictness - Verify locally first - Always run tests/lint locally before pushing
- Minimal changes - Only fix what's broken, don't refactor unrelated code
- Clear commits - Each fix should have a descriptive commit message
- Clean up - Delete artifacts when workflow completes
Forbidden hacks include: @ts-ignore, eslint-disable, .skip, as any, --no-verify, --legacy-peer-deps, commenting out tests, changing assertions to match wrong output, adding files to ignore lists.
</zero_tolerance_policy>
</core_principles>
<success_criteria>
- CI pipeline status successfully monitored
- Errors analyzed and root cause identified
- Fixes applied locally and verified (all tests/lint passing)
- Changes committed with clear messages
- CI pipeline green ✅ after fixes
- Artifacts cleaned up
- No hacks or bypasses used
- Maximum attempts limit respected </success_criteria>
Didn't find tool you were looking for?