Skip to content
Back to skills

Gh Fix Ci

ASecurity

Diagnose failing GitHub Actions checks on a PR via gh, summarize the failure context, propose

  • 19 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
ai-agentspythonbashgit

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add ulises-jeremias/agent-toolkit --skill gh-fix-ci --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gh Fix Ci?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gh Fix Ci
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ulises-jeremias-gh-fix-ci/badge)](https://www.skillsdirectory.com/skills/ulises-jeremias-gh-fix-ci)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gh-fix-ci
description: Diagnose failing GitHub Actions checks on a PR via gh, summarize the failure context, propose
  a plan, and only implement after explicit user approval. External CI providers (Buildkite, CircleCI,
  etc.) are reported by URL only.
origin:
  type: first-party
metadata:
  inspired_by:
    - repository: cursor/plugins
      path: cursor-team-kit/skills/fix-ci
      ref: 60c641e4fad674784b30abcf9f8915dea39df38d
      note: Iterative fix-one-failure-at-a-time loop, gh pr checks as source of truth, minimal safe fixes
---
# Fix Failing PR Checks

Inspect failing GitHub Actions checks on a PR with `gh`, fetch run logs, extract
a focused failure snippet, propose a fix plan before making any change, and iterate
until green.

## When to use

- A PR has red checks and the user asks to "fix CI", "debug the failing job",
  or "why is the build red".
- You need a fast triage of which jobs failed and the relevant log slice.
- Branch or PR CI is failing and needs a fast, iterative path to green checks.

## Prerequisites

- `gh` installed and authenticated (`gh auth status` exits 0).
  `doctor` reports this under Integrations.
- `python3` for the bundled analyzer.
- The current directory is inside the target Git repository (or pass `--repo`).

## Workflow

1. **Verify auth.** `gh auth status`. If unauthenticated, ask the user to run
   `gh auth login` (repo + workflow scopes typically required).
2. **Resolve the PR.** Defaults to the current branch's PR, or pass `--pr`.
3. **Inspect checks as source of truth.** Use `gh pr checks` as the source of
   truth for overall PR CI state (it includes all PR-attached checks, while
   `gh run list` only covers GitHub Actions):

   ```bash
   gh pr checks --json name,bucket,state,workflow,link
   ```

   For pending checks, `gh pr checks --watch --fail-fast`.
4. **Run the analyzer:**

   ```bash
   python3 ~/.local/share/agent-toolkit/skills/gh-fix-ci/scripts/inspect_pr_checks.py \
     --repo . --pr <number-or-url>
   ```

   - Add `--json` for machine-friendly output suitable for further processing.
   - Add `--max-lines <n>` / `--context <n>` to widen the snippet window.

   The script handles `gh pr checks` field drift, falls back to job-level logs
   when run-level logs are not yet available, and exits non-zero when failures
   remain (so it composes in CI / scripts).
5. **Scope external providers.** Any check whose `detailsUrl` is not a GitHub
   Actions run is reported as `external` with only the URL — do not attempt to
   fetch logs from Buildkite/CircleCI/etc. Use the check link to identify the
   failing command or service when logs are unavailable.
6. **Summarize.** For each failing check report: name, run URL, conclusion,
   workflow, branch/SHA, and the failure snippet (or "logs pending" if the run
   is still in progress). Identify the primary failing job and root error.
7. **Draft a plan.** Propose the fix as a short, numbered plan. **Do not edit
   files yet.** If the project has a planning skill (e.g. `planning`),
   delegate the plan structure to it.
8. **Implement after approval — one failure at a time.** Once the user approves
   the plan, apply the smallest safe fix. Prefer minimal, low-risk changes
   before broader refactors. Summarize the diff and delegate the push/PR-update
   step to `github-cli-workflow`.
9. **Recheck and iterate until green.** Re-run `gh pr checks` after each push;
   the check set can change. If checks already failed, diagnose those first; if
   pending, watch with `--watch --fail-fast`. Repeat steps 4-8 for the next
   actionable failure until all required checks are green. Suggest re-running
   relevant tests locally between iterations.

## Boundaries

- Read-only on CI; **never** rerun jobs or cancel workflows from this skill.
- Do not push commits — delegate to `github-cli-workflow`.
- Do not implement before explicit user approval of the plan.
- Fix one actionable failure at a time.
- If the failure is clearly unrelated to the PR and appears fixed on main, merge latest main instead of bloating the PR with unrelated fixes.

## Bundled resources

- `scripts/inspect_pr_checks.py` — failure analyzer (stdlib only). Returns text
  by default; `--json` for machine-readable output.

## Output

- Primary failing job and root error
- Fixes applied in iteration order
- Current CI status and next action

## Validation

- `skills check` reports the `gh` and `python3` requirements.
- `doctor` shows `gh auth status` under Integrations.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.