gh-fix-ci
Scannednpx machina-cli add skill tech-leads-club/agent-skills/gh-fix-ci --openclawGh 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)ghauthentication for the repo host
Quick start
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Add
--jsonif you want machine-friendly output for summarization.
Workflow
- Verify gh authentication.
- Run
gh auth statusin the repo. - If unauthenticated, ask the user to run
gh auth login(ensuring repo + workflow scopes) before proceeding.
- Run
- 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.
- Prefer the current branch PR:
- Inspect failing checks (GitHub Actions only).
- Preferred: run the bundled script (handles gh field drift and job-log fallbacks):
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Add
--jsonfor machine-friendly output.
- Manual fallback:
gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow- If a field is rejected, rerun with the available fields reported by
gh.
- If a field is rejected, rerun with the available fields reported by
- For each failing check, extract the run id from
detailsUrland run:gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_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" > "<path>"
- Preferred: run the bundled script (handles gh field drift and job-log fallbacks):
- Scope non-GitHub Actions checks.
- If
detailsUrlis 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.
- If
- 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.
- Use the
create-planskill to draft a concise plan and request approval.
- Use the
- 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 checksto confirm.
- After changes, suggest re-running the relevant tests and
Bundled Resources
scripts/inspect_pr_checks.py
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 40
Source
git clone https://github.com/tech-leads-club/agent-skills/blob/main/packages/skills-catalog/skills/(tooling)/gh-fix-ci/SKILL.mdView on GitHub Overview
Gh-fix-ci locates failing GitHub Actions checks on a PR, fetches actionable logs, and summarizes the failure context. It drafts a concise fix plan and implements changes only after explicit approval, while reporting external CI details URLs when non-GitHub Actions are involved.
How This Skill Works
Authenticate with the GitHub CLI, determine the target PR, and inspect checks using the bundled script or gh pr checks. For each failing GitHub Actions check, extract the run details and logs, summarize the failure snippet, and draft a fix plan; implementation occurs only after explicit approval, followed by a recheck of status.
When to Use It
- A PR has one or more failing GitHub Actions checks
- You need a concise failure snippet from logs to inform a fix
- You want a fix plan drafted before making changes
- The PR includes external CI (not GitHub Actions) and you should only report the URL
- You want to recheck status after applying approved fixes
Quick Start
- Step 1: gh auth login and gh auth status to ensure repo and workflow scopes are granted
- Step 2: Run the inspection script: python <path-to-skill>/scripts/inspect_pr_checks.py --repo . --pr <number-or-url> --json
- Step 3: Draft a fix plan (via create-plan if available) and obtain explicit approval before implementing; then recheck with gh pr checks
Best Practices
- Authenticate with gh (gh auth login) before starting
- Prefer the bundled script inspect_pr_checks.py when possible
- Scope the investigation to GitHub Actions checks only
- If a plan skill is available, use create-plan to draft the fix plan; otherwise craft an inline plan
- Always obtain explicit approval before implementing any changes
Example Use Cases
- PR with a failing build workflow; inspect checks, summarize the failure, draft a plan, and await approval before applying a fix
- Lint or test failures in a GitHub Actions job; extract a concise log snippet and propose a small code or workflow change
- Cache or matrix-related failure in Actions; summarize context and propose targeted workflow updates
- PR containing an external provider check (e.g., Buildkite) where only the details URL is reported
- After applying an approved fix, re-run gh pr checks to confirm success and prompt for a recheck