← ClaudeAtlas

fix-cilisted

Diagnose and fix a failing CI run by pulling the actual failure logs (gh run view --log-failed), reproducing the failure locally, fixing the root cause rather than the symptom, and verifying green before and after pushing. Use when a GitHub Actions run is red, a PR check is failing, or CI passes locally but fails remotely.
KhaledSaeed18/dotclaude · ★ 4 · AI & Automation · score 77
Install: claude install-skill KhaledSaeed18/dotclaude
Fix the failure CI actually reported, not the one you assume it hit. The log line that failed the job is evidence; everything else is guessing. Pull it first, reproduce it locally second, and only then change code. ## Step 1: Get the real failure ```bash # What failed, and on which commit gh run list --limit 10 gh run view <run-id> --log-failed 2>&1 | tail -80 ``` Read the failed step's output completely. Identify: the failing step name, the exact error, and whether the failure is in *your change* or in the pipeline itself (setup step, cache, runner image, flaky network). If several jobs failed, find the first failure in dependency order; downstream jobs often fail as a consequence. If the run belongs to a PR, also check which check is required and whether the failure is new to this branch: ```bash gh pr checks <pr-number> git log --oneline origin/main..HEAD ``` ## Step 2: Reproduce locally Run the failing step's actual command from the workflow file, not your usual local equivalent: ```bash # Read the workflow to get the exact command and environment cat .github/workflows/<workflow>.yml ``` - **Reproduces locally:** it is a code problem. Debug it normally (the `systematic-debugging` skill applies) and fix the root cause. - **Passes locally, fails in CI:** the difference is environmental. Compare in this order: dependency install mode (`--frozen-lockfile` vs a loose local install), Node/tool versions (CI pins one; check yours), OS differences (case-sensitive paths, l