Use when executing implementation plans with 2+ independent tasks on Claude Code. Creates an Agent Team where teammates work in parallel with Julie-powered orientation, lead does inline review, and fixes go to the existing teammate (no cold restart).
Claude Code only. Codex and opencode do not provide Agent Teams. On those harnesses, use razorback:subagent-driven-development.
Execute plans by creating an Agent Team. Each teammate owns a set of tasks and files, works in parallel with Julie-powered codebase orientation, and persists for the entire session. The lead monitors progress, does inline review, and messages teammates directly for fixes.
Core principle: Parallel teammates + Julie orientation + persistent context for fixes = fast, high-quality execution without cold-start waste.
digraph when_to_use {
"Have implementation plan?" [shape=diamond];
"2+ independent tasks?" [shape=diamond];
"team-driven-development" [shape=box style=filled fillcolor=lightgreen];
"executing-plans (single agent)" [shape=box];
"Manual execution or brainstorm first" [shape=box];
"Have implementation plan?" -> "2+ independent tasks?" [label="yes"];
"Have implementation plan?" -> "Manual execution or brainstorm first" [label="no"];
"2+ independent tasks?" -> "team-driven-development" [label="yes"];
"2+ independent tasks?" -> "executing-plans (single agent)" [label="no, sequential"];
}
vs. Executing Plans (single agent):
vs. Subagent-Driven Development (Codex/OpenCode primary path):
digraph process {
rankdir=TB;
"Read plan, analyze task dependencies" [shape=box];
"Group tasks, assign file ownership" [shape=box];
"Create team (TeamCreate)" [shape=box];
"Spawn implementer teammates" [shape=box];
subgraph cluster_parallel {
label="Teammates Work in Parallel";
style=dashed;
"Teammate orients with Julie tools" [shape=box];
"Teammate implements, tests, commits" [shape=box];
"Teammate reports status" [shape=box];
"Teammate orients with Julie tools" -> "Teammate implements, tests, commits";
"Teammate implements, tests, commits" -> "Teammate reports status";
}
"Lead: inline review (spec + quality)" [shape=box];
"Issues found?" [shape=diamond];
"Message teammate with findings" [shape=box];
"All tasks complete?" [shape=diamond];
"Lead: final verification" [shape=box];
"Use razorback:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
"Read plan, analyze task dependencies" -> "Group tasks, assign file ownership";
"Group tasks, assign file ownership" -> "Create team (TeamCreate)";
"Create team (TeamCreate)" -> "Spawn implementer teammates";
"Spawn implementer teammates" -> "Teammate orients with Julie tools";
"Teammate reports status" -> "Lead: inline review (spec + quality)";
"Lead: inline review (spec + quality)" -> "Issues found?";
"Issues found?" -> "Message teammate with findings" [label="yes"];
"Message teammate with findings" -> "Teammate orients with Julie tools" [label="teammate fixes"];
"Issues found?" -> "All tasks complete?" [label="no, approved"];
"All tasks complete?" -> "Spawn implementer teammates" [label="more tasks to assign"];
"All tasks complete?" -> "Lead: final verification" [label="yes"];
"Lead: final verification" -> "Use razorback:finishing-a-development-branch";
}
Read the plan and identify:
File ownership is critical. Two teammates editing the same file causes overwrites. If tasks share files, either:
Create the team, then spawn one teammate per task group.
Each teammate spawn prompt MUST include:
Use the teammate prompt template at ./implementer-prompt.md.
TeamCreate:
name: "[feature]-team"
For each task group:
Agent tool:
description: "Implement [task name]"
name: "[task-name]-implementer"
prompt: [follow ./implementer-prompt.md template]
As teammates work, monitor their progress. When a teammate reports completion:
Inline review checklist (lead does this, no reviewer subagents):
Spec compliance:
get_symbols(file_path) to quickly scan changed files without reading them fully.Code quality:
deep_dive(symbol) on key new/modified symbols to check callers/callees/types.fast_refs(symbol) to verify changes don't break dependents.Review cap: 3 iterations via SendMessage. If a teammate can't resolve the issues in 3 rounds:
When review finds issues, message the teammate directly:
SendMessage:
to: "[teammate-name]"
message: |
Review found issues with your implementation:
[List specific issues with file:line references]
Fix these, run tests, commit, and report back.
Keep it focused - fix what's flagged, don't refactor beyond that.
Why messaging beats fresh dispatch: The teammate already has full context from implementation - files read, decisions made, tests written. A fresh agent would burn tokens just getting back to where the teammate already is. This is the key advantage of teams over subagents.
After all teammates finish and reviews pass:
TeamDelete to shut down the team.If the reviewer choice (propagated from writing-plans via the plan-approval message) is one of codex, gemini, or claude, invoke razorback:pre-merge-review, passing:
If the reviewer choice is none (or absent), skip Step 5a entirely.
After razorback:pre-merge-review returns its morning-report summary block, proceed to Step 6.
Use razorback:finishing-a-development-branch.
Teammates report one of four statuses:
| Status | Meaning | Lead action |
|---|---|---|
| DONE | All tasks implemented, tested, committed | Inline review |
| DONE_WITH_CONCERNS | Complete, but has questions or doubts | Review + address concerns |
| BLOCKED | Can't proceed without help | Unblock: provide info, adjust plan, or reassign |
| NEEDS_CONTEXT | Missing codebase knowledge | Provide context or point to relevant files/symbols |
Same criteria as subagent-driven-development:
Skip when:
Keep when:
When skipping spec check, the quality review still covers requirements.
./implementer-prompt.md - Teammate spawn prompt with Julie directives and file ownershipThe reviewer prompts from subagent-driven-development (spec-reviewer-prompt.md, code-quality-reviewer-prompt.md) serve as review guides for the lead's inline review. The lead doesn't dispatch reviewer agents; instead, the lead uses those criteria directly.
You: I'm using Team-Driven Development to execute this plan.
[Read plan file: docs/plans/auth-overhaul.md]
[Analyze: 4 tasks, 3 are independent, task 4 depends on task 1]
[File ownership: Task 1 owns auth/, Task 2 owns middleware/, Task 3 owns tests/integration/]
[TeamCreate: "auth-overhaul-team"]
[Spawn teammate "session-handler" for Task 1: Session management]
[Spawn teammate "middleware-guard" for Task 2: Auth middleware]
[Spawn teammate "integration-tests" for Task 3: Integration test suite]
[Task 4 waits for Task 1 to complete]
--- Teammates work in parallel ---
middleware-guard reports: DONE
- Implemented auth middleware with role-based checks
- 12/12 tests passing
- Committed
[Lead inline review: get_symbols on changed files, deep_dive on AuthMiddleware]
[Spec check: all requirements met]
[Quality check: clean, well-tested]
[Approved - mark Task 2 complete]
session-handler reports: DONE_WITH_CONCERNS
- Implemented session store with Redis backend
- 8/8 tests passing
- Concern: TTL defaults may be too aggressive for mobile clients
[Lead inline review]
[Spec check: complete]
[Quality check: one issue - magic number for TTL]
[SendMessage to session-handler:]
"Two things:
1. Extract TTL to a named constant (SESSION_TTL_SECONDS)
2. Your concern about mobile TTL is valid - add a comment noting
this may need tuning. We'll address it in a follow-up."
session-handler: Fixed. TTL constant extracted, comment added, committed.
[Re-review: approved. Mark Task 1 complete]
[Now spawn teammate for Task 4 (depends on Task 1)]
[Spawn teammate "token-refresh" for Task 4: Token refresh flow]
integration-tests reports: DONE
[Lead inline review: approved. Mark Task 3 complete]
token-refresh reports: DONE
[Lead inline review: approved. Mark Task 4 complete]
[All tasks complete]
[Run full test suite - all passing]
[TeamDelete: "auth-overhaul-team"]
[Use razorback:finishing-a-development-branch]
Never:
If a teammate asks questions:
If a teammate is stuck or unreachable:
The authoritative taxonomy is skills/using-razorback/references/blocker-taxonomy.md. Consult it before stopping.
Bias rules:
Real blockers (stop and report):
Anything else: pick the plan-consistent option, note the choice in the morning report, continue. Full definitions in the taxonomy.
The lead writes a goldfish:checkpoint at these milestones (not per-task — too noisy):
base..HEAD), verification method.Example invocation: