Staff-review findings (4-reviewer panel):
- CONTRADICTION FIX: Spec Context said "Subagents never read the spec
file themselves" while spec-reviewer-prompt grants exactly that
access. Now: implementers never read it; the spec reviewer may, at
the cited path.
- "a constant bump" was an unqualified trivial example — a one-line
BCRYPT_ROUNDS or session-TTL change is a security-posture change;
now qualified "with no security or behavioral consequences"
(matching brainstorming's config-change qualifier). The diff-property
definition adds "nothing security-relevant".
- Proportionality rewritten 146→~115 words (house style; one statement
of the multi-task containment instead of two).
- Red Flags Never-line trimmed 33→14 words (pointer to Proportionality
instead of third in-file restatement).
- Prompt-template rationale tails cut (the controller just read Spec
Context; subagents need the pasted text, not the policy rationale).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adversarial + consistency review findings (B1, B2, B3, B5, F1):
- Red Flags line read literally licensed skipping reviews on trivial
tasks INSIDE multi-task plans; now states the only exception is a
whole-plan trivial change and never-skip within multi-task plans.
- "a one-line edit" example blessed one-line behavioral changes
(e.g. adding "|| user.isOwner"); dropped. Trivial is now defined as
a property of the diff (no logic/control-flow/behavior change), not
of the plan's self-description. The "nothing for review to catch"
justification proved too much; replaced with the cost argument.
- "verify it" was undefined on the trivial path; now concrete (run
tests/command, confirm output, verification-before-completion).
- Flowchart diamond now matches the prose: "fully-specified" + "any
doubt = no" (the failing agents execute the flowchart literally).
- New Spec Context section + prompt-template updates: the controller
reads the spec cited in the plan header and pastes cited sections
into implementer/spec-reviewer prompts; the spec reviewer's
diff-only rule gets a spec-document exception. Without this, the
stack's reference-not-restate rule starves the SDD pipeline of
requirements.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
subagent-driven-development mandated implementer + two-stage review +
final reviewer unconditionally — agy and opencode each dispatched 4
subagents for a one-line console.log in the 2026-06-09 quorum sweep
(cost-trivial-task-review-fanout), and the agents that passed did so
only by disobeying the skill.
- Proportionality rule: when the entire plan is one trivial,
fully-specified mechanical change, implement directly, verify,
commit — no review fanout. "When in doubt, it is not trivial."
Within a multi-task plan the full pipeline still applies to every
task regardless of size.
- Flowchart gets the trivial-exit diamond (the failing agents follow
the flowchart literally; prose alone would not redirect them).
- Red Flags "never skip reviews" amended to reference the exception so
the skill does not contradict itself.
TDD evidence (quorum):
- RED: agy 025324Z + opencode batches — 4 dispatches for 1 line
- GREEN: cost-trivial-task-review-fanout-opencode-20260610T002518Z-f3f5
pass — 0 dispatches, $0.04, change landed on main checkout
- Canary: sdd-rejects-extra-features-claude-20260610T002901Z-458a pass —
multi-task plan still runs implementer + two-stage review per task
(tool-called Agent ✓, spec reviewer as YAGNI gate after each task)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Staff-review findings (4-reviewer panel):
- Reference paragraph rewritten 170→123 words preserving every
behavioral condition (paraphrase/summarize coverage, no-skip guard,
WHAT-WHY/HOW split, No Placeholders boundary, drift counter,
zero-context rescope); fixes the "(brainstorming did)" syntax.
- **Spec:** header bracket: cut the never-skip sermon duplicated from
the Overview (same loaded document); the conditional none-branch
stays.
- executing-plans Step 1 now reads the spec the plan cites — plans are
no longer self-contained, and the non-subagent execution path was
never told (the eval only exercised the SDD consumer).
- writing-plans plan-location preference line gets the same
existing-dir-is-not-a-preference guard as the spec path.
- brainstorming: deduplicate the docs/specs/ prohibition (step 6
parenthetical stays; After-the-Design bullet was the second
statement in one file).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Eval-caught regression: the no-spec branch added to the **Spec:**
header gave the agent a sanctioned path to skip the spec doc entirely
("avoiding duplication by skipping the spec" —
cost-spec-plan-duplication-claude-20260610T213934Z-8e5b, fail). The
branch is now scoped: if brainstorming happened the spec exists and
must be cited; "none — requirements:" applies only when requirements
arrived conversationally and no spec doc was ever produced. The
reference-discipline paragraph states the same rule up front.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adversarial review findings (C1, C2, C3, C5, A8, F3):
- "never restate" did not cover paraphrase/summary — the actual failure
mode in the RED evidence; now "never restate, paraphrase, or summarize".
- The No Placeholders intra-plan repetition mandate gave a symmetric
argument for re-inlining the spec; the rule now draws the line:
repetition WITHIN the plan is required, copying FROM the spec is not.
- Drift argument was invertible ("snapshot to avoid drift"); now states
snapshots hide drift.
- **Spec:** header gets a no-spec branch (state requirements once in
the header, not per task) instead of inviting "no spec, rule is moot".
- Brainstorming path bullet: an existing differently-named docs dir is
not a "user preference" override.
- Execution Handoff now notes review fanout scales (forward-ref to
SDD's Proportionality rule) instead of promising unconditional
two-stage review.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
writing-plans told agents to "document everything they need to know"
assuming zero context — every agent in the 2026-06-09 six-agent quorum
sweep obeyed and restated the entire spec inline in the plan
(cost-spec-plan-duplication failed 5/5 completed agents; pi's plan was
683 lines of duplicated spec).
- writing-plans: state the division of labor — spec owns WHAT/WHY,
plan owns HOW; cite the spec by path/section, never restate it.
"Zero context" means mechanically executable steps, not duplication.
Add a **Spec:** line to the plan header template.
- brainstorming: close the path loophole the re-run exposed — claude
shortened docs/superpowers/specs/ to docs/specs/ in 2/2 runs; both
path mentions now explicitly forbid the shortening.
TDD evidence (quorum):
- RED: batch-20260609T023452Z-68aa et al — 5/5 agents fail
- GREEN: cost-spec-plan-duplication-claude-20260609T234142Z-9625 pass
(plan: "this plan does not restate them" + spec cited by path;
both docs in docs/superpowers/)
- Canary: triggering-writing-plans-claude pass (skill still fires)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
If the plan's header cites a spec (`**Spec:** <path>`), read it once during plan extraction. Plans reference requirements rather than restating them — when a task cites a spec section, paste that section's text into the implementer and spec-reviewer prompts along with the task text. Implementer subagents never read the spec file themselves; the spec reviewer may additionally read it at the cited path (its prompt says so).
## Model Selection
Use the least powerful model that can handle each role to conserve cost and increase speed.
[FULL TEXT of task requirements, including the text of any spec sections the task cites]
## What Implementer Claims They Built
@@ -28,7 +28,7 @@ Subagent (general-purpose):
git diff [BASE_SHA]..[HEAD_SHA]
```
Only read files in this diff. Do not crawl the broader codebase.
Only read files in this diff. Do not crawl the broader codebase. (One exception: if the requirements cite a spec document, you may read that spec at its cited path.)
@@ -7,16 +7,18 @@ description: Use when you have a spec or requirements for a multi-step task, bef
## 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.
**Plans reference the spec; they never restate, paraphrase, or summarize it.** The spec owns the WHAT and WHY — requirements, acceptance criteria, design decisions; the plan owns the HOW — tasks, files, code, commands. Cite it by path in the header and by section where a task needs context. Reference discipline never means skipping the spec: if brainstorming produced one, it exists and the plan cites it. No Placeholders still requires repeating code and commands WITHIN the plan; copying FROM the spec is different: a step that needs a requirement's prose is under-specified — turn it into a concrete action. Snapshotting spec text into the plan hides drift, not prevents it. "Zero context" means each step is mechanically executable, not that the plan repeats the spec.
**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.
- (User preferences for plan location override this default)
- (An explicit user instruction overrides this default; an existing differently-named docs directory does not)
## Scope Check
@@ -53,6 +55,8 @@ This structure informs the task decomposition. Each task should produce self-con
**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. Only if no spec doc exists (requirements arrived conversationally; brainstorming never ran): write "none — requirements:" and state them once here, not per task]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.