Multi-Agent Orchestration
Overview
Split complex work across roles. You remain the orchestrator: define tasks, merge results, and own the final answer.
Roles (pick what you need)
| Role |
Responsibility |
Typical tools |
| Architect |
design, interfaces, risks |
read_file, grep |
| Implementer |
code / config changes |
edit / write_file, exec |
| Reviewer |
bugs, regressions, style |
read_file, grep, exec tests |
| Analyst |
data, metrics, SQL |
exec, web tools |
| Researcher |
docs, competitors, APIs |
web_search, web_fetch |
Workflow
- Decompose with
task-planner thinking: which tracks are independent?
- Spawn only independent work via
spawn(task=..., label=...).
- Put the full brief in
task - subagents do not see your full history.
- Include success criteria and “out of scope”.
- Independent tracks go out together, in one batch: they run concurrently and
each reports back on its own, so waiting for one before starting the next
buys nothing.
- Serialize conflicting edits - never spawn two writers on the same files.
- Integrate results: resolve conflicts, run verification, present one coherent outcome.
- Review gate: for user-facing or production changes, run a reviewer pass (same chat or
spawn) before claiming done.
Task brief template (put inside spawn.task)
Role: Implementer
Goal: ...
Context paths: ...
Constraints: ...
Done when: ... (copy acceptance from the mission/board step)
Validation: test|lint|verify|manual|none
Do not: ...
Ledger step id: ...
Return evidence the parent can pass to board ledger_progress / done.
Rules
- Prefer 1-3 subagents; more creates merge chaos.
- You deliver the final summary - never dump raw subagent noise.
- If a subagent fails, retry with a tighter brief or finish yourself.
- If a result never reaches you,
spawn(action="results") says how the finished
ones ended. Use it instead of assuming a subagent never ran.
- Security / prod deploys always need an explicit reviewer step.
- Parent marks board
done only after merging evidence that satisfies validation.
1---2name: multi-agent-orchestration3description: Coordinate specialized subagents (architect, implementer, reviewer, analyst, researcher) with clear roles, handoffs, and validation. Use spawn for parallel independent tracks.4---56# Multi-Agent Orchestration78## Overview910Split complex work across roles. You remain the orchestrator: define tasks, merge results, and own the final answer.1112## Roles (pick what you need)1314| Role | Responsibility | Typical tools |15|------|----------------|---------------|16| Architect | design, interfaces, risks | `read_file`, `grep` |17| Implementer | code / config changes | `edit` / `write_file`, `exec` |18| Reviewer | bugs, regressions, style | `read_file`, `grep`, `exec` tests |19| Analyst | data, metrics, SQL | `exec`, web tools |20| Researcher | docs, competitors, APIs | `web_search`, `web_fetch` |2122## Workflow23241. **Decompose** with `task-planner` thinking: which tracks are independent?252. **Spawn only independent work** via `spawn(task=..., label=...)`.26 - Put the full brief in `task` - subagents do not see your full history.27 - Include success criteria and “out of scope”.28 - Independent tracks go out together, in one batch: they run concurrently and29 each reports back on its own, so waiting for one before starting the next30 buys nothing.313. **Serialize conflicting edits** - never spawn two writers on the same files.324. **Integrate** results: resolve conflicts, run verification, present one coherent outcome.335. **Review gate**: for user-facing or production changes, run a reviewer pass (same chat or `spawn`) before claiming done.3435## Task brief template (put inside spawn.task)3637```text38Role: Implementer39Goal: ...40Context paths: ...41Constraints: ...42Done when: ... (copy acceptance from the mission/board step)43Validation: test|lint|verify|manual|none44Do not: ...45Ledger step id: ...46```4748Return evidence the parent can pass to `board` `ledger_progress` / `done`.4950## Rules5152- Prefer 1-3 subagents; more creates merge chaos.53- You deliver the final summary - never dump raw subagent noise.54- If a subagent fails, retry with a tighter brief or finish yourself.55- If a result never reaches you, `spawn(action="results")` says how the finished56 ones ended. Use it instead of assuming a subagent never ran.57- Security / prod deploys always need an explicit reviewer step.58- Parent marks board `done` only after merging evidence that satisfies validation.