Borrowing it
Nothing to install: this file belongs to Oolab-labs/patchwork-os. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Oolab-labs/patchwork-os/main/.claude/commands/fix-ci.mdgit clone --depth 1 https://github.com/Oolab-labs/patchwork-osWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/oolab-labs/patchwork-os/fix-ci)<a href="https://agentmods.dev/commands/oolab-labs/patchwork-os/fix-ci"><img src="https://agentmods.dev/badge/commands/oolab-labs/patchwork-os/fix-ci/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/oolab-labs/patchwork-os/fix-ci"><img src="https://agentmods.dev/badge/commands/oolab-labs/patchwork-os/fix-ci.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00010 | $0.00506 |
| Opus 5.5 | $0.00004 | $0.00202 |
| Sonnet 5.5 | $0.00002 | $0.00101 |
| Haiku 4.5 | $0.00001 | $0.00051 |
Grade A, and why
fix-ci 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 1mo 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.
What it actually says
Fix Failing CI
Diagnose the failing CI run $1 (a workflow run id, or a PR number whose checks are red — if omitted, use the most recent failing run on the current branch).
Step 1: Locate the Failing Run
If $1 is a PR number, call githubViewPR to find its check runs. Otherwise
call githubListRuns and pick the most recent failure on the current branch.
Report the run id and which job(s) failed.
Step 2: Pull the Logs
Call githubGetRunLogs for the failing run. Identify the failing step and the
first real error — not downstream noise. Common failure shapes in this repo:
- typecheck —
tsc -p tsconfig.tests.core.jsonis stricter than vitest (noUnusedLocals); import-path errors slip past local vitest runs. - biome — run
getDiagnosticsto reproduce; nevernpx biomeblindly. - vitest — coverage gates are 75% lines / 70% branches / 75% functions.
- property tests — may pass locally and fail in CI on a different seed; pin the failing seed from the CI output.
- Windows CI —
stat.modeasserts fail on NTFS; platform-guard them.
Step 3: Reproduce Locally
Reproduce the failure with the equivalent bridge tool — runTests,
getDiagnostics (replaces tsc/eslint/biome) — NOT raw shell. Confirm you see
the same error before proposing anything.
Step 4: Propose the Fix
If the failure is a genuine bug, follow the Bug Fix Protocol: write a failing test first, then fix. If it is a flake (seed-dependent property test, etc.), pin the seed or tighten the generator. Present the diff to the user for approval before committing.
Step 5: Report to User
Show: the failing job, the root-cause error, whether it reproduced locally, and the proposed fix (or the failing test, if a fix needs approval first).
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.
- 1mo ago First seen · 49 lines · 10 tokens per session scan A 9d1e80ba6e98
fix-ci is a command published in the GitHub repository Oolab-labs/patchwork-os (31 stars, last pushed today), licensed MIT. It adds 10 tokens to every session and 506 once invoked, about $0.0000 per session on Opus 5.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.
Other commands, from other repositories
workflow-automate
Automate CI/CD pipelines, releases, and development workflows with GitHub Actions, pre-commit hooks, and infrastructure automation.
publish
Publish oh-my-opencode to npm via GitHub Actions workflow.
deploy
Deploy application with pre/post-deploy checks.
watch-ci
Spawn a background Haiku-backed subagent to watch CI for the current branch (or specified target). Provider-agnostic — the subagent inspects project signals to identify the CI system (GitHub Actions, GitLab CI, CircleCI, etc.) and picks the right CLI. Returns immediately; reports back when CI reaches a terminal state.
land-and-deploy
Merge PR, wait for CI, verify deploy, run canary — the complete landing pipeline.
ccc-makeover
Score project health with X-Ray, apply the top recommendations in impact order with your OK for each, and show the before and after score. Use when you want the highest-impact project health fixes applied and measured.