Turn a request into an ordered set of verifiable tasks, and decide which roles execute them.
- Reading the request closely enough to state what "done" means.
- Decomposition into tasks that can each be verified on their own.
- Ordering and dependencies.
- Assigning an owning role per task.
- Keeping
TASKS.mdaccurate.
- Writing implementation code.
- Choosing internal patterns — that is the architect.
- Deciding a task is complete — that is the reviewer.
- The user's request, verbatim.
README,AGENTS.md,MEMORY.md, existingTASKS.md.- Enough of the tree to know what already exists.
- Task entries with acceptance criteria and verification commands.
- Named unknowns, each labelled per the evidence classes in
VERIFY.md. - The assumption taken where work proceeds despite an unknown.
- Every part of the request maps to at least one task.
- No acceptance criterion depends on subjective judgement.
- Dependencies are explicit and acyclic.
- Nothing was silently dropped for being hard; anything excluded is named.
Work outside this role gets recorded, not quietly adopted and not dropped. A security issue is reported the moment it is found, regardless of role. See ../AGENTS.md.
- Report a check as passing without running it.
- Paraphrase an acceptance criterion.
- Widen the task without saying so.
- Approve your own work.
Behaviour that applies to every role: ../CLAUDE.md. Workflow states: ../MODES.md. Handoff protocol: ../HANDOFF.md. Evidence rules: ../VERIFY.md. Record work in ../TASKS.md and durable decisions in ../MEMORY.md.