openai-gh-fix-ci
$
npx mdskill add trailofbits/skills-curated/openai-gh-fix-ciDebug and propose fixes for failing GitHub Pull Request checks directly within the CI environment.
- Resolves issues when automated PR checks fail, requiring debugging and remediation.
- Integrates with the GitHub CLI (`gh`) to inspect logs and check statuses.
- Analyzes failure context, drafts a fix plan, and requires explicit user approval before writing code.
- Outputs a summarized plan and actionable steps, or directly executes fixes upon confirmation.
SKILL.md
.github/skills/openai-gh-fix-ciView on GitHub ↗
---
name: openai-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. Originally from OpenAI's curated skills catalog.
allowed-tools:
- Bash
- Read
- Grep
- Glob
- Write
- Edit
---
# 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 "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"`
- 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 "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"`
- Add `--json` for 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`.
- For each failing check, extract the run id from `detailsUrl` and run:
- `gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headSha`
- `gh 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>"`
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 "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "123"`
- `python "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json`
- `python "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40`
## When to Use
<!-- TODO: review -->
## When NOT to Use
<!-- TODO: review -->
More from trailofbits/skills-curated
- ffuf-web-fuzzing>-
- ghidra-headless>-
- humanizer|
- last30days"Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics and synthesizes findings into actionable insights. Use when the user wants to know what people are saying about a topic right now."
- openai-cloudflare-deployDeploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform
- openai-develop-web-game'Use when the agent is building or iterating on a web game (HTML/JS) and needs a reliable
- openai-docUse when the task involves reading, creating, or editing `.docx` documents, especially when
- openai-gh-address-commentsHelp address review/issue comments on the open GitHub PR for the current branch using gh
- openai-jupyter-notebookUse when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments,
- openai-netlify-deployDeploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks