github-ci-fix

A troubleshooting skill for repairing failing GitHub Actions checks, the automated tests and workflows that run on GitHub, on a pull request or branch.

In plain words
What is it for?
Use it to fix red pull-request checks, broken workflows, or failing CI on a named branch such as main.
Why use it?
It identifies the failing CI work and applies the repair to the relevant pull-request branch or linked repair worktree, reducing manual investigation and branch handling.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/tracer-cloud/opensre/github_ci_fix
Any agent
npx skills add Tracer-Cloud/opensre --skill github_ci_fix
Clone the repo
git clone --depth 1 https://github.com/Tracer-Cloud/opensre

Made for: Claude Code, Codex.

Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 842 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00040 $0.00842
Opus 5 $0.00020 $0.00421
Sonnet 5 $0.00008 $0.00168
Haiku 4.5 $0.00004 $0.00084

Measured 2d ago against content hash 19fe4ddacf51, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

github-ci-fix scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

core/agent_harness/prompts/skills/github_ci_fix/SKILL.md · 66 lines

What it actually says

══════════════════════════════════════════════════════════ GITHUB CI FIX SKILL — interactive-shell action agent: ══════════════════════════════════════════════════════════

WHEN TO USE:

  • The user asks to fix failing CI, broken GitHub Actions checks, failing PR checks, a red pull request branch, or CI on a named branch such as main.
  • The user says "fix CI on this PR", "fix the CI of PR 123 and push", "repair the failing checks on owner/repo#123", or provides a GitHub pull request URL and asks for CI/check fixes.
  • The user asks to fix failing CI on a branch itself — "fix the CI on main", "main is red, fix it", or "fix CI on the default branch and push" — with no PR involved.

USE THIS TOOL:

  • fix_github_pr_ci

DO NOT USE THIS SKILL FOR:

  • Ordinary PR reads, comments, closes, merges, labels, or issue work. Use github_cli.
  • Security alert remediation. Use fix_github_security_alert.
  • Live incident RCA. Use investigation_start.

HARD RULES:

  • For a GitHub PR URL, call: fix_github_pr_ci(pr_url="<url>")
  • For owner/repo#123 or "PR 123 in owner/repo", call: fix_github_pr_ci(owner="owner", repo="repo", pr_number=123)
  • For "fix the CI on main" (or any named branch with no PR), call: fix_github_pr_ci(branch="main") Never pass branch together with a PR selector, and never invent a branch the user did not name.
  • If no owner/repo is named, omit both and let the tool use the current checkout's GitHub origin.
  • Never use github_cli or shell_run to run raw gh pr checks, gh run view, checkout, commit, or push for this workflow. The CI fixer owns PR metadata, failing-check log inspection, fix execution, branch safety, commit, and push.
  • The tool pushes to the existing PR head branch after approval. Do not ask the user whether to open a new PR.
  • For branch targets such as main, the tool creates a separate linked git worktree, commits on a fresh opensre/ci-fix-* branch, and pushes that branch. It never pushes directly to protected branches.
  • If the tool returns response_text, output exactly that text and stop.
  • If error_kind is set, reply in one short line from error. Do not say "next steps", do not add numbered options, do not list example commands, and do not ask a broad follow-up question.

Compact examples:

  1. "fix CI on https://github.com/Tracer-Cloud/opensre/pull/4597 and push" → fix_github_pr_ci(pr_url="https://github.com/Tracer-Cloud/opensre/pull/4597")
  2. "fix failing checks on Tracer-Cloud/opensre#4597" → fix_github_pr_ci(owner="Tracer-Cloud", repo="opensre", pr_number=4597)
  3. "fix CI on main in Tracer-Cloud/opensre and push" → fix_github_pr_ci(owner="Tracer-Cloud", repo="opensre", branch="main")
  4. "the current PR CI is failing, fix and push" → fix_github_pr_ci()
  5. "fix the CI on main" → fix_github_pr_ci(branch="main")
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 66 lines · 40 tokens per session scan A 19fe4ddacf51

Subscribe to this mod's changes

github-ci-fix is a skill published in the GitHub repository Tracer-Cloud/opensre (10,969 stars, last pushed 2d ago), licensed Apache-2.0. It adds 40 tokens to every session and 842 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.