mirror of
https://github.com/obra/superpowers.git
synced 2026-04-21 08:59:04 +08:00
Enforce brainstorming workflow with hard gates and process flow
The brainstorming skill described a process but didn't enforce it. Models would skip the design phase and jump straight to implementation skills like frontend-design, or collapse the entire brainstorming process into a single text block. Changes to brainstorming skill: - Add HARD-GATE: no implementation until design is approved - Add explicit checklist that maps to task items - Add graphviz process flow with writing-plans as terminal state - Add anti-pattern callout for "too simple to need a design" - Scale design sections by section complexity, not project complexity - Make writing-plans the only valid next skill after brainstorming Changes to using-superpowers skill: - Add EnterPlanMode intercept to workflow graph - Route plan mode attempts through brainstorming skill instead Tested with claude -p --plugin-dir across three variants (no skill, original skill, updated skill) to verify behavioral compliance.
This commit is contained in:
@@ -26,6 +26,9 @@ This is not negotiable. This is not optional. You cannot rationalize your way ou
|
||||
```dot
|
||||
digraph skill_flow {
|
||||
"User message received" [shape=doublecircle];
|
||||
"About to EnterPlanMode?" [shape=doublecircle];
|
||||
"Already brainstormed?" [shape=diamond];
|
||||
"Invoke brainstorming skill" [shape=box];
|
||||
"Might any skill apply?" [shape=diamond];
|
||||
"Invoke Skill tool" [shape=box];
|
||||
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
||||
@@ -34,6 +37,11 @@ digraph skill_flow {
|
||||
"Follow skill exactly" [shape=box];
|
||||
"Respond (including clarifications)" [shape=doublecircle];
|
||||
|
||||
"About to EnterPlanMode?" -> "Already brainstormed?";
|
||||
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
|
||||
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
|
||||
"Invoke brainstorming skill" -> "Might any skill apply?";
|
||||
|
||||
"User message received" -> "Might any skill apply?";
|
||||
"Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
|
||||
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
|
||||
|
||||
Reference in New Issue
Block a user