Openspec Plus TDD
elastic/terraform-provider-elasticstack
MANDATORY skill that activates whenever code is written to implement an OpenSpec change task.
End-to-end CI monitor that takes an already-human-reviewed PR, exhaustively researches every CI failure, fixes it end-to-end, iterates until all required checks are green (max 5 fix cycles), then…
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .claude/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.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/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .claude/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .agents/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .agents/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .cursor/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .cursor/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ZaxbyHub/opencode-swarm.git --path .opencode/skills/swarm-ci-monitor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .gemini/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .gemini/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .github/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .github/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZaxbyHub/opencode-swarm swarm-ci-monitor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.opencode/skills/swarm-ci-monitor .opencode/skills/swarm-ci-monitor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "swarm-ci-monitor" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.opencode/skills/swarm-ci-monitor into .opencode/skills/swarm-ci-monitor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-ci-monitor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
swarm-ci-monitorEnd-to-end CI monitor that takes an already-human-reviewed PR, exhaustively researches every CI failure, fixes it end-to-end, iterates until all required checks are green (max 5 fix cycles), then…
Swarm CI Monitor is an agent skill from ZaxbyHub/opencode-swarm. End-to-end CI monitor that takes an already-human-reviewed PR, exhaustively researches every CI failure, fixes it end-to-end, iterates until all required checks are green (max 5 fix cycles), then merges. Use only after human review is complete and the PR is approved. Composes ci-fix-monitor for failure-type-specific fix recipes. This is the first skill in the repo that executes a merge — invoke it deliberately.
Its SKILL.md is about 4.9k 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 Failing and flaky tests and End-to-end testing. 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b63a4bd. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Swarm CI Monitor loads about 4.9k tokens when it runs. Until then it costs about 108 tokens; SKILL.md has 2,852 words of instructions outside code blocks.
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.
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.
The full file from ZaxbyHub/opencode-swarm at commit b63a4bd, republished under its MIT licence (© ZaxbyHub). 2,852 words, ~4,932 tokens.
.claude/skills/swarm-ci-monitor/SKILL.md (or your agent's skills folder).Drives a reviewed-and-approved PR to a merged state by monitoring its CI,
exhaustively researching every failure, fixing it end-to-end, and iterating
until all required checks are green — then merging via gh pr merge with no
merge-strategy flag, so it works correctly whether the base branch merges
directly or requires a merge queue (see Step 4).
This is not a fresh review skill and not a PR-creation skill. It is the terminal closeout hop for a PR that is already approved and just needs to get green and merge. It is the first skill in opencode-swarm that performs a merge, so it carries extra safety gates.
Human review is already complete. Do not run this skill on a PR that has not been reviewed and approved. The pre-flight gates below enforce this, but the invoking user is the source of truth: only invoke after review is done.
Load these skills before doing anything destructive (push / merge):
file:.swarm/bundled-skills/ci-fix-monitor/SKILL.md — for failure
classification and the per-type fix recipes (package-check, rebase,
format/lint, macOS file I/O, integration, security, smoke). Do not re-derive
these recipes here; ci-fix-monitor owns them.../commit-pr/SKILL.md — before any push, for the commit/push discipline.The "do not declare victory until ALL required checks pass" rule is inherited from ci-fix-monitor. Three rules are deliberately re-inlined below, rather than referenced only, because this skill owns a merge gate and must not depend on ci-fix-monitor's generated file being regenerated unchanged: the "skipped only if skipped on base" rule (Step 2a), the quarantine file-level-only rule (Step 2b), and the BEHIND-branch rebase's conflict-abort discipline (Step 1 gate 3, quoting ci-fix-monitor's own rebase recipe verbatim). Everything else — including the specific fix recipes for each failure type — stays owned by ci-fix-monitor; do not re-derive it here.
The canonical uses the gh CLI. In remote/MCP environments, use the equivalent
MCP tools and verify availability first:
| Capability needed | gh CLI | Example remote-MCP shape (resolve the real names via ToolSearch) |
|---|---|
| gh pr checks <N> | mcp__github__pull_request_read method get_check_runs |
| gh pr view <N> --json mergeable,mergeStateStatus,reviewDecision | mcp__github__pull_request_read method get |
| gh run view <run> --log | mcp__github__get_job_logs with job_id, return_content: true |
MCP tool names are injected by the harness and are NOT stable across environments. The right-hand column is an example SHAPE only: resolve tools by CAPABILITY (PR read, job-log read) via
ToolSearchbefore first use — never assume a specificmcp__github__*name exists (issue #2131 finding 9).
Abort and report if any gate fails. Do not auto-fix pre-flight failures — they mean the skill should not have been invoked yet.
reviewDecision: APPROVED. Every required reviewer approved. If not →
abort with "human review not complete." This skill does not negotiate
reviews.mergeable: MERGEABLE and mergeStateStatus is CLEAN or BEHIND.git rev-parse --abbrev-ref HEAD, or
gh pr checkout <N> first) — git rebase operates on whatever is
currently HEAD. If the working tree is dirty, git rebase will refuse to
start (no data loss) — commit or stash per commit-pr's Step 0 hygiene
before retrying.BEHIND → rebase onto main via ci-fix-monitor's rebase recipe
(git fetch origin main && git rebase origin/main, abort+escalate on
conflict, git push --force-with-lease origin <branch>). Then re-run this
gate.BLOCKED, DIRTY, HAS_HOOKS_FAILURE, or any other state → abort and
report the exact mergeStateStatus.Only after all three gates pass, enter the loop.
Maintain an iteration counter starting at 5 (decremented at the end of each fix-push cycle, in 2g — this is a hard safety gate, not a soft target). At 0, stop (Step 5). This loop can span multiple CI runs and several minutes per iteration; if the session may compact mid-loop, record the remaining count in the active durable task/plan checkpoint and reload it on resume. Never reset the counter to 5 after compaction.
Determine green state by these rules (re-stated here so this merge gate does not depend on ci-fix-monitor's generated file being regenerated unchanged):
gh pr checks <N> (or the MCP equivalent) marks
each check required or not, per the branch-protection rule. A check blocks
merge only if it is required AND not green. A non-required check in any
state does not block merge.skipped is acceptable only if the same check was skipped on the base
branch (i.e. the workflow gates on a path filter that excludes this PR's
changed paths). Verify by fetching the base branch's last CI run for the
same check. A required check that is skipped but was NOT skipped on base
is a path-filter regression — treat as non-green, do not merge. If the check
does not exist at all in base's last CI run (a newly-added required check),
treat skipped as non-green too — there is no base-line evidence it's a
legitimate path-filter skip.neutral / action_required required checks are non-green.If all required checks are green (per the above) → go to Step 3. Otherwise continue.
Use ci-fix-monitor's failure-type table. Then apply the flaky-vs-real filter:
This repo has four quarantine files, each consumed by a different CI job/step — pick the one matching where the flake actually failed:
| Quarantine file | Consumed by |
|---|---|
scripts/ci/quarantined-tests.txt | unit (all OSes) + coverage (ubuntu) |
scripts/ci/quarantined-tests-macos.txt | unit on macOS runner only |
scripts/ci/quarantined-tests-windows.txt | unit on Windows runner only |
scripts/ci/quarantined-integration-tests.txt | the merge_group-only integration step — never reads the base file above |
Using the wrong file is a real failure mode, not a formality: appending an OS-specific flake to the base file over-broadly hides it on every platform instead of just the failing one; appending an integration-only flake to the base file is a silent no-op (the integration step never reads that file), leaving the check red and burning iterations toward the 5-cycle cap for nothing. Each of the four files quarantines whole test files, one repo-relative path per line — none of them can quarantine a single named test case inside a shared file.
test.skip(...) / test.if(...) and escalate.>, or any non-path token into
a quarantine file. Note this covers more than obviously-malformed tokens: a
syntactically valid but wrong path (typo, wrong case, wrong directory) is
silently ignored in exactly the same way — always copy the exact
repo-relative path, don't retype it.scripts/ci/run-coverage-gate.sh's threshold before and after; a quarantine
can flip a previously-passing coverage gate to failing.Do not source-patch a flake under time pressure. If unsure whether a failure is
a flake or a real regression, check whether the same check failed on main's
last CI run; if it did, the failure is pre-existing and should be reported,
not fixed as if this PR introduced it.
Before pushing:
git rev-parse HEAD (local) and the remote head SHA for the branch.git rebase --abort
and escalate per Step 5 — never attempt to auto-resolve a conflicted
rebase (same discipline as Step 1 gate 3's rebase: a bad automatic
resolution here would silently discard a collaborator's committed work
before the force-push, which --force-with-lease does not protect
against). Never force-push over a collaborator's commit.
--force-with-lease is the only force-push allowed (rebase path),
precisely because it refuses to overwrite a remote that moved. A
race-abort does not consume a fix-cycle iteration (Step 2g) — no fix was
applied, so nothing to decrement — it is bounded solely by the counter
below. If a race-abort recurs 3× without progress (a sustained
concurrent-push storm), escalate per Step 5 as a concurrent-push terminal
rather than loop.Do not surface-fix a symptom. Before writing the fix:
main (fetch main's last CI run
for the same check).Apply ci-fix-monitor's recipe for the classified failure type. Use commit-pr's push discipline for the commit and push.
Do not push a second time until the prior push's CI result is confirmed. CI runs against a specific SHA; a second push before the first settles creates ambiguity about which run is authoritative.
Decrement the iteration counter. If 0 → stop (Step 5). Otherwise loop to 2a.
Defense-in-depth re-reads. These share the GitHub API transport, so they are not independent of Step 2's fetch — they catch stale-state merges against a single upstream, not against a total API outage. The genuinely independent gate is Step 4b. Run this step fresh every time control reaches Step 4 — including after a Step 2 loop-back — never skip it because an earlier pass already ran once in this invocation.
gh run rerun --failed for the
transient/failed run, or wait and re-fetch at most 3× (~1 min apart); if
still stale after that, escalate per Step 5. Never merge on a stale-green
check. This is the one failure type Step 2's fix loop can actually address
— on failure, go back to Step 2 (counts as a new iteration against the
budget); abort per Step 5 if the budget is exhausted.mergeable: MERGEABLE + mergeStateStatus: CLEAN (a base push
or merge-queue entry can change this between green-detection and merge). If
this regresses, Step 2 has no mechanism to fix a mergeable-state
regression — escalate directly per Step 5 as a "base not green" terminal,
do not loop back to Step 2.reviewDecision: APPROVED (a reviewer can un-approve). If
un-approved, Step 2 has no mechanism to re-obtain approval — escalate
directly per Step 5 as an "un-approval" terminal, do not loop back to
Step 2.Optional pre-queue simulation: file:.swarm/bundled-skills/merge-queue-readiness/SKILL.md
covers running /swarm ci-simulate before entering a merge queue. It is a
fast local signal, not a substitute for this step's live re-checks above —
run it in addition to, never instead of, Step 3.
gh pr merge <N>--squash, --merge, or
--rebase. Per gh pr merge --help: "When targeting a branch that requires
a merge queue, no merge strategy is required" — this skill must work
correctly whether or not the base branch requires a merge queue, so let
branch protection determine the method rather than assuming squash.
contributing.md's merge-queue/merge-commit guidance may describe a different (or
stale) configuration for a given deployment of this repo; do not assume it
applies without checking the actual outcome below.--admin. Never bypass required checks, review, or a merge queue.
If branch protection does not permit the invoking user to bypass, --admin
simply fails — do not use it as a workaround for a stuck merge.--delete-branch. The repo has no branch-deletion convention; do not
invent one.gh pr merge produces one of three outcomes on a branch with required checks:
gh pr merge reports the PR was added to
the queue, not merged directly. This is not a failure. GitHub re-runs
the required workflows against the queued change on top of the current base
(and any earlier-queued PRs) before merging; there is no commit SHA yet.
Poll gh pr view <N> --json state,mergedAt,mergeCommit,mergeStateStatus
every 1-2 minutes. Do not apply 4b's short mismatch-retry window to this
state — a queue entry can legitimately take several minutes to tens of
minutes while it re-runs required workflows from scratch. Escalate as a
"queue timeout" terminal (distinct from "post-merge mismatch") only after
90 minutes with no resolution. Once state == "MERGED", take
mergeCommit.oid as the merge SHA and proceed to 4b.CLEAN; an error here means state changed
under you and must be investigated, not papered over with a retry.If the output is ambiguous — no recognizable success, queue, or error signal
(a timeout or truncated response) — do not re-issue gh pr merge. Run 4b's
local-git check first: if the base tip already reflects a merge, treat it as
case 1/2 above; if not, treat the ambiguous response as an error per case 3.
Confirm the merge via a different system than the GitHub API — the local git object DB — so this gate does not share the stale-fetch failure mode of Steps 2 and 3:
git fetch origin <base-branch>
git rev-parse origin/<base-branch>The merge SHA captured in 4a (case 1 or case 2) must equal
origin/<base-branch>. The GitHub API can report state: MERGED under
eventual-consistency lag; the local object DB cannot lie — once fetched, the
commit either is or is not the base tip.
gh pr merge (or the queue) reported success but the fetched base tip
does not match → wait and re-fetch at most 2 more times (~1 min apart) to
absorb eventual-consistency lag. Do not issue a second gh pr merge — a
double-merge attempt is itself an error state. If the base tip still does
not match after those re-fetches, escalate per Step 5 as a post-merge
mismatch terminal; do not loop further.On any non-merge terminal, report:
Do not silently exit on a failure. Every non-merge exit is an escalation.
Ignore these thoughts; they are shortcuts that cause broken merges:
test.skip + escalate; never source-patch under time pressure.--force-with-lease only; abort on race.git rebase --abort and escalate — never auto-resolve a conflicted rebase,
in Step 1 gate 3 or Step 2c.© ZaxbyHub, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .opencode/skills/swarm-ci-monitor of ZaxbyHub/opencode-swarm.
Open the folder on GitHubat commit b63a4bd
Swarm CI 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Swarm CI Monitor this skillZaxbyHub/opencode-swarm | 494 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Openspec Plus TDDelastic/terraform-provider-elasticstack | 210 | 1 repos | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Fix E2E Testsplatformplatform/PlatformPlatform | 441 | — | ~1.2k | Automated safety check: Notes | MIT | |
| Mobile App Testingsecondsky/claude-skills | 227 | — | ~643 | Automated safety check: Pass | MIT | |
| Cucumber and Playwright E2E Testslanggenius/dify | 158k | — | ~682 | Automated safety check: Pass | Custom licence | |
| Debugging Opik E2E Testscomet-ml/opik | 22k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 |
elastic/terraform-provider-elasticstack
MANDATORY skill that activates whenever code is written to implement an OpenSpec change task.
platformplatform/PlatformPlatform
Systematically fix all failing E2E tests using a phased diagnostic approach.
secondsky/claude-skills
Mobile app testing with unit tests, UI automation, performance testing.
langgenius/dify
Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.
comet-ml/opik
Investigates a failed Opik end-to-end test from CI, TestOps or a local run, decides regression versus flake, and proposes a fix without editing tests.
rebornix/Agmente
Run and debug Agmente iOS end-to-end tests against a real local Codex CLI app-server instance.
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.
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.
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.
ZaxbyHub/opencode-swarm
Keeps plans, decisions, evidence and reviewer verdicts in small files so long multi-phase tasks survive context compaction and session resumes.
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.
ZaxbyHub/opencode-swarm
Monitor a pull request after creation and act autonomously on pushed PR activity.
Categories
End-to-end CI monitor that takes an already-human-reviewed PR, exhaustively researches every CI failure, fixes it end-to-end, iterates until all required checks are green (max 5 fix cycles), then…. Swarm CI Monitor is an agent skill from ZaxbyHub/opencode-swarm. End-to-end CI monitor that takes an already-human-reviewed PR, exhaustively researches every CI failure, fixes it end-to-end, iterates until all required checks are green (max 5 fix cycles), then merges.
Swarm CI Monitor fits situations like: tasks that involve Failing and flaky tests; tasks that involve End-to-end testing.
Run `npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a claude-code`. Or copy the skill folder (.opencode/skills/swarm-ci-monitor in ZaxbyHub/opencode-swarm) into .claude/skills/swarm-ci-monitor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-monitor -a codex`. Or copy the skill folder (.opencode/skills/swarm-ci-monitor in ZaxbyHub/opencode-swarm) into .agents/skills/swarm-ci-monitor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZaxbyHub/opencode-swarm --skill swarm-ci-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/swarm-ci-monitor, .gemini/skills/swarm-ci-monitor, .github/skills/swarm-ci-monitor and .opencode/skills/swarm-ci-monitor in your project.
Going by SKILL.md and its folder, Swarm CI Monitor needs the command-line tools its instructions call (gh and git).
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Swarm CI Monitor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Swarm CI Monitor: Openspec Plus TDD (elastic/terraform-provider-elasticstack, 210 stars), Fix E2E Tests (platformplatform/PlatformPlatform, 441 stars), Mobile App Testing (secondsky/claude-skills, 227 stars) and Cucumber and Playwright E2E Tests (langgenius/dify, 158k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.