Subtask (zippoxer) — Prompt Excerpts
Excerpt 1: Role Definition (from CLAUDE.md)
Technique: Three-actor role separation with explicit responsibility boundaries
### The Solution
Subtask shifts the cognitive burden from user to lead agent.
**Three roles:**
- **User**: Gives direction, makes decisions, approves work
- **Lead** (e.g., Claude Code): Orchestrates everything in between
- **Workers**: Execute tasks in parallel, isolated in git worktrees
The user provides direction. The lead handles everything else: understanding requirements, breaking work into tasks, dispatching to workers, tracking progress, reviewing output, iterating until it's right, merging when ready.
The lead is not a task dispatcher. The lead is a technical lead / project manager.
Analysis: The three-actor model sets clear responsibilities and prevents the common failure mode where the AI agent becomes a dispatcher rather than a decision-maker. The "technical lead / project manager" framing sets a higher behavioral bar than "dispatcher."
Excerpt 2: Design Decisions (from CLAUDE.md)
Technique: Numbered design principles as architectural constraints
## Design Decisions
1. **Task-centric** — Task name is the primary identifier. Everything flows from it.
2. **Git-native** — Branches for isolation, worktrees for parallelism, standard merge workflow.
3. **File-based collaboration** — Task folder shared between lead and worker. PLAN.md for plans, PROGRESS.json for tracking. Files persist; sessions don't.
4. **Workspace opacity** — Lead never picks workspaces. Subtask assigns them.
5. **Context preservation** — history.jsonl and --follow-up ensure nothing is lost when sessions crash.
6. **Event sourcing** — history.jsonl is the append-only source of truth. SQLite index is a derived projection. If they diverge, history wins.
Analysis: Design decisions are expressed as invariants, not preferences. "Lead never picks workspaces" and "if they diverge, history wins" are absolute rules, not guidelines. This is an Iron Law pattern applied to infrastructure design.
Excerpt 3: CLI Usage Example (from README)
Technique: Concrete dialogue trace showing the exact CLI invocations
You: fix the auth bug and add API metrics with Subtask
Claude:
├─► Skill(Subtask)
├─► Bash(subtask draft fix/auth-bug ...)
├─► Bash(subtask draft feat/api-metrics ...)
└─⏺ Tasks are in progress! I'll get notified when they're done.
Analysis: The diagram format shows the lead agent's actual behavior as a trace tree, not prose. This is a behavioral contract: exactly which commands get called, in what order, with what result. The ⏺ symbol for "awaiting notification" is meaningful — the lead is not polling, it is event-driven.