Planning and Task Breakdown
Turn an agreed specification into a task plan that is small, ordered,
verifiable, and safe to execute in parallel where possible.
Goal
Produce an ordered task list where each task is a small outcome with acceptance
criteria and a verification command, and where parallelizable tasks are marked
and free of overlapping writes.
Inputs
- Required: an approved specification or a clear, agreed set of requirements.
- Optional: repository structure and existing conventions the plan must respect.
- Output: a task plan following the format below. Copy
the plan template to start.
If requirements are still ambiguous, resolve them first; do not plan against an
unclear target.
Workflow
- List the outcomes the specification requires. Restate each as a small,
independently verifiable result.
- Split large outcomes. A task whose title needs multiple independent clauses,
or that touches unrelated subsystems, is too big; break it into vertical
slices that each deliver a checkable result.
- Map dependencies. For each task, name the tasks or interfaces that must exist
first. Order the list so every dependency precedes its dependents.
- Write acceptance criteria per task as observable results, not intentions.
- Write a verification command or inspection per task, so completion can be
proven with fresh evidence rather than assumed.
- Identify the files each task is likely to touch. Two tasks that write the same
file are not independent.
- Mark parallelizable tasks. A set is safely parallel only when the tasks share
no dependency ordering and no write target. Assign each parallel worker a
disjoint set of files and an explicit no-edit boundary.
- Sequence the rest. Keep dependent tasks in order and note where a task must
wait for another to complete.
- Review the plan for coverage against the specification and for hidden coupling
between supposedly parallel tasks before execution begins.
Task shape
Each task states:
- Purpose: why the task exists.
- Dependencies: tasks or interfaces required first.
- Files likely touched: the paths the task writes.
- Acceptance criteria: observable results that prove completion.
- Verification: the exact command or inspection that checks it.
- Scope: a rough size such as XS, S, or M. Split anything larger than M.
Parallelization rules
- Parallelize only tasks with no dependency between them.
- Never assign overlapping write targets to two workers; overlapping writes
cause lost edits and merge conflicts.
- Give each parallel worker complete scope, its file set, and an explicit list of
paths it must not touch.
- Consolidate parallel results before integration, and verify the combined change
once, not only each worker's slice.
Decision points
- A task cannot be verified: rewrite it until it has an observable acceptance
check, or split off the unverifiable part as an open question.
- Two parallel tasks share a file: serialize them, or refactor so each owns a
distinct file.
- A dependency chain is long and fragile: add an intermediate task that produces
a checkable interface the later tasks build on.
Validation
Before declaring the plan ready:
- Every task is small, ordered, and has acceptance criteria and a verification
command.
- Dependencies are explicit and the order respects them.
- Parallel tasks share no write target and no ordering dependency.
- The tasks together cover the specification with no gap.
Output format
Return the ordered task list, the subset marked safe to parallelize with their
disjoint file sets, and any dependency or coverage risk that remains.
1---2name: planning-and-task-breakdown3description: Decomposes an approved specification into small, ordered, dependency-aware tasks, each with explicit acceptance criteria and a verification command, and identifies which tasks are independent and safely parallelizable without overlapping writes. Use when planning multi-step work, breaking a spec or feature into tasks, sequencing dependencies, or coordinating parallel agents, after requirements are agreed and before implementation begins.4license: MIT5---67# Planning and Task Breakdown89Turn an agreed specification into a task plan that is small, ordered,10verifiable, and safe to execute in parallel where possible.1112## Goal1314Produce an ordered task list where each task is a small outcome with acceptance15criteria and a verification command, and where parallelizable tasks are marked16and free of overlapping writes.1718## Inputs1920- Required: an approved specification or a clear, agreed set of requirements.21- Optional: repository structure and existing conventions the plan must respect.22- Output: a task plan following the format below. Copy23 [the plan template](assets/plan-template.md) to start.2425If requirements are still ambiguous, resolve them first; do not plan against an26unclear target.2728## Workflow29301. List the outcomes the specification requires. Restate each as a small,31 independently verifiable result.322. Split large outcomes. A task whose title needs multiple independent clauses,33 or that touches unrelated subsystems, is too big; break it into vertical34 slices that each deliver a checkable result.353. Map dependencies. For each task, name the tasks or interfaces that must exist36 first. Order the list so every dependency precedes its dependents.374. Write acceptance criteria per task as observable results, not intentions.385. Write a verification command or inspection per task, so completion can be39 proven with fresh evidence rather than assumed.406. Identify the files each task is likely to touch. Two tasks that write the same41 file are not independent.427. Mark parallelizable tasks. A set is safely parallel only when the tasks share43 no dependency ordering and no write target. Assign each parallel worker a44 disjoint set of files and an explicit no-edit boundary.458. Sequence the rest. Keep dependent tasks in order and note where a task must46 wait for another to complete.479. Review the plan for coverage against the specification and for hidden coupling48 between supposedly parallel tasks before execution begins.4950## Task shape5152Each task states:5354- Purpose: why the task exists.55- Dependencies: tasks or interfaces required first.56- Files likely touched: the paths the task writes.57- Acceptance criteria: observable results that prove completion.58- Verification: the exact command or inspection that checks it.59- Scope: a rough size such as XS, S, or M. Split anything larger than M.6061## Parallelization rules6263- Parallelize only tasks with no dependency between them.64- Never assign overlapping write targets to two workers; overlapping writes65 cause lost edits and merge conflicts.66- Give each parallel worker complete scope, its file set, and an explicit list of67 paths it must not touch.68- Consolidate parallel results before integration, and verify the combined change69 once, not only each worker's slice.7071## Decision points7273- A task cannot be verified: rewrite it until it has an observable acceptance74 check, or split off the unverifiable part as an open question.75- Two parallel tasks share a file: serialize them, or refactor so each owns a76 distinct file.77- A dependency chain is long and fragile: add an intermediate task that produces78 a checkable interface the later tasks build on.7980## Validation8182Before declaring the plan ready:8384- Every task is small, ordered, and has acceptance criteria and a verification85 command.86- Dependencies are explicit and the order respects them.87- Parallel tasks share no write target and no ordering dependency.88- The tasks together cover the specification with no gap.8990## Output format9192Return the ordered task list, the subset marked safe to parallelize with their93disjoint file sets, and any dependency or coverage risk that remains.