Spawning Plan
Design the optimal agent team for the task. Performant, precise, minimal.
Docs: https://code.claude.com/docs/en/agent-teams.md
Task: $ARGUMENTS
Step 1: Context Gathering (Silent — no user interaction)
A) Read environment:
CLAUDE.md — workflow rules, conventions, constraints
- Project manifests —
package.json, pyproject.toml, Cargo.toml, go.mod, etc.
- Directory structure —
src/, app/, packages/, test dirs, monorepo indicators
B) Inventory existing agents:
- Scan
~/.claude/agents/*.md — reuse matching agents instead of creating duplicates
C) Analyze task complexity:
- Work type: research, implementation, review, debugging, refactoring
- Scope: single-layer vs cross-layer
- Parallelism: can work split into independent streams?
- Complexity → team size: simple (2 agents), medium (3-4), complex cross-cutting (5-6, max 8)
Step 2: Ask Team Questions (AskUserQuestion Tool)
Ask 3-5 questions based on Step 1 findings. Not all apply every time — pick what matters.
Team Composition — "For this [work type] on [stack], I'm thinking [N] agents: [role list]. What would you change?"
Options: Perfect / Add role / Remove role / Different approach
Coordination — "How should agents work together?"
Options: Independent (no messaging) / Team (peer messaging) / Hub-spoke (lead coordinates)
Dependencies — "Work order?"
Options: All parallel / Sequential (A→B→C) / Mixed
Models — "Model allocation: opus (research), sonnet (implementation), haiku (scanning). Adjust?"
Options: As suggested / All opus / All sonnet / Custom
Agent Reuse (only if matching agents found in Step 1B) — "Found existing [agent-name] that handles [capability]. Reuse it?"
Options: Reuse / Create fresh / Both
Step 3: Output & Approval
Present clean TEAM PLAN:
## TEAM PLAN
Task: [description]
Pattern: [independent | team | hub-spoke]
Work Order: [parallel | sequential | mixed]
Agents: [count]
### Teammates
- Teammate 1: [Name] ([Role])
Description: [1-2 line expertise and specialization]
Model: [opus|sonnet|haiku]
Type: [general-purpose | feature-dev:code-X | reuse ~/.claude/agents/X.md]
Responsible for: [specific deliverable]
Depends on: [— | Teammate N]
- Teammate 2: [Name] ([Role])
Description: [1-2 line expertise and specialization]
Model: [opus|sonnet|haiku]
Type: [general-purpose | feature-dev:code-X]
Responsible for: [specific deliverable]
Depends on: [— | Teammate N]
- ...
### Research (injected into agent prompts)
- [key finding or best practice 1]
- [key finding or best practice 2]
Final Approval (AskUserQuestion Tool)
"Launch this team?"
- Deploy & Save — spawn agents and save as reusable skill
- Deploy Once — spawn agents, one-time
- Adjust — change something (iterate plan)
- Cancel — abort
Deploy & Save → save team as skill at ~/.claude/skills/<team-name>/SKILL.md for future use via /<team-name> [task]. Saved skill skips planning, bakes in agent definitions, uses $ARGUMENTS for task input.
Adjust → ask what to change → regenerate plan → ask again. Loop until approved.
Deploy Once → spawn immediately, no save.
Cancel → stop.
Spawning Execution
Based on chosen pattern:
- Independent: parallel Task tool calls, one per agent
- Team: TeamCreate → TaskCreate per agent → Task tool with
team_name → TaskUpdate for dependencies
- Hub-spoke: TeamCreate with lead agent (opus) that delegates via SendMessage
For detailed agent prompt structure, see references/agent-prompts.md.
1---2name: spawning-plan3description: Spawning Plan. Use when user wants to spawn agents, create a team, or coordinate multiple agents. Automatically gathers context, asks team topology questions, outputs clean TEAM PLAN markdown, and gets user approval. 3 steps: context gathering → questions → present plan. **CRITICAL**: MUST NOT SPAWN AGENTS SKIPPING THIS SKILL, USE ALWAYS.4---56# Spawning Plan78Design the optimal agent team for the task. Performant, precise, minimal.9Docs: https://code.claude.com/docs/en/agent-teams.md1011**Task:** `$ARGUMENTS`1213## Step 1: Context Gathering (Silent — no user interaction)1415**A) Read environment:**16- `CLAUDE.md` — workflow rules, conventions, constraints17- Project manifests — `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, etc.18- Directory structure — `src/`, `app/`, `packages/`, test dirs, monorepo indicators1920**B) Inventory existing agents:**21- Scan `~/.claude/agents/*.md` — reuse matching agents instead of creating duplicates2223**C) Analyze task complexity:**24- **Work type**: research, implementation, review, debugging, refactoring25- **Scope**: single-layer vs cross-layer26- **Parallelism**: can work split into independent streams?27- **Complexity → team size**: simple (2 agents), medium (3-4), complex cross-cutting (5-6, max 8)2829## Step 2: Ask Team Questions (AskUserQuestion Tool)3031Ask 3-5 questions based on Step 1 findings. Not all apply every time — pick what matters.32331. **Team Composition** — "For this [work type] on [stack], I'm thinking [N] agents: [role list]. What would you change?"34 Options: Perfect / Add role / Remove role / Different approach35362. **Coordination** — "How should agents work together?"37 Options: Independent (no messaging) / Team (peer messaging) / Hub-spoke (lead coordinates)38393. **Dependencies** — "Work order?"40 Options: All parallel / Sequential (A→B→C) / Mixed41424. **Models** — "Model allocation: opus (research), sonnet (implementation), haiku (scanning). Adjust?"43 Options: As suggested / All opus / All sonnet / Custom44455. **Agent Reuse** *(only if matching agents found in Step 1B)* — "Found existing `[agent-name]` that handles [capability]. Reuse it?"46 Options: Reuse / Create fresh / Both4748## Step 3: Output & Approval4950Present clean TEAM PLAN:5152```53## TEAM PLAN5455Task: [description]56Pattern: [independent | team | hub-spoke]57Work Order: [parallel | sequential | mixed]58Agents: [count]5960### Teammates6162- Teammate 1: [Name] ([Role])63 Description: [1-2 line expertise and specialization]64 Model: [opus|sonnet|haiku]65 Type: [general-purpose | feature-dev:code-X | reuse ~/.claude/agents/X.md]66 Responsible for: [specific deliverable]67 Depends on: [— | Teammate N]6869- Teammate 2: [Name] ([Role])70 Description: [1-2 line expertise and specialization]71 Model: [opus|sonnet|haiku]72 Type: [general-purpose | feature-dev:code-X]73 Responsible for: [specific deliverable]74 Depends on: [— | Teammate N]7576- ...7778### Research (injected into agent prompts)79- [key finding or best practice 1]80- [key finding or best practice 2]81```8283### Final Approval (AskUserQuestion Tool)8485```86"Launch this team?"87- Deploy & Save — spawn agents and save as reusable skill88- Deploy Once — spawn agents, one-time89- Adjust — change something (iterate plan)90- Cancel — abort91```9293**Deploy & Save** → save team as skill at `~/.claude/skills/<team-name>/SKILL.md` for future use via `/<team-name> [task]`. Saved skill skips planning, bakes in agent definitions, uses `$ARGUMENTS` for task input.9495**Adjust** → ask what to change → regenerate plan → ask again. Loop until approved.9697**Deploy Once** → spawn immediately, no save.9899**Cancel** → stop.100101### Spawning Execution102103Based on chosen pattern:104- **Independent**: parallel Task tool calls, one per agent105- **Team**: TeamCreate → TaskCreate per agent → Task tool with `team_name` → TaskUpdate for dependencies106- **Hub-spoke**: TeamCreate with lead agent (opus) that delegates via SendMessage107108For detailed agent prompt structure, see [references/agent-prompts.md](references/agent-prompts.md).