| name | brainstorming |
| description | MANDATORY — STOP and activate BEFORE writing ANY code for new features, significant changes, or multi-file modifications. You MUST ask clarifying questions, explore alternatives, and get explicit design approval first. Do NOT skip this step. Do NOT start coding without approval. |
Brainstorming Ideas Into Designs
Adapted from superpowers:brainstorming
The Iron Rule
NEVER start coding before the design is approved.
Even "simple" changes benefit from 2 minutes of design thinking.
Anti-Pattern: "This Is Too Simple To Need A Design"
If you're thinking this, you're wrong. Every feature that touches multiple files, modifies data flow, or affects UX deserves a brief design.
The Process
1. Understand the Request
- What problem does this solve?
- Who needs it? (the user managing Kyberwave library)
- What's the current workaround?
2. Ask Clarifying Questions
- Don't assume. Ask about edge cases, scope, and priorities
- Example: "Should this work for both album and staging tracks?"
- Example: "What should happen when the LLM API is down?"
3. Explore Alternatives
- Present 2-3 approaches with trade-offs
- Consider: complexity, performance, future extensibility
- Reference existing patterns in OAC Studio
4. Present Design in Digestible Chunks
Break the design into sections short enough to actually read:
- Data model changes (if any) — new columns, new tables
- API changes — new endpoints, modified endpoints
- UI changes — new pages, modified pages, new components
- Integration points — how it connects to existing features
5. Validate
- Get explicit approval before proceeding
- If the user has concerns, iterate on the design
After the Design
- Save design document to
docs/plans/YYYY-MM-DD-<feature>-design.md
- Use the writing-plans skill to create an implementation plan
- Execute the plan
OAC Studio Design Checklist
Red Flags
| Thought | Reality |
|---|
| "This is just a simple change" | Simple changes break complex systems. Design first. |
| "I already know what to do" | Knowing ≠ designing. Write it down. |
| "The user just wants it done fast" | Fast without design = rework later. |
| "Let me just start coding" | STOP. Design first, always. |