From superpowers
Use when a requirement is large, vague, or involves multiple subsystems — before brainstorming or planning. Decomposes into independent sub-projects with clear boundaries, dependencies, and priorities.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers:decomposing-requirementsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Break large or ambiguous requirements into well-scoped, independently deliverable sub-projects before any design work begins.
Break large or ambiguous requirements into well-scoped, independently deliverable sub-projects before any design work begins.
Core principle: You propose the structure, your human partner decides what to build and in what order. Your job is to make the decomposition visible so they can make informed choices.
Announce at start: "I'm using the decomposing-requirements skill to break down this requirement."
If docs/superpowers/ does not exist in the project, create it before saving:
mkdir -p docs/superpowers/{decomposition,specs,plans,execution-log,debugging-log,review-log,completion}
Also check if docs/superpowers/README.md exists. If not, copy the template:
cp ~/.claude/skills/using-enhanced-workflow/docs-superpowers-README-template.md docs/superpowers/README.md
digraph when_to_use {
"Requirement received" [shape=doublecircle];
"Involves multiple independent concerns?" [shape=diamond];
"Scope unclear or too large for one session?" [shape=diamond];
"decomposing-requirements" [shape=box];
"Go directly to brainstorming" [shape=box];
"Requirement received" -> "Involves multiple independent concerns?";
"Involves multiple independent concerns?" -> "decomposing-requirements" [label="yes"];
"Involves multiple independent concerns?" -> "Scope unclear or too large for one session?" [label="no"];
"Scope unclear or too large for one session?" -> "decomposing-requirements" [label="yes"];
"Scope unclear or too large for one session?" -> "Go directly to brainstorming" [label="no"];
}
Use when:
Don't use when:
Create a task for each item and complete in order:
docs/superpowers/decomposition/YYYY-MM-DD-<topic>.md, adjust to project conventions)After completing any sub-project, check with your human partner:
If priorities change, update the decomposition doc with the new order and rationale.
The decomposition document is maintained by the main session, not automatically by downstream documenting skills.
Update the decomposition doc when:
The decomposition document is the macro-level map. Detailed execution, review, debugging, and completion records still belong to each sub-project's own artifact chain.
Start the saved decomposition document with a quick-scan status map:
## Sub-project Overview
| Sub-project | Status | Priority | Dependencies | Next Step |
|---|---|---|---|---|
| [Name] | Pending | 1 | — | Start brainstorming |
Then describe each sub-project in detail.
Each sub-project should specify:
| Field | Description |
|---|---|
| Name | Short, descriptive name |
| Status | Pending, In Progress, Blocked, Completed, Deferred, or Skipped |
| Priority | Relative execution order chosen with your human partner |
| Goal | One sentence — what it delivers |
| Scope | What's included and explicitly excluded |
| Dependencies | Which other sub-projects must complete first |
| Risks | Unknowns, technical challenges, external dependencies |
| Deliverable | What the human partner gets when it's done |
| Next Step | What should happen next for this sub-project |
Present as a simple directed graph so your human partner can see the critical path:
A ──→ B ──→ D
╲
╲──→ C ──→ E
Independent chains can be parallelized. Highlight the critical path.
When transitioning, provide the brainstorming skill with:
This ensures brainstorming doesn't re-explore what decomposition already decided.
| Thought | Reality |
|---|---|
| "This is small enough to skip decomposition" | Multiple concerns = multiple sub-projects, regardless of perceived size. |
| "The task is non-trivial, so decomposition must be right" | Non-trivial is not the same as multi-concern. One coherent concern should go straight to brainstorming. |
| "I can just start brainstorming the first piece" | Without decomposition, you'll miss dependencies and rework when there are truly multiple independent concerns. |
| "Forcing a split will make the workflow look more rigorous" | False. If it's really one concern, exit early and move on. |
The terminal state is invoking brainstorming. For the first chosen sub-project, invoke brainstorming skill. Each sub-project goes through its own brainstorming → spec → plan → execution cycle.
Do NOT attempt to brainstorm all sub-projects at once. One at a time.
npx claudepluginhub lzy-ricardo/superpowers-enhancedCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.