From d71eb57d712a16e2ba26f852adc5382054e81cc9 Mon Sep 17 00:00:00 2001 From: Drew Ritter Date: Tue, 9 Jun 2026 17:38:44 -0700 Subject: [PATCH] fix(skills): SDD review fanout scales with the change (SUP-333 #2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- skills/subagent-driven-development/SKILL.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/skills/subagent-driven-development/SKILL.md b/skills/subagent-driven-development/SKILL.md index d44f91bb..3590d392 100644 --- a/skills/subagent-driven-development/SKILL.md +++ b/skills/subagent-driven-development/SKILL.md @@ -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 +**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. ## When to Use @@ -61,11 +63,16 @@ digraph process { } "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]; "Dispatch final code reviewer subagent for entire implementation" [shape=box]; "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?"; "Implementer subagent asks questions?" -> "Answer questions, provide context" [label="yes"]; "Answer questions, provide context" -> "Dispatch implementer subagent (./implementer-prompt.md)"; @@ -237,7 +244,7 @@ Done! **Never:** - 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 - Dispatch multiple implementation subagents in parallel (conflicts) - Make subagent read plan file (provide full text instead)