qa-swarm
Take a PR to review-ready with a cross-model reviewer panel, and review draft specs for overengineering.
Skill by Silthus
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/silthus-qa-swarm
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/qa-swarm
What's inside
- Skill name
qa-swarm- Description
- Take a PR to review-ready with a cross-model reviewer panel, and review draft specs for overengineering. Use when the user asks for a QA swarm, when the diff touches a merge-risk danger area, or before a spec is published.
- License
- MIT
- Instructions
- 206 lines in SKILL.md · view on GitHub
Files (5)
- PANEL.md
- PROOF.md
- SKILL.md
- SPEC.md
- TRIAGE.md
SKILL.md (first lines)
# QA swarm The swarm takes a branch to a draft PR that the user can merge after one read. The bar: the user finds nothing that a reviewer, a review bot, or CI would have found. Fresh reviewers from two model families review the change, you fix what holds, and a second, narrow round reviews your fixes. Later fixes get final reads until one comes back clean. Past two rounds or two final reads, an **arbiter** decides whether the next review runs, so the user decides only when reviewers contradict each other or the loop stops converging. For a draft spec, run the [spec pass](SPEC.md) instead of the steps below. ## Rules - **Fresh eyes.** Every reviewer is a new agent that did not see the build. You frame, triage, and fix. A fix you push is new code, and the next round reviews it cold. - **Two model families.** Every panel runs the review lane on the other family and the fresh-eyes lane on the author's family, because they miss different things. A finding from both carries more weight. - **Claims are hypotheses.** Check every finding against the code at HEAD before you act on it, whoever raised it. - **Observe.** A green test suite is test evidence. A proof is something you ran and watched in the running system, per [`PROOF.md`](PROOF.md). - **Scope.** The PR's goal is the scope. A real problem outside it is a follow-up. - **Draft.** The PR stays a draft. The user reads the code and marks it ready for review. - **Comments.** Panel findings stay in the ledger. Every GitHub comment goes through the `leaving-pr-comments` skill. - **Fleet.** The `fleet` CLI is on `PATH` or at `~/dev/fleet/fleet`. When it is available, it holds the proof, counts the rounds, and runs the arbiter. Otherwise, the ledger holds them. ## 1. Frame Fetch the base branch, then write down: - **Goal**: the outcome a user gets, in one or two sentences, and the issue it closes. Say what a user can do after the change that they cannot do on the base, and leave the design out. The goal is the oracle: behavior it does not ask for gets extra scrutiny, and so does behavior that no user can observe once the PR and the PRs below it merge, such as a parameter for a reader that no PR in the stack adds. - **Approach**: the design the author chose, in a few bullets: the contracts it adds or changes and where the logic lives. It is a claim for the panel to judge, never a part of the goal. - **Base** and the diff, `git diff origin/<base>...HEAD`. - **Danger areas**: the hunks in the danger areas of the `merge-risk` skill. - **Split**: the PR is one slice, cut before the build by step 1 of `full-send` or by the map's stack ticket. A PR with mixed concerns or more than about 400 changed production lines goes to the user with a proposed split before the first round; do not restack it yourself. In a stack, run the swarm on each PR, bottom up. - **Proofs**: the proofs the PR owes per [`PROOF.md`](PROOF.md), with the persisted inputs and boundary formats the changed path touches. Done when all six are written down. ## 2. Open the draft 1. Run the [design pass](PANEL.md#design-pass) when no PR exists yet, and fix what holds before anything else. 2. Run the **lane gate** that the user's agent instructions or the repo's agent docs name. When they name none, the repo's full local gate is the lane gate: the formatter, lint, typecheck, and tests that its agent docs, scripts, and CI configuration name. A step that times out fails. Rerun a per-file step, such as a linter, a formatter, or `semgrep`, on the changed files only: `git diff --name-only --diff-filter=d origin/<base>...HEAD`. Every other step that times out, and a per-file step that times out again, records a gap. Every later run of the lane gate follows the same rule. Done when every step is green or recorded as a gap. 3. Run every owed proof before review, the live run first, and save its evidence. For UI changes, the [UI walk](PROOF.md#ui-walk) captures the changed journey, and its screenshots are the PR's [UI evidence](../pr-description/references/ui-evidence.md). Record a gap for each owed proof you cannot run. 4. Push. When no PR exists, open a draft with `gh pr create --draft` and write the description with the `pr-description` skill. Once the PR number exists, register the owed proofs with `fleet proof require`, or `--none` with the reason when the PR owes none, then save the evidence and gaps from step 3 under it, as [Record](PROOF.md#record) describes. 5. Keep the proof and the ledger in storage that outlives the worktree and stays out of source history. The **ledger** holds every finding, thread, and check failure with its source, location, bucket, and evidence. With the `fleet` CLI, get the commit proof directory with `fleet proof path --repo <owner/repo> --pr <number> --commit <full SHA>` and save the verification output and captures there with `fleet proof save`. Keep the canonical ledger in its parent PR directory as `ledger.md`. Copy an existing Git-metadata ledger there once and keep its findings. Without the CLI, keep an existing durable ledger location, or create one directory per PR outside the repository. Done when the PR exists, its head is your HEAD, and the description carries the observed behavior and any verification gaps. ## 3. Rounds A round works on one HEAD. Run its steps in order. 1. **Review.** Read [`PANEL.md`](PANEL.md) and pick the round's lenses. With the `fleet` CLI, start the panel on HEAD with one `--lens` per lens: `fleet proof review --repo <owner/repo> --pr <number> --commit <full SHA> --lens <lens> --lens <lens> ...`, plus `--scope fixes --base <previous round's SHA>` for round two and later. The CLI reserves the round, so a resumed session cannot reset the count, starts one reviewer per lens in the background, and returns. Then wait in one call with `fleet proof review --wait`, and call it again while it exits 2. `fleet proof show` prints each lens with its model and raw answer. Exit 1 names a lens that failed twice: run the same `review --lens` command, which reruns only the failed lenses. The same command resumes an unfinished round. The CLI saves the joined answers as the round's findings; keep your triage in the ledger. Do not edit the files under review while the panel runs. A timeout, an error, or no reply is not approval. Without the CLI, write the round number, scope, and HEAD to the ledger, dispatch the panel per the Lanes of [`PANEL.md`](PANEL.md), mark the round finished after the panel, and count the rounds from the ledger on resume. Past round two, `fleet proof review` asks the arbiter first, a cheap model that reads the findings so far. It reserves the round unless a later finding
From Silthus/agent-skills, MIT.
More from Silthus/agent-skills
- 0.570score
t3-kickoff
Silthus
Start, watch, archive, or delete T3 Code threads from the command line, and move the current work to another machine as a new T3 thread.
SkillAFreshness: AClaude Code +9 - 0.570score
architecture
Silthus
Shape the structure of a change larger than one module, in grilling rounds with one diagram each.
SkillAFreshness: AClaude Code +9 - 0.570score
pr-description
Silthus
Write or refresh a PR description with the problem first, a merge-risk callout, and proof beside each behavior.
SkillAFreshness: AClaude Code +9 - 0.567score
audit-prs
Silthus
Triage the author's open PRs into readiness groups with next actions, merge confidence, Jev hints, and changes since the last audit.
SkillAFreshness: AClaude Code +9 - 0.565score
impact
Silthus
Check whether work moves the needle on a team goal, and push back when it does not.
SkillAFreshness: AClaude Code +9 - 0.565score
orchestration-wayfinder
Silthus
Conduct a wayfinder map from charting to reviewed pull requests, dispatching one worker per frontier ticket.
SkillAFreshness: AClaude Code +9 - 0.565score
babysit-pr
Silthus
Merge a ready PR and run its post-deploy watch.
SkillAFreshness: AClaude Code +9 - 0.565score
review-pr
Silthus
Give a reviewer an entry point to a PR and its full stack: a flow diagram, the change in a few bullets, and its merge risk, with one background review.
SkillAFreshness: AClaude Code +9 - 0.565score
modernize-pr
Silthus
Bring an old PR up to date with its base branch: check whether newer changes invalidate it, rebase, adapt the code to what changed, verify, and summarize.
SkillAFreshness: AClaude Code +9 - 0.565score
review-lens
Silthus
Distill a teammate's review lens from their PR review comments into a PostHog Review perspective.
SkillAFreshness: AClaude Code +9 - 0.565score
slack-pr-update
Silthus
Format Slack PR updates, PR lists, and review or merge handoffs.
SkillAFreshness: AClaude Code +9 - 0.565score
share-preview
Silthus
Share a running app, Storybook, or static build from a Coder workspace as a private Coder link.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (7 days ago)
- Last release
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Silthus/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Silthus
- 0.570score
pr-description
Silthus
Write or refresh a PR description with the problem first, a merge-risk callout, and proof beside each behavior.
SkillAFreshness: AClaude Code +9 - 0.570score
architecture
Silthus
Shape the structure of a change larger than one module, in grilling rounds with one diagram each.
SkillAFreshness: AClaude Code +9 - 0.570score
t3-kickoff
Silthus
Start, watch, archive, or delete T3 Code threads from the command line, and move the current work to another machine as a new T3 thread.
SkillAFreshness: AClaude Code +9 - 0.567score
audit-prs
Silthus
Triage the author's open PRs into readiness groups with next actions, merge confidence, Jev hints, and changes since the last audit.
SkillAFreshness: AClaude Code +9 - 0.565score
impact
Silthus
Check whether work moves the needle on a team goal, and push back when it does not.
SkillAFreshness: AClaude Code +9 - 0.565score
share-plan
Silthus
Publish an HTML or Markdown plan, report, or page to an unlisted link through a secret GitHub gist.
SkillAFreshness: AClaude Code +9
Cite this page
qa-swarm skill. Agent Mart. https://agentmart.dev/skills/silthus-qa-swarm (last updated 2026-10-24)