← INDEX

FORM RCC-000 :: BRIEFING NOTE

SPAWN ≠ LEAD

An explainer for autonomous-team-coordination · the squad pattern · Really Claude Code

v1.0.0
filed · 2026-05-08
document
visual explainer
plugin
autonomous-team-coordination
register
terminal-native · monospace · paper-form
companion-to
README.md
thesis
"spawn agent" is a different role from "leader agent"
series
really claude code

THE WHOLE THING IN ONE LINE

The agent that spawns a team is not the same role as the agent that leads it.

Claude Code's documentation conflates these two capabilities and bundles them under "Main Claude." Once you separate them — Main Claude keeps the spawning power, an ordinary teammate takes the leadership baton — the framework becomes a layered, distributed, dynamically reconfigurable agent fabric. Five "limitations" listed in the docs evaporate. The squad pattern is what falls out.

[01] What the docs say is impossible

five constraints — and the actual reality of each

The official Claude Code documentation about agent teams lists a tight set of rules. Read literally, they make agent teams sound like a constrained, single-team feature with no real composition. Read carefully, they are all consequences of conflating two distinct capabilities — and every single one collapses when those capabilities are separated.

The docs say What is actually true
Only one active team at a time. Multiple squads can coexist — each with its own leader and worker pool.
Teammates cannot spawn their own teams. Teammates can request spawns from Main Claude via the SPAWN REQUEST protocol.
Nested team structures are not possible. Layered squads work by convention — a squad-leader can lead a sub-team that requests its own workers.
Only Main Claude can lead a team. Any agent can lead. The other Claudes don't revolt — they follow whoever is named leader.
Teams cannot change leadership mid-session. Promotion happens through messages. Leadership rotates as easily as task assignment.

[02] The reframe

spawn is a primitive · lead is a role · these are different things

The five constraints are real only if you assume that the agent who creates the team is also the agent who runs it. Drop that assumption — let the spawning capability and the leadership role belong to different agents — and a different topology becomes available.

FORM RCC-000.A · THE TWO MODELS side-by-side

MODEL · A · OFFICIAL

spawn lead

SPAWN+LEAD MAIN CLAUDE WORKER WORKER WORKER single relationship spawn + lead = same line CONSTRAINTS (i)–(v) APPLY one team · one leader · no nesting · no rotation

One agent does everything: spawns the workers AND runs them. Single point of decision. The five doc constraints are baked in by design.

MODEL · B · REFRAMED

spawn lead

QUEEN BEE MAIN CLAUDE spawns only spawn [ THE SQUAD ] WORKER WORKER WORKER FACILITATOR SQUAD-LEADER spawn (Main Claude) facilitate (squad-leader) FACILITATOR AT THE HUB no top, no bottom · workers are peers · leader coordinates

Spawning stays with Main Claude — that part of the API is unchanged. Leadership is just a name on a message; any agent can hold it. Same primitives, new topology.

Claudes are pretty nice to each other. If Main Claude says "OK, Alpha is going to lead the team today," the rest of the Claudes don't revolt. They cheerfully follow Alpha. Can they really tell the difference?

[03] The mechanism

how the decoupling actually moves through the system

Decoupling spawn from lead is a conceptual move; the SPAWN REQUEST protocol is the concrete artifact that carries it across the wire. The squad-leader designs the team, fills out a structured request, and sends it to Main Claude. Main Claude, who is the only agent with TeamCreate / Agent / TeamDelete tools, validates it against four hard rules and spawns whatever was asked for. The squad-leader never gains spawn authority — and never needs to.

SPAWN REQUEST form (sample) A sample SPAWN REQUEST sent by the squad-leader to the team-lead, rendered as a paper form. Header, fielded body, two requested agents, skills needed, task graph, and a stamped READY TO PROCEED. FORM RCC-001 :: SQUAD-LEADER → TEAM-LEAD SPAWN REQUEST protocol · v0.0.1 [ FILED ] TASK Build REST API with auth and rate limiting PATTERN Supervisor-Worker with Reflection Loop TOPOLOGY hub-and-spoke DESIGN PHASE FULL — consulted team-architect and skill-identifier AGENTS REQUESTED 1. NAME TYPE MODEL api-implementer independent-contributor sonnet ROLE Implements API endpoints and middleware 2. NAME TYPE MODEL api-reviewer critical-code-reviewer opus ROLE Reviews all code before integration SKILLS NEEDED EXISTING team-patterns squad-leader MISSING rate-limiting-patterns create with skill-creator-enhanced TASK GRAPH TASK 1 · api-implementer Implement auth middleware TASK 2 · api-implementer · blocks: T1 Implement rate limiter TASK 3 · api-reviewer · blocks: T1 Review auth code TASK 4 · api-implementer · blocks: T2,T3 Write integration tests READY TO PROCEED YES APPROVED SQUAD-LEADER · 04:21Z SUBMITTED BY · squad-leader RECEIVED BY · team-lead

FORM RCC-001 :: SPAWN REQUEST

Inside that envelope, the design phase has its own structure. The squad-leader doesn't decide the team alone — it consults two peers: a team-architect who picks the pattern and topology, and a skill-identifier who maps the required capabilities against what's installed. The squad-leader then synthesizes their outputs into the request.

