This skill orchestrates parallel agent workflows for complex, multi-step tasks. It decomposes work into dependency-mapped waves and executes them with autonomous agents while maintaining quality through automated auditing.
Orchestrates parallel agent workflows for complex multi-step tasks by decomposing work into dependency-mapped waves. Triggers on `/swarm` command or when tasks require parallel sub-task execution with automated quality auditing.
/plugin marketplace add amoscicki/aromatt/plugin install swarm@aromattThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/architect-protocol.mdreferences/auditor-protocol.mdreferences/escalation-rules.mdreferences/orchestrator-protocol.mdreferences/plan-format.mdreferences/worker-protocol.mdThis skill orchestrates parallel agent workflows for complex, multi-step tasks. It decomposes work into dependency-mapped waves and executes them with autonomous agents while maintaining quality through automated auditing.
Invoke this skill when:
/swarm commandThe swarm system has five agent roles:
| Role | Purpose | When Spawned |
|---|---|---|
| Architect | Plan generation, task decomposition, dependency mapping | Start of swarm, re-planning phases |
| Worker | Execute individual tasks, write reports to files | During wave execution |
| Reviewer (ultrathink) | MANDATORY wave review, reads ALL reports | End of EVERY wave |
| Reviewer (opus) | Optional task-scoped review | Complex tasks (optional) |
| Fixer | Auto-fix HIGH priority issues | When review returns HIGH |
Worker agents are defined in ./agents/ and run in parallel with separate context windows:
| Agent | Model | Purpose | Use For |
|---|---|---|---|
swarm-worker-haiku | haiku | Fast, cheap tasks | Deletions, renames, config, boilerplate |
swarm-worker-opus | opus | Standard tasks | Implement, integrate, fix bugs |
swarm-worker-ultrathink | opus | Complex tasks | Architecture, algorithms, edge cases |
| Agent | Model | Purpose | When Used |
|---|---|---|---|
swarm-reviewer-ultrathink | opus | Wave review (ALL tasks) | MANDATORY end of every wave |
swarm-reviewer-opus | opus | Task review (single task) | Optional for complex tasks |
Review Output: {priority}|{action}|{review-path} where priority is HIGH/MED/LOW.
All agents MUST be spawned with run_in_background: true:
# Workers - include report path in prompt
Task(subagent_type="swarm-worker-haiku",
prompt="Task 1.1: ... Report: .swarm/reports/plan/wave-1/task-1.1.md",
run_in_background=true)
→ Returns: agentId (store mapping taskId→agentId)
# DO NOT POLL - wait at end of wave only
TaskOutput(task_id=lastAgentId, block=true)
# Ignore output content - workers wrote to files
ZERO-POLLING: Orchestrator never reads worker output. Communication via files only.
The orchestrator (you) NEVER uses Explore or general-purpose agents for assessment.
Why? Because agent output returns to your context, defeating the purpose. Instead:
| Need | WRONG | CORRECT |
|---|---|---|
| Get TypeScript errors | Task(Explore, "run tsc") | Bash("npx tsc --noEmit") |
| Read a file | Task(Explore, "read X") | Read("X") |
| Find files | Task(Explore, "find...") | Glob("pattern") |
| Search code | Task(Explore, "grep...") | Grep("pattern") |
Workers are for IMPLEMENTATION, not exploration. You explore directly, then spawn workers to implement in parallel.
The main Claude (you) acts as orchestrator:
Load these based on current phase:
| Phase | Load Reference |
|---|---|
| Planning | architect-protocol.md |
| Execution | worker-protocol.md, escalation-rules.md |
| Validation | auditor-protocol.md |
| All phases | orchestrator-protocol.md, plan-format.md |
{priority}|{action}|{review-path}Plans are stored in .swarm/{task-slug}.md in project root.
This file is both the plan definition AND execution state (checkboxes).
| Mode | Behavior |
|---|---|
| Plan mode | Generate plan only, no execution |
| Auto-edit | Execute with minimal pauses (major milestones only) |
| Default | Wave-by-wave checkpoints |
Design notes for CI/CD migration: