spawn-reviewers

A skill that starts and gathers a group of code reviewers for a code-review process. It uses a prepared specification to assign review roles and collect their results.

In plain words
What is it for?
Use it to dispatch review agents for bug finding, auditing, domain-specific checks, and other defined review roles.
Why use it?
It removes the manual work of starting multiple reviewers and coordinating their outputs.

Skill for Claude CodeCodex

Part of the code-review plugin — 5 skills, 4 commands, 2 agents shipped together

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/closedloop-ai/claude-plugins/spawn-reviewers
Any agent
npx skills add closedloop-ai/claude-plugins --skill spawn-reviewers
Clone the repo
git clone --depth 1 https://github.com/closedloop-ai/claude-plugins

Made for: Claude Code, Codex.

Or install code-review, the plugin that ships this one along with the rest of its 5 skills, 4 commands, 2 agents.

Per session 182 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 9,484 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.00182 $0.09484
Opus 5 $0.00091 $0.04742
Sonnet 5 $0.00036 $0.01897
Haiku 4.5 $0.00018 $0.00948

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

Security

Grade A, and why

spawn-reviewers 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 3d 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.

plugins/code-review/skills/spawn-reviewers/SKILL.md · 458 lines

How it starts

The opening of the file, as written. The whole thing — 458 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Reviewer Fleet Dispatch (stage_20_spawn_reviewers)

This skill is the canonical reviewer-fleet dispatcher for /code-review at stage_20_spawn_reviewers. It is split out of commands/start.md so the orchestration spine stays lean; the orchestrator invokes it when the walker reaches stage_20_spawn_reviewers. The content below is authoritative for both MODE=local and MODE=github, with mode-specific Task scheduling: GitHub standard flow dispatches reviewers synchronously, while local standard flow preserves parallel background dispatch plus blocking collection.

The verifier fleet (stage_23) and the PLN-725 single-agent dispatch (stage_11 / stage_15) are not in this skill — they are owned by the code-review:verify-findings and code-review:singleton-dispatch skills respectively.


Reviewer Fleet (stage_20_spawn_reviewers)

This stage runs when the walker reaches stage_20.

PLN-725 Phase 8 — spawn-spec consumption (preferred path). Before walking the static tables below, Read <CR_DIR>/spawn.json (spec section). If the file exists and arbitrate_status != "fallback", dispatch one Task per entry in agents[], using the descriptor fields directly:

  • agent_id → orchestrator-assigned ID; agent writes to <CR_DIR>/agent_{agent_id}.json.
  • model → resolved per-agent model string (already accounts for BHA test-only routing and spawn.json.route overrides — do not re-derive).
  • partitioned: true + partition_id → patches file is patches_p{partition_id}.txt; use the partition's files[] from partitions.json for <files_assigned>.
  • partitioned: false → patches file is patches_all.txt; <files_assigned> is the full files_to_review list.
  • subagent_type per descriptor: use code-review:code-review-worker-graph when reviewer ∈ {bug_hunter_b, impact, design_critic} (or the fast-path agent); use code-review:code-review-worker for every other descriptor. See the "Agent type" rule above. Pass the resolved GRAPH_PROJECT into the BHB / Impact / Design Critic / fast-path prompts.
  • Prompt-suffix dispatch is two-level:
    • When source == "core", branch on the reviewer field to select the suffix: bug_hunter_a → BHA, bug_hunter_b → BHB, unified_auditor → Auditor, impact → Impact Analyzer, design_critic → Design Critic. (All five roles share source: "core", so source alone is not enough.) impact only appears in agents[] when invocation depth is deep AND signal extraction emitted exported_symbol_change or symbol_deletion; design_critic appears in agents[] on every deep review (an always-on conditional core reviewer). Both are graph-aware: impact and design_critic each load the codebase knowledge-graph protocol, so spawn both as code-review:code-review-worker-graph and substitute the resolved GRAPH_PROJECT into their suffixes.
    • When source is "rule" or "critic" → Domain Critic suffix (the reviewer field carries the critic name for the {critic_name} prompt slot). "rule" means the entry came from a deterministically matched critic-gates.json coverage[] rule (including migrated legacy moduleCritics[]); "critic" means the entry was LLM-proposed by coverage_critic. Both spawn as domain_<N> with sonnet.
    • When source == "fast_path" → Fast Path suffix (only emitted on the fast-path branch; mutually exclusive with the bucket walk).
  • spec.fast_path: true → spec emits exactly one agent (agent_id: "fast"); skip the standard-flow tables and use the Fast Path suffix below.
  • spec.gated_by_verify: true → a BLOCKING verify verdict from stage_15c fired (the canonical finding already lives in agent_coverage-verify-blocking.json). The spec has already been sanitized — only source: "core" agents will be present in agents[]; rule/critic-source reviewers were moved to skipped[] with reason: "gated_by_verify". Spawn the (sanitized) spec as-is and surface a one-line warning in the present step that arbitration was bypassed.
  • spec.skipped[] → reviewers the spec deliberately did not spawn (e.g. test_quality deferred to PLN-723; bug_hunter_a skipped because all files cached). Do not re-add them.

Read the full file on GitHub · 458 lines

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. 3d ago First seen · 458 lines · 182 tokens per session scan A ff7b1584df07

Subscribe to this mod's changes

spawn-reviewers is a skill published in the GitHub repository closedloop-ai/claude-plugins (103 stars, last pushed 5d ago), licensed Apache-2.0. It adds 182 tokens to every session and 9,484 once invoked, about $0.0009 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.