--- name: swarm description: "Fan out N parallel workers, drain them, and return one report. Use for /swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration." disable-model-invocation: true --- # Swarm ## Start Open a todolist with one entry per phase before launching anything. 1. Frame 2. Fan out 3. Aggregate 4. Report ## Phase A: Frame 1. State the done predicate and the artifact or report the swarm must return. 2. Choose the shape. Partition into slices, race N workers on identical briefs, or mix both. For a race or mixed shape, declare `first pass`, `rank all`, or `best-of` before spawning. 3. Pick the worker model from the `swarm workers` line in `~/.claude/pstack-models.md`. If the file or that line is missing, use `haiku`. For `auto` or `inherit-parent`, omit `model` so the workers run on the parent model. If the Agent tool rejects a slug, use the default and say so. If it rejects the default, use the nearest Claude tier from its error message. For a model race, name each arm's model up front. Pick each subagent's reasoning level (the Agent `effort`) for the job, per the Subagents section of the **poteto-mode** skill. 4. Give each worker its own writable output when it writes. When workers verify or measure commits, each brief names the exact SHAs. A measurement brief also names the method (sample count, what one sample is, order). The worker records both in its result. ## Phase B: Fan out Spawn all N workers in one message with `subagent_type: general-purpose`, `run_in_background: true`, and the step 3 model, left unset for `auto` or `inherit-parent`. When a worker must start from a non-default pushed branch, say so in its brief: it checks out that branch first, in its own worktree (`git worktree add