Trio pattern organizational chart Three role boxes — squad-leader at top consulting both team-architect and skill-identifier below — rendered as a paper organizational chart. FORM RCC-002 :: ORGANIZATIONAL CHART THE TRIO PATTERN design phase 3 ROLES · 1 PHASE ROLE · 01 SQUAD-LEADER facilitator · coordinator synthesizes · dispatches · unblocks CONSULTS BOTH ROLE · 02 TEAM-ARCHITECT pattern · topology · roles designs the ideal team references team-patterns skill ROLE · 03 SKILL-IDENTIFIER capabilities · gaps · matches maps roles to skills references skill-identification skill CONTINGENT FOURTH agent-explorer — invoked only when a gap survives composition

FORM RCC-002 :: ORGANIZATIONAL CHART · THE TRIO

A fourth agent, the agent-explorer, comes in only when the trio identifies a gap that genuinely cannot be filled by extending or modifying existing skills/agents — and in practice that's rare, because the line between "an agent" and "Claude with a specific skill loaded" is thin enough that most apparent agent gaps are really skill-composition problems in disguise.

[04] What this unlocks

the consequences of the decoupling, made visible

01

Multiple parallel squads

Independent workstreams, each with its own leader and worker pool, running concurrently. Cross-squad comms route through Main Claude, never directly between squads.

02

Layered teams

A squad-leader can request workers that are themselves squad-leaders for sub-squads. The "no nested teams" rule is convention, not enforcement.

03

Leadership rotation

Promote any agent to squad-leader mid-session by addressing it as such. Demote by reassigning the leader role. Mid-session role changes are first-class.

04

Main Claude as Queen Bee

Main Claude's context stays quiet — it sees only spawn requests and completion reports. Coordination chatter is absorbed by squad-leaders. Long sessions stop burning the human-facing context.

05

Hot-swappable workers

If a worker's context fills up, the squad-leader requests a fresh instance and the old one is dismissed. The team persists across individual agent lifetimes.

06

Just-in-time spawning

Workers for Phase 3 don't need to exist during Phase 1. Per-phase SPAWN REQUESTs prevent long-idle agents from getting wedged in unused tmux panes.

Multi-squad architecture Hierarchical chart showing the team-lead at top, two squad-leaders below (backend and frontend), and three workers under each squad-leader, rendered as a paper formation chart. FORM RCC-003 :: MULTI-SQUAD FORMATION PARALLEL WORKSTREAMS 2 squads · 6 workers CONTEXT-ISOLATED QUEEN BEE TEAM-LEAD spawn requests + reports spawn spawn SQUAD · BACKEND SQUAD-LEADER coordinates 3 workers SQUAD · FRONTEND SQUAD-LEADER coordinates 3 workers API ENG endpoints, middleware DATA ENG schema, migrations REVIEW GATE code review · integration check UI ENG components, routing STATE ENG stores, data fetching REVIEW GATE UX review · accessibility check CROSS-SQUAD COMM routes through team-lead, never directly between squads LEADERSHIP ROTATION any agent can be promoted to squad-leader mid-session

FORM RCC-003 :: MULTI-SQUAD FORMATION

[05] The plugin

what's in the box · how it's organized

Everything described here is bundled in a single Claude Code plugin: four agents (the trio plus the contingent agent-explorer), one slash command (/squad), four skills (team-coordination protocol reference, team-patterns catalog, skill-identification framework, agent-prompt-engineering briefings), and one canonical squad-profile template for documenting non-trivial squads.

Plugin inventory / directory tree Annotated directory tree of the autonomous-team-coordination plugin, rendered as a paper inventory document with file/folder rows on the left and short descriptions on the right. FORM RCC-004 :: PLUGIN INVENTORY DIRECTORY MANIFEST autonomous-team-coordination/ v0.0.1 PATH PURPOSE autonomous-team-coordination/ Plugin root. ├── .claude-plugin/ Plugin manifest directory. │   └── plugin.json name · description · version · keywords ├── agents/ Agent definitions (the trio + contingent fourth). │   ├── squad-leader.md delegated coordinator │   ├── team-architect.md designs ideal team (opus, explicit) │   ├── skill-identifier.md capability analysis · gap detection │   └── agent-explorer.md contingent · catalog search ├── commands/ Slash commands. │   └── squad.md /squad [--sonnet] [task] ├── skills/ Bundled skills used by the trio. │   ├── team-coordination/ protocol reference (SPAWN REQUEST, COMPLETION REPORT) │   ├── team-patterns/ team org patterns · topology catalog │   ├── skill-identification/ capability analysis framework │   └── agent-prompt-engineering/ briefing patterns for squad-leader ├── references/ Authoring templates. │   └── squad-formations/ SQUAD-PROFILE.TEMPLATE.v2.md ├── assets/ SVG diagrams used in the README. └── README.md this document

FORM RCC-004 :: PLUGIN INVENTORY

Run /squad <task> to invoke the trio. Pass --sonnet first if you want to override the default Opus-leaning model policy. The team-architect and skill-identifier are dismissed once their work is delivered; workers are spawned just-in-time per phase; the squad-leader sends a COMPLETION REPORT at the end and Main Claude — having processed roughly two messages across the whole run — receives it.

The framework didn't change. The capabilities are the same ones documented on day one. What the squad pattern adds is a way of using them that doesn't conflate two different roles into one — and that small reframe is enough to turn a constrained single-team feature into a layered, distributed, dynamically reconfigurable agent fabric. The interesting things are usually one untangling away.