Claude-skill-registry 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
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ci-fixer" ~/.claude/skills/majiayu000-claude-skill-registry-ci-fixer && rm -rf "$T"
manifest:
skills/data/ci-fixer/SKILL.mdsource content
<objective>
Autonomously fix CI/CD pipeline failures by:
1. Watching CI runs in real-time
2. Analyzing failures (GitHub Actions, Vercel, Netlify, etc.)
3. Fixing errors and verifying locally (tests, linter - NO skipping, NO hacks)
4. Committing fixes and looping until pipeline is green
5. Cleaning up artifacts when done
</objective>
<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>
<parameters>
| Flag | Description |
|------|-------------|
| `-a, --auto` | Auto mode - skip confirmations, auto-proceed |
| `-m N, --max-attempts=N` | Maximum fix attempts before asking for help (default: 5) |
</parameters>
<state_variables> Persist throughout all steps:
| Variable | Type | Description |
|---|---|---|
| boolean | Skip confirmations |
| integer | Max fix attempts (default: 5) |
| integer | Current attempt number |
| string | Current GitHub Actions run ID |
| string | Current git branch |
| string | SHA of commit being watched |
| string | Path to artifacts: |
| string | Source of error (github-actions, vercel, netlify) |
| string | Captured error logs |
| list | List of fixes applied this session |
| boolean | Whether local tests/lint passed |
</state_variables>
<entry_point> Load
steps/step-00-init.md
</entry_point>
<step_files>
| Step | File | Description |
|---|---|---|
| 0 | | Parse flags, detect branch, setup state |
| 1 | | Find CI run, monitor status |
| 2 | | Fetch logs/artifacts, analyze errors |
| 3 | | Fix errors, verify locally |
| 4 | | Commit and push, loop back |
| 5 | | 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-ignoreeslint-disable - NEVER disable rules - Don't add to
, don't lower strictness.eslintignore - 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>