Agent skill

CI Fix Monitor

by ZaxbyHub in ZaxbyHub/opencode-swarm

Monitor CI on a PR, diagnose failures, fix them, and re-push until green.

MITAuto-check passedTesting & QA

Install CI Fix Monitor

skills CLI
$ npx skills add ZaxbyHub/opencode-swarm --skill ci-fix-monitor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ZaxbyHub/opencode-swarm ci-fix-monitor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/ci-fix-monitor .claude/skills/ci-fix-monitor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ci-fix-monitor
GitHub stars
494
Token cost
~2.3k tokens
SKILL.md length
1,130 words
Files
1
Skills in repo
91
Repo updated
First seen
Licence
MIT

At a glance

Monitor CI on a PR, diagnose failures, fix them, and re-push until green.

  • Works in 6 steps: Fetch current status → Classify each failure → Diagnose with logs → …
  • Tasks that involve Linting and formatting
  • SKILL.md covers Environment note — tool…, Step 1 — Fetch current status, Step 2 — Classify each failure and macOS file I/O fixes…, plus 5 more sections
  • Calls git, bunx and gh

What it does

CI Fix Monitor is an agent skill from ZaxbyHub/opencode-swarm. Monitor CI on a PR, diagnose failures, fix them, and re-push until green. Covers reading CI logs, classifying failure types (check-title, package-check, test failures, lint), determining the correct fix, and re-pushing.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Linting and formatting and Failing and flaky tests. It works with GitHub and Model Context Protocol. The repository describes itself as: Architect-centric agentic swarm plugin for OpenCode. Hub-and-spoke orchestration with SME consultation, code generation, and QA review. The licence is MIT.

When your agent uses it

  • Tasks that involve Linting and formatting
  • Tasks that involve Failing and flaky tests

Example prompts

  • “/ci-fix-monitor”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Fetch current status
  2. Classify each failure
  3. Diagnose with logs
  4. Fix
  5. Push and monitor
  6. Verify all green

What it can do on your machine

Read from SKILL.md and the folder at commit b63a4bd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • bunx
    • gh
    • bun
    • node
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, bunx, gh and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

CI Fix Monitor loads about 2.3k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,130 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ZaxbyHub/opencode-swarm at commit b63a4bd, republished under its MIT licence (© ZaxbyHub). 1,130 words, ~2,278 tokens.

