-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
Description
Summary
The brainstorming skill hardcodes docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md as the output path for design specs. Even when CLAUDE.md defines an Output Paths table with a different location (e.g., docs/design-docs/), the skill's concrete path wins every time.
The skill has a parenthetical hint on line 112:
(User preferences for spec location override this default)
But in practice, Claude never checks for or applies this override.
Reproduction
-
Create a project with a CLAUDE.md containing:
## Output Paths | Artifact | Location | |---|---| | Design specs | `docs/design-docs/` |
-
Start a fresh Claude Code session (so CLAUDE.md is loaded)
-
Brainstorm anything — e.g., "Let's brainstorm a simple CLI tool that converts CSV files to JSON"
-
Approve the design
Expected: Spec written to docs/design-docs/2026-03-25-csv2json-design.md
Actual: Spec written to docs/superpowers/specs/2026-03-25-csv2json-design.md
Root Cause (from Claude's own analysis)
When asked why it missed the CLAUDE.md override, Claude explained:
The skill gives a concrete, copy-pasteable path right in the instruction. CLAUDE.md's output paths are in a table that I'd already processed earlier in context. When I got to the "write the doc" step, I followed the specific path right in front of me rather than cross-referencing back to CLAUDE.md's table.
The parenthetical "(User preferences for spec location override this default)" is easy to gloss over because:
- It's a parenthetical — visually subordinate to the concrete path above it
- It says "user preferences" which is vague — I didn't connect it to CLAUDE.md's output paths table
- The concrete path was immediately actionable; the override required me to recall and cross-reference
Suggested Fix
Reverse the priority in the instruction — check first, default second. Something like:
**Write the validated design spec:**
1. Check CLAUDE.md for an "Output Paths" table. If "Design specs" has a configured location, use that path.
2. If no output path is configured, use the default: `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`This likely affects writing-plans as well (execution plans have the same pattern).
Environment
- superpowers v5.0.6
- Claude Code with Opus 4.6