mirror of
https://github.com/obra/superpowers.git
synced 2026-07-07 10:19:04 +08:00
Compare commits
2 Commits
sdd-l2b-pl
...
d71eb57d71
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d71eb57d71 | ||
|
|
fa07663322 |
@@ -26,7 +26,7 @@ You MUST create a task for each of these items and complete them in order:
|
|||||||
3. **Ask clarifying questions** — one at a time, understand purpose/constraints/success criteria
|
3. **Ask clarifying questions** — one at a time, understand purpose/constraints/success criteria
|
||||||
4. **Propose 2-3 approaches** — with trade-offs and your recommendation
|
4. **Propose 2-3 approaches** — with trade-offs and your recommendation
|
||||||
5. **Present design** — in sections scaled to their complexity, get user approval after each section
|
5. **Present design** — in sections scaled to their complexity, get user approval after each section
|
||||||
6. **Write design doc** — save to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` and commit
|
6. **Write design doc** — save to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` and commit (exactly this path — not `docs/specs/`)
|
||||||
7. **Spec self-review** — quick inline check for placeholders, contradictions, ambiguity, scope (see below)
|
7. **Spec self-review** — quick inline check for placeholders, contradictions, ambiguity, scope (see below)
|
||||||
8. **User reviews written spec** — ask user to review the spec file before proceeding
|
8. **User reviews written spec** — ask user to review the spec file before proceeding
|
||||||
9. **Transition to implementation** — invoke writing-plans skill to create implementation plan
|
9. **Transition to implementation** — invoke writing-plans skill to create implementation plan
|
||||||
@@ -109,6 +109,7 @@ digraph brainstorming {
|
|||||||
**Documentation:**
|
**Documentation:**
|
||||||
|
|
||||||
- Write the validated design (spec) to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
|
- Write the validated design (spec) to `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
|
||||||
|
- The `docs/superpowers/` prefix is the convention; do not shorten it to `docs/specs/`
|
||||||
- (User preferences for spec location override this default)
|
- (User preferences for spec location override this default)
|
||||||
- Use elements-of-style:writing-clearly-and-concisely skill if available
|
- Use elements-of-style:writing-clearly-and-concisely skill if available
|
||||||
- Commit the design document to git
|
- Commit the design document to git
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ Execute plan by dispatching fresh subagent per task, with two-stage review after
|
|||||||
|
|
||||||
**Core principle:** Fresh subagent per task + two-stage review (spec then quality) = high quality, fast iteration
|
**Core principle:** Fresh subagent per task + two-stage review (spec then quality) = high quality, fast iteration
|
||||||
|
|
||||||
|
**Proportionality:** Review fanout scales with the change. When the entire plan is one trivial, fully-specified mechanical change — a one-line edit, a log statement, a constant bump — implement it directly (or with a single implementer subagent), verify it, and commit. Skip the review subagents and the final reviewer: a diff with no room for interpretation has nothing for a spec or quality review to catch, and three dispatches for one line cost more than the change itself. When in doubt whether a change is trivial, it is not — run the full pipeline. Within a multi-task plan, run the full pipeline for every task regardless of size; this exception applies only when the whole plan is one trivial change.
|
||||||
|
|
||||||
**Continuous execution:** Do not pause to check in with your human partner between tasks. Execute all tasks from the plan without stopping. The only reasons to stop are: BLOCKED status you cannot resolve, ambiguity that genuinely prevents progress, or all tasks complete. "Should I continue?" prompts and progress summaries waste their time — they asked you to execute the plan, so execute it.
|
**Continuous execution:** Do not pause to check in with your human partner between tasks. Execute all tasks from the plan without stopping. The only reasons to stop are: BLOCKED status you cannot resolve, ambiguity that genuinely prevents progress, or all tasks complete. "Should I continue?" prompts and progress summaries waste their time — they asked you to execute the plan, so execute it.
|
||||||
|
|
||||||
## When to Use
|
## When to Use
|
||||||
@@ -61,11 +63,16 @@ digraph process {
|
|||||||
}
|
}
|
||||||
|
|
||||||
"Read plan, extract all tasks with full text, note context, create todos" [shape=box];
|
"Read plan, extract all tasks with full text, note context, create todos" [shape=box];
|
||||||
|
"Entire plan = one trivial mechanical change?" [shape=diamond];
|
||||||
|
"Implement directly, verify, commit (no review fanout)" [shape=box];
|
||||||
"More tasks remain?" [shape=diamond];
|
"More tasks remain?" [shape=diamond];
|
||||||
"Dispatch final code reviewer subagent for entire implementation" [shape=box];
|
"Dispatch final code reviewer subagent for entire implementation" [shape=box];
|
||||||
"Use superpowers:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
|
"Use superpowers:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
|
||||||
|
|
||||||
"Read plan, extract all tasks with full text, note context, create todos" -> "Dispatch implementer subagent (./implementer-prompt.md)";
|
"Read plan, extract all tasks with full text, note context, create todos" -> "Entire plan = one trivial mechanical change?";
|
||||||
|
"Entire plan = one trivial mechanical change?" -> "Implement directly, verify, commit (no review fanout)" [label="yes — see Proportionality"];
|
||||||
|
"Implement directly, verify, commit (no review fanout)" -> "Use superpowers:finishing-a-development-branch";
|
||||||
|
"Entire plan = one trivial mechanical change?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="no"];
|
||||||
"Dispatch implementer subagent (./implementer-prompt.md)" -> "Implementer subagent asks questions?";
|
"Dispatch implementer subagent (./implementer-prompt.md)" -> "Implementer subagent asks questions?";
|
||||||
"Implementer subagent asks questions?" -> "Answer questions, provide context" [label="yes"];
|
"Implementer subagent asks questions?" -> "Answer questions, provide context" [label="yes"];
|
||||||
"Answer questions, provide context" -> "Dispatch implementer subagent (./implementer-prompt.md)";
|
"Answer questions, provide context" -> "Dispatch implementer subagent (./implementer-prompt.md)";
|
||||||
@@ -237,7 +244,7 @@ Done!
|
|||||||
|
|
||||||
**Never:**
|
**Never:**
|
||||||
- Start implementation on main/master branch without explicit user consent
|
- Start implementation on main/master branch without explicit user consent
|
||||||
- Skip reviews (spec compliance OR code quality)
|
- Skip reviews (spec compliance OR code quality) on a non-trivial task — the Proportionality exception covers only a plan that is one trivial mechanical change
|
||||||
- Proceed with unfixed issues
|
- Proceed with unfixed issues
|
||||||
- Dispatch multiple implementation subagents in parallel (conflicts)
|
- Dispatch multiple implementation subagents in parallel (conflicts)
|
||||||
- Make subagent read plan file (provide full text instead)
|
- Make subagent read plan file (provide full text instead)
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ description: Use when you have a spec or requirements for a multi-step task, bef
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
|
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to execute: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
|
||||||
|
|
||||||
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
|
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
|
||||||
|
|
||||||
|
**Plans reference the spec; they never restate it.** The spec owns the WHAT and WHY — requirements, acceptance criteria, design decisions. The plan owns the HOW — tasks, files, code, commands. Cite the spec by path in the header and by section where a task needs context. Re-deriving spec content inline doubles the documents and lets them drift apart. "Zero context" means the engineer can execute each step mechanically; it does not mean the plan repeats what the spec already says — they can read the spec at the cited path.
|
||||||
|
|
||||||
**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
|
**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
|
||||||
|
|
||||||
**Context:** If working in an isolated worktree, it should have been created via the `superpowers:using-git-worktrees` skill at execution time.
|
**Context:** If working in an isolated worktree, it should have been created via the `superpowers:using-git-worktrees` skill at execution time.
|
||||||
@@ -53,6 +55,8 @@ This structure informs the task decomposition. Each task should produce self-con
|
|||||||
|
|
||||||
**Goal:** [One sentence describing what this builds]
|
**Goal:** [One sentence describing what this builds]
|
||||||
|
|
||||||
|
**Spec:** [Path to the spec doc, e.g. `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` — requirements and design decisions live there; do not restate them here]
|
||||||
|
|
||||||
**Architecture:** [2-3 sentences about approach]
|
**Architecture:** [2-3 sentences about approach]
|
||||||
|
|
||||||
**Tech Stack:** [Key technologies/libraries]
|
**Tech Stack:** [Key technologies/libraries]
|
||||||
|
|||||||
Reference in New Issue
Block a user