About swarm
swarm is an agent skill for coordinating parallel workers across phases from framing through reporting. It defines dispatch, isolated outputs, verification evidence, aggregation, and dropout handling.
Key features
- 01Four-phase worker workflow
- 02Parallel native and external dispatch
- 03Isolated worker output paths
- 04Evidence-based result aggregation
Use cases
- 01Splitting a task into worker-owned slices
- 02Comparing workers on the same brief
- 03Collecting verified results with failure gaps
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ericlitman/ open-pstack --skill swarmAfter installing, type/swarmin Claude Code to confirm it loaded.
Details
From the project READMESwarm
Dispatch contract. Resolve each worker descriptor through provider-dispatch.md. The parent starts native and external lanes; workers never route themselves. On Codex, resolve remaining Claude tool names via codex-tools.md.
Start
Open a todolist with one entry per phase before launching anything.
- Frame
- Fan out
- Aggregate
- Report
Phase A: Frame
- State the done predicate and the artifact or report the swarm must return.
- 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, orbest-ofbefore spawning. - Pick the worker descriptor from
swarm workersin the current harness's pstack model sheet when present. Otherwise use its role default. For a model race, name each arm's descriptor up front. Pick each subagent's effort for the job, per the Subagents section of the poteto-mode skill. - 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
Start all N workers in one fan-out phase through provider dispatch. Native lanes use background subagents; external lanes invoke the launcher as background work with retained task/session handles. Never use Claude's foreground Bash path for a long worker. Every writer runs in its assigned worktree or output directory. Isolation comes from those paths, not the provider.
When a worker must start from a non-default branch, check that branch out in the worker's own worktree and name the worktree path in its brief.
Every brief stands alone. Include the goal, scope, exact slice or race arm, how to verify, and what to report. Reports use PASS, ISSUES, or BLOCKED with evidence. A worker that can prove a defect reports ISSUES and lists every issue it can prove, not only the first.
If a worker drops out, proceed with N-1 and note the provider, model, and receipt failure. Never substitute another provider silently.
Phase C: Aggregate
Read the terminal results. Drop a result that does not record the SHAs and method its brief names, and respawn that worker once. After a second miss, record a gap. A gap does not count as a pass. For coverage, every required slice needs a result. For a race, apply the selection rule declared up front. Use first pass, rank all, or best-of. Do not paste raw worker dumps.
Phase D: Report
Return one consolidated in-chat report with the table, issue one-liners, gaps or dropouts, and the race rule when used.