swarm
Installation
SKILL.md
Swarm
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. - Set N from the user or derive it from the shape. N is total workers. OMP runs at most
task.maxConcurrencyof them at once (32 by default) and queues the rest. A race that needs every arm to start together keeps N within that limit. Workers are leaves. They never calltask, which keeps the swarm insidetask.maxRecursionDepth(2). - Pick the worker agent. The default is
task. Usescoutfor read-only coverage and exploration slices, andsonicfor fully specified mechanical slices. Never name a model in a task item. Each agent's model comes fromtask.agentModelOverridesandmodelRolesin~/.omp/agent/config.yml, which/skill:setup-pstack(skill://setup-pstack) writes. For a model race, make each arm a distinct agent with a distinct operator override, and name each arm's agent up front. Claim that arms ran on different models only from the resolved-model metadata OMP returns with each result. Set each item'seffortfor the job only when thetaskschema shows aneffortfield (task.enableEffort). Otherwise omit it. - Give each worker its own writable output when it writes. Use a separate git worktree or directory per worker, and set
isolatedon the item only when thetaskschema shows it (task.isolation.enabled). Never depend onisolatedbeing present. 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.