skills/gh-fix-ci/SKILL.md
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement autonomously with verification unless a true blocker requires user input. Treat external providers (for example Buildkite) as out of scope and report only the details URL.
npx skillsauth add olliecrow/codex gh-fix-ciInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
log-reader owns failing job logs, key snippets, and suspected failure points, and updates plan/current/gh-fix-ci.md.repro-or-fix-worker owns local reproduction or the narrowest high-confidence fix path and updates the same note with changed files and open risks.verification-runner owns the smallest local checks plus final gh pr checks recheck before closeout.rg -> find/grep, python -> python3, alternate repo-native scripts).plan/, ensure required plan directories exist before reading/writing them (create when edits are allowed; otherwise use an in-memory fallback and call it out).investigate -> plan -> fix -> verify -> battletest -> organise-docs -> git-commit -> re-review; cleanup scan -> prioritize -> clean -> verify -> re-scan; docs audit -> update -> verify -> re-audit.organise-docs frequently during execution to capture durable decisions and learnings, not only at the end.git-commit when changes are commit-eligible, checks are green, and repo policy permits commits.docs/ accurate and up to date, and promote durable learnings and decisions from work into docs.git-commit to create a small logical checkpoint commit once relevant checks are green and repo policy permits commits.organise-docs whenever durable learnings/decisions appear, and prune stale plan/ scratch artifacts.The skill is complete only when all of the following are true:
blocked with concrete blocker evidence.done, blocked, or not-applicable, with brief evidence or rationale.Stop only after this terminal contract is satisfied; otherwise continue iterating.
done: requested outcome is delivered and required checks are completed (for example expected artifact/report produced and required validation command(s) passed).blocked: progress cannot continue after bounded retries because of a concrete dependency or access issue; blocker evidence and exact unblock action are reported.not-applicable: an optional step is explicitly skipped with reason (for example no remote configured, so push step is marked not-applicable).Use gh to locate failing PR checks, fetch GitHub Actions logs for actionable failures, summarize the failure snippet, then propose and execute a fix plan autonomously with explicit verification.
plan) is available, use it; otherwise draft a concise plan inline and proceed when confidence is high.Prereq: authenticate with the standard GitHub CLI once (for example, run gh auth login), then confirm with gh auth status (repo + workflow scopes are typically required).
git rev-parse --show-toplevel, git symbolic-ref -q --short HEAD).gh availability/auth (command -v gh, gh auth status).repo: path inside the repo (default .)pr: PR number or URL (optional; defaults to current branch PR)gh authentication for the repo hostpython "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"--json if you want machine-friendly output for summarization.gh auth status in the repo.gh auth login only if auth remains blocked.gh pr view --json number,url.--repo <owner>/<repo> before asking the user.python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"--json for machine-friendly output.gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow
gh.name,state,link to survive CLI schema drift.detailsUrl and run:
gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --loggh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"detailsUrl is not a GitHub Actions run, label it as external and only report the URL.plan skill to draft a concise, execution-ready plan.gh pr checks to confirm.gh pr edit --title ... --body-file ... using repo-relative paths or plain-language references rather than absolute local paths, file URLs, or raw terminal transcripts).gh pr ready <pr-number-or-url>).Unknown JSON field from gh as schema drift; retry with a reduced field set instead of failing the task.could not determine current branch as branch-state ambiguity; switch to explicit PR mode.Not Found (404) as repo/PR mismatch first; verify --repo and PR identity before deeper debugging.Fetch failing PR checks, pull GitHub Actions logs, and extract a failure snippet. Exits non-zero when failures remain so it can be used in automation.
Usage examples:
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40data-ai
Use automatically for Sentinel repo sessions, trading research questions, market/company/ticker/source questions, or any request that should use Sentinel's read-only data sources and reference context. Enforces Sentinel's high-confidence, read-only, no-local-query-trace research posture.
documentation
Compact the current conversation into a handoff document for another agent to pick up.
tools
Run the Codex custom review feature from the CLI for arbitrary review instructions. Use when the user asks to use /review, custom review, or Codex review without tying the review to commits, uncommitted changes, or a base branch; prefer multicodex exec review with no explicit account and fall back to codex exec review only when multicodex is unavailable.
tools
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).