Borrowing it
Nothing to install: this file belongs to friedbotstudio/baseline. 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/friedbotstudio/baseline/main/.claude/commands/approve-swarm.mdgit clone --depth 1 https://github.com/friedbotstudio/baselineWrote 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/friedbotstudio/baseline/approve-swarm)<a href="https://agentmods.dev/commands/friedbotstudio/baseline/approve-swarm"><img src="https://agentmods.dev/badge/commands/friedbotstudio/baseline/approve-swarm/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/friedbotstudio/baseline/approve-swarm"><img src="https://agentmods.dev/badge/commands/friedbotstudio/baseline/approve-swarm.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.00031 | $0.00702 |
| Opus 5.5 | $0.00012 | $0.00281 |
| Sonnet 5.5 | $0.00006 | $0.00140 |
| Haiku 4.5 | $0.00003 | $0.00070 |
Grade A, and why
approve-swarm 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
The user has reviewed the swarm plan referenced by $ARGUMENTS and approved it for dispatch.
How this works structurally: when the user typed /approve-swarm <slug>, the consent_gate_grant UserPromptSubmit hook ran before this body was passed to Claude and wrote a short-lived consent marker at .claude/state/.swarm_approval_grant whose slug is the bare slug derived from <arg>. The swarm_approval_guard PreToolUse hook reads that marker on the approval-token Write and allows it when the marker is fresh and the approval filename's bare slug matches. Claude cannot forge the marker — that's what makes the gate structural.
State-write discipline (binding — see .claude/CONSTITUTION.md §2 "State-write discipline"). The approval token at .claude/state/swarm_approvals/<slug>.approval is a Tier 1 consent artifact: it SHALL be written with the Write tool only. You SHALL NOT write it via Bash (no >/>> redirect, heredoc, tee, cp, or sed -i) — destructive_cmd_guard blocks Bash writes to consent paths, and the swarm_approval_guard marker is validated only on the Write tool. Read the plan JSON with the Read tool; use Bash solely for date +%s.
Steps:
- Derive the bare slug from
$ARGUMENTSin-context (no shell needed): strip any directory prefix and a trailing.md. The same canonicalization runs insideconsent_gate_grant. - Confirm the plan exists at
.claude/state/swarm/<slug>.jsonby reading it with the Read tool. If the Read fails, stop and ask for the correct slug. - From the plan you just read, confirm it has
status: "planned"and a non-nullwavesarray (i.e., the validator ran). If not, tell the user to re-run/swarm-planfirst. - Write the approval token with the Write tool to
.claude/state/swarm_approvals/<slug>.approval(the Write tool creates the parent directory). Contents:- Line 1:
APPROVED - Line 2: epoch timestamp (run
date +%s) - Line 3: plan path (
.claude/state/swarm/<slug>.json) - Line 4: task count + wave count from the plan (e.g.,
tasks=7 waves=3)
- Line 1:
- Confirm to the user: "Swarm plan approved for
<slug>. Run/swarm-dispatch <slug>to begin parallel execution. Tasks declared at plan time are the ONLY files each wave may write to — the boundary guard enforces this."
Do NOT mark the plan file itself as approved in any status field — the approval token is the authoritative record (mirrors /approve-direction).
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 · 27 lines · 31 tokens per session scan A 052db5db5856
approve-swarm is a command published in the GitHub repository friedbotstudio/baseline (14 stars, last pushed 13d ago), licensed Apache-2.0. It adds 31 tokens to every session and 702 once invoked, about $0.0001 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
pull-repos
Pull all repos (parent + marketplace clones + configured project repos).
ai-act-ask
Answer an EU AI Act question grounded in the bundled knowledge base — verbatim statute text, obligation paraphrases, and the compound-risk taxonomy. Offline and deterministic by default; cites the articles it relies on.
nio
Nio — scan code, evaluate an action, read the audit report, manage config.
prune
Trim transcript clutter to extend session lifetime — analyze, prune a copy, or toggle the after-each-turn service. Dry-run by default; gains land at resume/compaction, not the current turn.
status
Show the project's current state at a glance — stage, open tasks, open questions, overrides since the last checkpoint, current branch. Read-only.
sandbox-destroy
Tear down a sandbox box — remove its container and named volume. --keep-volume leaves the volume; with no id, prune reclaims any leaked ca.sandbox=1-labeled object. Cached images are retained.