You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
spec-driven-development, with downstream impact on planning-and-task-breakdown and the /plan, /build, /review, and /ship workflow.
Relevant instruction or excerpt
The current workflow is effectively:
one request
→ one SPEC.md
→ one tasks/plan.md
→ one flat tasks/todo.md
→ implementation
The skill can make individual tasks small (for example, limiting their file scope), but it does not define how to decompose one oversized requirement into independently specifiable business capabilities before planning begins.
Project context
This appears when one product requirement contains several independently testable capabilities, such as identity, billing, notifications, and reporting, with explicit dependencies between them.
This is different from running multiple unrelated specs in parallel.
What did not work or did not apply
For a large requirement, task breakdown happens too late. Even if every task is small, all tasks still depend on one monolithic specification and one global plan.
That creates several failure modes:
the agent must repeatedly load and reason over an oversized contract;
module boundaries, interfaces, data ownership, and dependency direction remain implicit;
modules cannot be planned, built, reviewed, or resumed independently;
a change in one module can invalidate the global plan and task list;
completion is tracked only at task level, not at capability/module level;
the final integration and /ship review can become too large to evaluate reliably.
Splitting the work into frontend/backend/database tasks would not solve this. The decomposition unit should be an independently testable business capability or bounded context.
Relationship to existing work
This proposal is intentionally not a duplicate of:
Those address namespace and temporal evolution. This issue addresses complexity decomposition inside one large requirement.
A useful distinction is:
archive/lifecycle → separates work across time
workstream namespace → separates concurrent requirements
module decomposition → separates complexity within one requirement
A complete workflow may eventually need all three.
Proposed capability
When /spec identifies multiple independently testable business capabilities, it should pause before planning and propose a module decomposition for human approval.
1. Parent initiative spec
The parent spec should contain only cross-cutting concerns:
overall objective and scope;
global constraints and invariants;
module/capability map;
dependency graph;
cross-module interfaces;
integration and end-to-end success criteria;
deferred or explicitly excluded capabilities.
2. Child module specs
Each module spec should define:
one independently testable business capability;
inputs, outputs, and public interfaces;
data ownership and boundaries;
dependencies and forbidden dependencies;
inherited parent constraints plus explicit deltas;
module-level success criteria.
3. Module-scoped execution artifacts
Each child spec should have its own plan and task list, tied to the exact source spec:
The exact directory is open for discussion. The important property is stable identity: downstream commands must select an explicit initiative/module path and must never guess which spec or plan is active.
4. Dependency-aware integration
Independent modules may be implemented separately. Dependent modules must follow the approved dependency graph. Before the initiative can ship, the workflow should verify the parent spec's cross-module and end-to-end criteria.
5. Preserve the simple path
Small, cohesive requirements should keep the current single-spec workflow. Hierarchical decomposition should activate only when the requirement contains genuinely independent acceptance boundaries.
Affected skill
spec-driven-development, with downstream impact onplanning-and-task-breakdownand the/plan,/build,/review, and/shipworkflow.Relevant instruction or excerpt
The current workflow is effectively:
The skill can make individual tasks small (for example, limiting their file scope), but it does not define how to decompose one oversized requirement into independently specifiable business capabilities before planning begins.
Project context
This appears when one product requirement contains several independently testable capabilities, such as identity, billing, notifications, and reporting, with explicit dependencies between them.
This is different from running multiple unrelated specs in parallel.
What did not work or did not apply
For a large requirement, task breakdown happens too late. Even if every task is small, all tasks still depend on one monolithic specification and one global plan.
That creates several failure modes:
/shipreview can become too large to evaluate reliably.Splitting the work into frontend/backend/database tasks would not solve this. The decomposition unit should be an independently testable business capability or bounded context.
Relationship to existing work
This proposal is intentionally not a duplicate of:
Those address namespace and temporal evolution. This issue addresses complexity decomposition inside one large requirement.
A useful distinction is:
A complete workflow may eventually need all three.
Proposed capability
When
/specidentifies multiple independently testable business capabilities, it should pause before planning and propose a module decomposition for human approval.1. Parent initiative spec
The parent spec should contain only cross-cutting concerns:
2. Child module specs
Each module spec should define:
3. Module-scoped execution artifacts
Each child spec should have its own plan and task list, tied to the exact source spec:
The exact directory is open for discussion. The important property is stable identity: downstream commands must select an explicit initiative/module path and must never guess which spec or plan is active.
4. Dependency-aware integration
Independent modules may be implemented separately. Dependent modules must follow the approved dependency graph. Before the initiative can ship, the workflow should verify the parent spec's cross-module and end-to-end criteria.
5. Preserve the simple path
Small, cohesive requirements should keep the current single-spec workflow. Hierarchical decomposition should activate only when the requirement contains genuinely independent acceptance boundaries.
Possible workflow
Suggested acceptance criteria
/ship <initiative>requires the parent integration criteria, not only module-local checks.Non-goals
Open questions
spec-driven-development, or be a separate decomposition skill invoked by it?