Download SKILL.mdSave it as .claude/skills/ci-fix-monitor/SKILL.md (or your agent's skills folder).
name
ci-fix-monitor
description
Monitor CI on a PR, diagnose failures, fix them, and re-push until green. Covers reading CI logs, classifying failure types (check-title, package-check, test failures, lint), determining the correct fix, and re-pushing.
audience
swarm-plugin

CI Fix & Monitor Protocol

Activates when the user asks to monitor CI, fix CI failures, or resolve red checks on a PR.

Environment note — tool availability

This skill was originally written for desktop Claude Code (Windows) with gh CLI. In the remote execution / GitHub MCP environment, use the equivalent MCP tools instead:

| Capability needed | gh CLI | Example remote-MCP shape (resolve the real names via ToolSearch) | |---|---| | gh pr checks <number> | mcp__github__pull_request_read method get_check_runs | | gh pr view <number> --json checks | mcp__github__pull_request_read method get_check_runs | | gh run view <run-id> --job <job-id> --log | mcp__github__get_job_logs with job_id and return_content: true | | gh pr edit --title | mcp__github__update_pull_request with title | | gh pr view --json mergeable | mcp__github__pull_request_read method get |

MCP tool names are injected by the runtime harness and are NOT stable across environments. Treat the right-hand column as an example SHAPE only: resolve the actual tools by CAPABILITY (PR read with check-run support, job-log read, PR update) via ToolSearch before first use in a session — never assume a specific mcp__github__* name exists (issue #2131 finding 9).

Step 1 — Fetch current status

Fetch all check runs for the PR head commit. If all green: report success and stop.

Step 2 — Classify each failure

Failure typeRoot cause patternFix action
check-titlePR title lacks <type>(<scope>): prefixUpdate title via PR edit
package-checknpm tarball validation failed (source/build/package-manifest problem)Fix source/build/manifest — see section below. Not generated-file drift.
branch behind mainBranch is behind main; main had a release commit; CI uses merge-commit checkoutRebase onto main, force-push — see section below
lint/quality: formatCode style violations (long lines, spacing)bunx biome format --write <files> then commit
lint/quality: lintLint rule violations (noExplicitAny, etc.)bunx biome check --write <files> or fix manually
unit testTest failuresRead log, fix code, commit
integrationIntegration failuresRead log, check if pre-existing on main
macOS unit testCross-platform file I/O race (atomic write-then-read returns null on macOS)See "macOS file I/O fixes" below
securitySAST/secret findingsRead log, fix or suppress with justification
smokeSmoke test failuresRead log, check if environment-specific

macOS file I/O fixes (cross-platform atomic write)

macOS/APFS has different filesystem timing than Linux ext4. fs.renameSync can complete before the data is visible to subsequent reads. The most common manifestation is unit (macos-latest) failing on tests that write-then-read atomic files (e.g., curator atomic write > writeCuratorSummary > after write, readCuratorSummary reads file back successfully), while the same tests pass on ubuntu-latest and windows-latest.

Canonical patterns: See file:.opencode/skills/writing-tests/SKILL.md § Cross-Platform Requirements → "macOS rename-visibility race" for the full three-layer fix pattern (bunWrite + ENOENT retry + Node FileHandle.sync() not fsync()). This skill is a triage pointer; the canonical technical reference lives in writing-tests so it survives any regeneration of this generated/ file.

Related security test pattern: if the CI failure involves a long task ID or path, the security test ADVERSARIAL: Command Services Attack Vectors > Attack Vector 1: Malformed Arguments > EVIDENCE: extremely long task ID (buffer overflow) - ACCEPTED by regex but no crash requires a path length guard BEFORE validateSwarmPath in src/evidence/manager.ts:loadEvidence. See file:.opencode/skills/engineering-conventions/SKILL.md for the evidence file flow that this gate check triggers on macOS CI.

Step 3 — Diagnose with logs

For every failed check, fetch the full log content. Fetch only the tail (last 80–100 lines) unless the error is near the start.

Read the log carefully before concluding root cause. Distinguish between:

  • a failure introduced by this PR,
  • a pre-existing failure on main (verify by checking main's last CI run for the same check), and
  • a failure caused by the CI environment or branch drift.

Step 4 — Fix

check-title

No commit needed. Update the PR title.

package-check failure

package-check validates the npm tarball (npm pack + tarball contents). A failure is a source/build/package-manifest problem, not generated-file drift. dist/ is generated and NOT committed — do not stage it. Run bun run build locally only when you need the bundle to verify the failure:

bash
bun run build
node --input-type=module -e "await import('./dist/index.js'); console.log('dist import OK')"

Fix the underlying source/build/package.json files manifest issue, then commit the source fix (not dist/) and push.

Show full SKILL.md (481 more words)Show less
branch behind main (version drift)

Identifying this case: A version string differs (version: "X.Y.Z" changed to a higher version) because main had a release commit after the branch was cut, and GitHub Actions checks out the merge-commit for CI. Rebase onto main to pick up the release commit.

Fix:

bash
git fetch origin main
git rebase origin/main       # fast-forward the branch onto the release commit
# If the rebase halts with conflicts, run `git rebase --abort` and escalate
# to the user — do not attempt to resolve a conflicted rebase automatically.
git push --force-with-lease origin <branch>   # force-push is required after rebase

--force-with-lease is safe here: it refuses to overwrite commits that appeared on the remote after your last fetch. After the rebase, the local branch has diverged from remote history — a regular push will be rejected.

  • Do NOT stage or commit dist/ — it is generated and NOT committed; there is no committed-dist drift check
  • After a rebase, a force-push is required and expected — do not try a regular push
lint/quality: format violations

Biome format violations (line too long, spacing, bracket style) — these can appear when a code change introduces a line that exceeds Biome's print-width. Auto-fix only the changed files to minimize noise:

bash
bunx biome format --write src/path/to/changed-file.ts
bun test src/path/to/changed-file.test.ts   # verify tests still pass after format
git add <files>
git commit -m "style: apply Biome formatting"
git push origin <branch>

Do NOT run bunx biome format --write . on the entire repo unless instructed — this can introduce formatting changes in unrelated files and bloat the diff.

lint/quality: lint rule violations
bash
bunx biome check --write <specific-file>
# or fix manually if --write does not handle the rule
integration failures

Check whether the same check failed on main's last CI run before treating it as PR-introduced. If pre-existing: document the finding and skip. If introduced by this PR: collect the full failure log, the test name, and the first error line, then delegate to a coder with that evidence.

security (SAST/secret findings)

Fetch the full log. If it is a secret/credential finding: confirm the file and line, remove or rotate the credential, and commit the fix. If it is a SAST code-quality finding: collect the rule ID, file, and line, then delegate to a coder. Do NOT suppress findings without an explicit justification comment approved by the user.

unit test / smoke failures

Delegate to coder with specific failure details (test name, assertion, first error line). See execute skill.

Step 5 — Push and monitor

After pushing, subscribe to PR activity (if in webhook/MCP context) and wait for the next CI event rather than polling. Do not push a second time until the CI result from the first push is confirmed.

If no CI event arrives after a reasonable wait (e.g., checks are still queued and stalled), re-fetch check status manually via get_check_runs and report the stall state to the user rather than waiting indefinitely.

Step 6 — Verify all green

Do NOT declare victory until ALL required checks pass. A check in skipped state is acceptable only if the same check was skipped on the base branch (i.e. the workflow gates on a path filter). Confirm this explicitly.

Standalone retry bound

When this skill is invoked directly (not composed via swarm-ci-monitor's own 5-iteration counter), cap fix-push cycles at 5 iterations. If the PR is still not green after 5 fix-push cycles, stop and escalate to the user with the last failing check and a short log excerpt rather than looping indefinitely.

© ZaxbyHub, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .opencode/skills/ci-fix-monitor of ZaxbyHub/opencode-swarm.

Open the folder on GitHubat commit b63a4bd

Compare with similar skills

CI Fix Monitor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

CI Fix Monitor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
CI Fix Monitor this skillZaxbyHub/opencode-swarm494—~2.3kAutomated safety check: PassMIT
Babysit PRZenUml/web-sequence150—~871Automated safety check: PassMIT
Unblock PRdatadog-labs/agent-skills177—~2.7kAutomated safety check: PassMIT
Code Reviewnteract/semiotic2.7k—~1.5kAutomated safety check: PassApache-2.0
Debug Os Failure On GitHubstrands-agents/box315—~1.3kAutomated safety check: NotesApache-2.0
Search Firstaffaan-m/ECC276k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Babysit PR

    ZenUml/web-sequence

    Monitor and diagnose GitHub Actions checks on ZenUML web-sequence PRs, fixing code-caused CI failures when appropriate.

    150 GitHub stars~871 tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Unblock PR

    datadog-labs/agent-skills

    Load when investigating a failing PR CI pipeline or checking PR health.

    177 GitHub stars~2.7k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Code Review

    nteract/semiotic

    Review Semiotic pull requests for behavioral bugs, regressions, contract drift, and missing evidence.

    2.7k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Debug Os Failure On GitHub

    strands-agents/box

    Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt.

    315 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Search First

    affaan-m/ECC

    コーディング前の調査ワークフロー。カスタムコードを書く前に既存のツール、ライブラリ、パターンを検索します。researcher エージェントを呼び出します。

    276k GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Authoring CI Workflows

    PostHog/posthog

    Official

    A skill your agent uses when adding or editing a GitHub Actions workflow, composite action, or reusable workflow under .github/ — new CI jobs, triggers, matrices, checkout/clone tuning, action…

    40k GitHub stars~12k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from ZaxbyHub/opencode-swarm

All 91 skills in this repo
  • Codebase Review Swarm

    ZaxbyHub/opencode-swarm

    Runs an evidence-gated, quote-grounded audit of a codebase for security, QA, accessibility, performance and more, and writes a verified report without changing source files.

    496 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Issue Tracer

    ZaxbyHub/opencode-swarm

    Drives a bug report from validation and root-cause tracing through a critic-reviewed plan, an approved minimal fix and a PR-ready closure, never merging without recorded human approval.

    496 GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Commit and PR Publishing for Codex

    ZaxbyHub/opencode-swarm

    Codex adapter for opencode-swarm that governs commits, pushes, draft PRs, PR body updates and CI closeout, deferring to the repo's canonical commit-pr protocol.

    496 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Durable Session State

    ZaxbyHub/opencode-swarm

    Keeps plans, decisions, evidence and reviewer verdicts in small files so long multi-phase tasks survive context compaction and session resumes.

    496 GitHub stars~896 tokensUpdated today
    Auto-check passed
  • Swarm PR Feedback Closer

    ZaxbyHub/opencode-swarm

    Ingests existing pull request feedback such as review comments and CI failures, verifies each claim, fixes confirmed issues and reports closure status for every item.

    496 GitHub stars~14k tokensUpdated today
    Auto-check passed
  • Swarm PR Subscribe

    ZaxbyHub/opencode-swarm

    Monitor a pull request after creation and act autonomously on pushed PR activity.

    496 GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Questions about CI Fix Monitor

What does CI Fix Monitor do?

Monitor CI on a PR, diagnose failures, fix them, and re-push until green. CI Fix Monitor is an agent skill from ZaxbyHub/opencode-swarm. Monitor CI on a PR, diagnose failures, fix them, and re-push until green.

When should I use CI Fix Monitor?

CI Fix Monitor fits situations like: tasks that involve Linting and formatting; tasks that involve Failing and flaky tests.

How do I install CI Fix Monitor in Claude Code?

Run `npx skills add ZaxbyHub/opencode-swarm --skill ci-fix-monitor -a claude-code`. Or copy the skill folder (.opencode/skills/ci-fix-monitor in ZaxbyHub/opencode-swarm) into .claude/skills/ci-fix-monitor in your project. Claude Code loads it when a task matches its description.

How do I install CI Fix Monitor in Codex?

Run `npx skills add ZaxbyHub/opencode-swarm --skill ci-fix-monitor -a codex`. Or copy the skill folder (.opencode/skills/ci-fix-monitor in ZaxbyHub/opencode-swarm) into .agents/skills/ci-fix-monitor in your project. Codex loads it when a task matches its description.

Can I use CI Fix Monitor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZaxbyHub/opencode-swarm --skill ci-fix-monitor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci-fix-monitor, .gemini/skills/ci-fix-monitor, .github/skills/ci-fix-monitor and .opencode/skills/ci-fix-monitor in your project.

What does CI Fix Monitor need to run?

Going by SKILL.md and its folder, CI Fix Monitor needs the command-line tools its instructions call (git, bunx, gh, bun, node and npm).

Does CI Fix Monitor access the network?

SKILL.md contains no URLs. Its commands use git, gh and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is CI Fix Monitor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does CI Fix Monitor use?

CI Fix Monitor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does CI Fix Monitor use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to CI Fix Monitor?

Skills that share tags, products or a category with CI Fix Monitor: Babysit PR (ZenUml/web-sequence, 150 stars), Unblock PR (datadog-labs/agent-skills, 177 stars), Code Review (nteract/semiotic, 2.7k stars) and Debug Os Failure On GitHub (strands-agents/box, 315 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains CI Fix Monitor?

ZaxbyHub (a GitHub organization) maintains it in ZaxbyHub/opencode-swarm, which has 494 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on October 10, 2026.

Source: ZaxbyHub/opencode-swarm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.