Documents

gh-fix-ci

Inspect failing PR checks, summarize GitHub Actions logs, and plan fixes before making approved changes.

What it does

Diagnose failing GitHub Actions checks on a pull request with GitHub CLI data and logs. It resolves a PR from its number, URL, or the current branch, reports check names, run URLs, and concise failure snippets, then drafts a fix plan for approval before changing code. External CI providers are identified only by their details URL.

When to use it

  • Debugging failed GitHub Actions checks on a PR
  • Extracting concise failure snippets from workflow logs
  • Planning a CI fix before editing code
  • Rechecking PR status after approved changes

The skill document

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

Quick start

  • python "/scripts/inspect_pr_checks.py" --repo "." --pr ""
  • Add --json if you want machine-friendly output for summarization.

Workflow

  1. 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.
  2. 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.
  3. Inspect failing checks (GitHub Actions only).
    • Preferred: run the bundled script (handles gh field drift and job-log fallbacks):
      • python "/scripts/inspect_pr_checks.py" --repo "." --pr ""
      • Add --json for machine-friendly output.
    • Manual fallback:
      • 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 --json name,workflowName,conclusion,status,url,event,headBranch,headSha
        • gh run view --log
      • If the run log says it is still in progress, fetch job logs directly:
        • gh api "/repos///actions/jobs//logs" > ""
  4. 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.
  5. Summarize failures for the user.
    • Provide the failing check name, run URL (if any), and a concise log snippet.
    • Call out missing logs explicitly.
  6. Create a plan.
    • Use the create-plan skill to draft a concise plan and request approval.
  7. Implement after approval.
    • Apply the approved plan, summarize diffs/tests, and ask about opening a PR.
  8. Recheck status.
    • After changes, suggest re-running the relevant tests and gh pr checks to confirm.

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 "/scripts/inspect_pr_checks.py" --repo "." --pr "123"
  • python "/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json
  • python "/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

Questions people ask

What setup is required before inspecting a PR?
Authenticate the standard GitHub CLI with `gh auth login`, then verify access using `gh auth status` in the repository. Repository and workflow scopes are typically required.
Can it inspect checks outside GitHub Actions?
No. Checks from Buildkite or other external providers are labeled as external, and only their details URL is reported.
Will it modify code as soon as it finds a failure?
No. It first summarizes the failing check and available log evidence, drafts a concise fix plan, and waits for explicit approval before implementation.

Related skills

Handle Git changes, conflicts, history recovery, and collaboration with repository-aware safety checks.

527 installs31 stars

Reduce OpenClaw token waste with lazy context, model routing, heartbeat planning, and local budget checks.

459 installs30 stars

Turns development work into scoped changes, verified tests, reviewable PRs, and reversible releases.

179 installs11 stars

Query Google Ads accounts and performance data with GAQL through managed OAuth.

261 installs20 stars

Build, debug, and review Vue 3 code across reactivity, components, state, routing, forms, and performance.

121 installs8 stars

More from OpenAI

Browse all skills

chatgpt-apps

Official

Plan, scaffold, refactor, and validate ChatGPT Apps SDK projects with an MCP server and widget UI.

by OpenAI24.8k stars

Build or update full-page Figma screens with linked design-system components, variables, and styles.

by OpenAI24.8k stars

Builds a code-aligned Figma design system through phased creation, validation, and user approval.

by OpenAI24.8k stars

figma-use

Official

Runs Figma Plugin API scripts with the required call parameters, API rules, IDs, and validation workflow.

by OpenAI24.8k stars

hatch-pet

Official

Create and validate a Codex-compatible animated pet atlas from concepts, brand cues, or reference art.

by OpenAI24.8k stars

imagegen

Official

Generate or edit raster assets, validate the result, and place selected files into the project workspace.

by OpenAI24.8k stars