Create or revise file-based Spec Loop work breakdown artifacts for task-file work, including splitting a requested single item into subtasks or multiple task files / backlog items when planning or design shows that split is needed.
62
74%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/spec-loop-plan-work-breakdown/SKILL.mdUse this skill for file-based Spec Loop work breakdown on the
task-file path. It is a planning companion to spec-loop-plan-task;
it does not replace
planning-form selection,
clarification, task-file rules, or approval gates.
Use it after planning-form selection chooses task file with subtasks
or multiple task files / backlog items.
Also use it when revising an existing file-based work breakdown, or
when later planning or design shows that a requested single task or
subtask should be split.
If this skill is loaded before planning-form selection is complete, do not draft breakdown artifacts. If first classification is incomplete, or if later planning or design may change the viable forms, return to spec-loop-plan-task. Otherwise follow guidance first.
If this need appears during chat-only/fileless planning, switch or promote to the task-file path before creating the breakdown. Chat-only content is not durable project state outside the current chat, so work breakdown state must live in a task file.
In the sections below, (sub)task means a task or subtask in the work
breakdown.
Do not draft or revise a work breakdown until the whole work being split has clear Scope and Motivation.
For initial work breakdown and material revisions to an existing work breakdown, apply the clarification skill's mandatory decision screening to:
Do not use work breakdown to discover, clarify, or decide Constraints that only affect later Design or Test specification inside an already coherent (sub)task. If an unknown constraint affects (sub)task boundaries, ordering, releasability, or coherence, treat it as a breakdown blocker; otherwise defer it until that (sub)task becomes current.
If Scope or Motivation is unclear, do only enough research to frame the gap, then use spec-loop-clarify-task/SKILL.md before drafting breakdown items.
Do not create placeholder implementation (sub)tasks for unclear future work.
For work breakdown, clarify only enough to make (sub)task boundaries, ordering, and coherence sound. Defer detailed rule, API, design, and test clarification until the (sub)task is current.
Every (sub)task in a work breakdown must stand on its own by default. For implementation work, that means the (sub)task must be releasable.
A releasable implementation (sub)task can be implemented, verified, reviewed, and accepted on its own while leaving the project coherent if no later sibling is implemented. It must include its tests and any supporting config, migration, documentation, glossary, or operational updates needed to stand on its own. This is a validity criterion, not a recommendation to release each (sub)task independently.
For feature implementation, choose (sub)task boundaries by slicing the overall work into releasable vertical slices when a coherent split exists.
Use separate task files/backlog items when separate release decisions are advisable. Use subtasks when the resulting subtasks can safely stand alone but separate release decisions are not advisable.
Do not create non-releasable implementation (sub)tasks unless the User explicitly opts out. If the User opts out, record the opt-out in the affected (sub)task's Scope.
Forbidden by default:
A standalone refactoring makes no intended externally observable behavior change and is still acceptable if merged even if the later feature item is never implemented.
Allowed when they stand alone:
Prefer the earliest coherent implementation (sub)task that shows visible executable behavior or another immediately demonstrable coherent capability. For feature work, that usually means the first releasable vertical slice.
Defer setup, generation, storage, orchestration, and generalization until they affect the accepted result of that (sub)task, unless they are required for coherence or independent acceptability.
If the same behavior can be reviewed first with deterministic setup, prefer that slice. If a candidate (sub)task still carries substantial plumbing or generalization with too little visible result, or internal choices it cannot yet expose, split it again unless that would break independent acceptability.
Do not pull speculative flexibility or future-proofing into an earlier (sub)task when a narrower one can already stand alone.
For an initial (sub)task created from scratch, include only the title, required identifier/status metadata, and these planning sections:
For subtasks, keep the normal - **Status:** line because it is
lifecycle metadata, not planning content.
For research, spike, prototype, catalog, or proof (sub)tasks, Scope states the investigation boundary and expected output; Motivation states what it blocks or enables.
Do not newly draft Briefing, Research, Scenario, Glossary, Analysis,
Design, or Test specification during work breakdown. Complete those
planning sections only after the (sub)task becomes current
under spec-loop-plan-task.
Do not create Findings or Implementation notes during work breakdown.
Findings is filled only after approved investigation work produces
reviewed output. Implementation notes follow
spec-loop-implementation-flow.
Include a Constraints section only for already known limits that materially affect the (sub)task. Do not create placeholder Constraints.
The exception is restructuring existing planned work, including converting a no-subtask task into subtask form. Existing section content may be moved to the correct resulting (sub)task, but new content for those sections must not be drafted during breakdown.
Before execution approval on the task-file path, complete the
sections required for the current task under spec-loop-plan-task.
If the task uses subtasks, apply this to the current subtask plus
needed task-level context.
If a blocking unknown appears during work breakdown, use spec-loop-clarify-task/SKILL.md when existing evidence or User engagement can resolve it.
If the blocker still needs a durable decision, route ADR work. If it needs new evidence, create a research, spike, prototype, catalog, or proof (sub)task only when that investigation requires explicit planning, separate tracking, or a reviewable output.
If accepted investigation findings show that a durable architecture or policy decision is needed, route ADR work before planning dependent implementation (sub)tasks.
Do not create downstream implementation (sub)tasks or placeholders that depend on the unknown result. If blocking work is needed, pause work breakdown. After that work is accepted, continue the work breakdown from the new evidence or decision.
If converting a no-subtask task to subtask form, adding a new subtask after earlier subtasks already contain full section content, or making the task file too large to use safely, use spec-loop-compact-task-file/SKILL.md and then resume this skill.
When drafting a work breakdown:
Before presenting or saving a file-based work breakdown, verify:
review on its own;7033338
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.