Installs into .claude/skills of the current project.
Are you the author of Ci Debug?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sdsleon-ci-debug)
---
name: ci-debug
description: "Diagnose a failing GitHub Actions check by reading the real logs and finding the first true failure."
---
# CI Debug
Find out why a check is failing, from evidence rather than from the check's name.
## Find the real failure
Start from the check run, get its job, and read the **log**. A job summary tells you something failed; the log tells
you what.
Scan for the _first_ failure, not the loudest one. A long red log is usually one root cause followed by cascading
noise — later errors are often just the same failure surfacing again downstream.
Note the step, the command, and the exact error text. Copy the error verbatim; do not paraphrase it into something
that sounds cleaner than it was.
## Separate the failure from the change
Before blaming the diff, check whether the same job fails on the base branch or on unrelated recent runs. Flaky and
pre-existing failures look identical to real ones in a single run.
Say explicitly which of these you concluded:
- the change caused it,
- it was already broken,
- it is flaky (and what evidence supports that),
- you could not tell from the available logs.
"I could not tell" is a legitimate answer. An invented root cause is not.
## Environment differences
When something passes locally and fails in CI, compare the things that actually differ: OS and runner image, tool and
dependency versions, environment variables and secrets, working directory, and whether the job runs against a merge
commit rather than the branch head.
## Fix and verify
Propose the narrowest fix that addresses the root cause. Re-run only the failed jobs when you can. If a re-run is
needed to confirm a flake, say that is what you are doing and why.
Do not re-run, cancel, or dispatch a workflow merely to gather more evidence unless the user authorized that GitHub
action. When a fix is local, run the closest equivalent check before asking CI to confirm it.
## Report
Lead with the root cause and the evidence line from the log. Then the fix. If the fix is unverified because CI has not
re-run yet, say so.