| name | gh-fix-ci |
| description | 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 only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL. |
When to use
- 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 only after explicit approval.
On-demand loading: Read this skill only when the task clearly matches the description above or trigger phrases below. Do not load for unrelated work.
Gh Pr Checks Plan Fix
Overview
Use gh to locate failing PR checks, fetch GitHub Actions logs for actionable failures, summarize the failure snippet, then propose a fix plan and implement after explicit approval.
- If a plan-oriented skill (for example
create-plan) is available, use it; otherwise draft a concise plan inline and request approval before implementing.
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).
Inputs
repo: path inside the repo (default .)
pr: PR number or URL (optional; defaults to current branch PR)
gh authentication for the repo host
Workflow
- Verify gh authentication.
- Run
gh auth status in the repo.
- If unauthenticated, ask the user to run
gh auth login (ensuring repo + workflow scopes) before proceeding.
- Resolve the PR.
- Prefer the current branch PR:
gh pr view --json number,url.
- If the user provides a PR number or URL, use that directly.
- Inspect failing checks (GitHub Actions only).
gh pr checks --json name,state,bucket,link,startedAt,completedAt,workflow
- If a field is rejected, rerun with the available fields reported by
gh.
- For each failing check, extract the run id from
detailsUrl and run:
gh run view <id> --json name,workflowName,conclusion,status,url,event,headBranch,headSha
gh run view <id> --log
- If the run log says it is still in progress, fetch job logs directly:
gh api "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs" > job.log
- Scope non-GitHub Actions checks.
- If
detailsUrl is not a GitHub Actions run, label it as external and only report the URL.
- Do not attempt Buildkite or other providers; keep the workflow lean.
- Summarize failures for the user.
- Provide the failing check name, run URL (if any), and a concise log snippet.
- Call out missing logs explicitly.
- Create a plan.
- Draft a concise fix plan and request approval before implementing.
- Implement after approval.
- Apply the approved plan, summarize diffs/tests, and ask about opening a PR.
- Recheck status.
- After changes, suggest re-running the relevant tests and
gh pr checks to confirm.
Related skills
loop-on-ci: watch a PR and iterate autonomously until all checks are green; prefer it when no plan/approval gate is needed
grinding-until-pass: local fix-run-check loop against tests/build/lint; prefer it when the failure reproduces locally without CI