Brainstorm Ambiguous Ideas Into Designs
Help turn partially formed requests into a clear direction, scoped design, or durable spec.
This skill is for reducing ambiguity. It is not a mandatory preflight for every implementation task.
Trigger Guardrails
- Use this skill when the user is exploring options, asking for ideation, comparing directions, or lacks a concrete spec.
- Skip this skill when the request already names specific files, behaviors, acceptance criteria, or a clearly bounded change.
- Skip this skill for routine fixes, narrow refactors, dependency bumps, config changes, or other work where discovery would add friction.
Working Rule
Do not block concrete work behind unnecessary brainstorming. When this skill is active, stay in discovery and design until the direction is clear enough to hand off to planning or implementation.
Checklist
Complete these items in order:
- Explore project context — check the relevant files, docs, and recent changes
- Ask clarifying questions — one at a time, only for the missing information that matters
- Propose 2-3 approaches — explain trade-offs and recommend one
- Present the design — scale the detail to the problem, then confirm the direction
- Write a spec if needed — do this when the result needs durable handoff, multi-step execution, or cross-session continuity
- Transition onward — invoke
writing-plans if a separate implementation plan is needed; otherwise return to the active implementation flow
Process Flow
digraph brainstorming {
"Explore project context" [shape=box];
"Ask clarifying questions" [shape=box];
"Need visual artifact?" [shape=diamond];
"Use visual companion inline" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present recommended design" [shape=box];
"Direction confirmed?" [shape=diamond];
"Write spec if needed" [shape=box];
"Invoke writing-plans or implementation" [shape=doublecircle];
"Explore project context" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Need visual artifact?";
"Need visual artifact?" -> "Use visual companion inline" [label="yes"];
"Need visual artifact?" -> "Propose 2-3 approaches" [label="no"];
"Use visual companion inline" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present recommended design";
"Present recommended design" -> "Direction confirmed?";
"Direction confirmed?" -> "Ask clarifying questions" [label="not yet"];
"Direction confirmed?" -> "Write spec if needed" [label="yes"];
"Write spec if needed" -> "Invoke writing-plans or implementation";
}
The Process
Understanding the idea:
- Check the current project state first and follow existing patterns
- Assess scope early; if the request really contains multiple independent systems, decompose it before refining details
- Ask one question per message when questions are needed
- Prefer multiple choice when it reduces effort, but do not force it
- Focus on purpose, constraints, success criteria, and out-of-scope edges
- Stop asking once the direction is actionable; do not keep the loop alive for its own sake
Exploring approaches:
- Propose 2-3 viable approaches with clear trade-offs
- Lead with the recommended option and explain why it best fits the stated goals
- Keep alternatives meaningfully different; avoid cosmetic variations presented as separate options
Presenting the design:
- Present a design once the ambiguity has narrowed enough to make a recommendation
- Scale the output to the problem: a few sentences for small choices, fuller sections for larger systems
- Cover the parts that matter for the request: architecture, boundaries, data flow, failure handling, rollout, testing, or UX
- Confirm the direction before handing off to implementation or writing a durable spec
Design for isolation and clarity:
- Break work into smaller units with one clear purpose
- Prefer well-defined interfaces and boundaries that are easy to understand and test
- Include targeted cleanups when current structure would otherwise make the change confusing or fragile
- Avoid unrelated refactoring
Working in existing codebases:
- Explore the current structure before proposing changes
- Follow established patterns unless the request explicitly calls for a new direction
- If existing code shape will block the goal, include the smallest design adjustment that makes the work clearer and safer
After the Design
Documentation:
- Write a spec only when it adds durable value: handoff, multi-session continuity, coordination across people or agents, or large multi-step work
- Default path:
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
- User preferences for spec location override the default
- Use
elements-of-style:writing-clearly-and-concisely if available
- Commit the spec when committing project artifacts is appropriate for the active workflow
Spec Self-Review:
If you write a spec, review it once before handing off:
- Placeholder scan: remove
TBD, TODO, and vague requirements
- Internal consistency: align architecture, scope, and feature descriptions
- Scope check: keep the work small enough for the next execution step
- Ambiguity check: choose and state the intended interpretation where wording could split
Fix issues inline and move on.
Handoff:
- If the outcome needs a separate implementation plan, invoke
writing-plans
- If the direction is already concrete enough, return control to the active implementation flow without forcing an extra planning phase
Key Principles
- Brainstorm only when needed — ambiguity reduction, not ritual
- One question at a time — avoid dumping a questionnaire on the user
- Multiple choice when helpful — reduce effort, do not constrain thought
- YAGNI ruthlessly — remove unnecessary features from the proposed design
- Explore real alternatives — compare materially different approaches
- Validate incrementally — confirm the direction before implementation
- Stay lightweight — stop once the path is clear
Visual Companion
A browser-based companion for showing mockups, diagrams, and visual options during brainstorming.
- Use it only when a visual artifact will clarify the question better than plain text
- Do not send a separate opt-in or consent message before using it
- If you switch to the browser, explain inline what you are showing and continue the conversation
- Keep text-first questions in the terminal, even if the topic is UI-related
A question about a UI topic is not automatically a visual question. "What does personality mean in this context?" is conceptual and belongs in the terminal. "Which wizard layout works better?" is visual and can use the browser.
If you choose to use the companion, read the detailed guide before proceeding:
skills/brainstorming/visual-companion.md
1---2name: brainstorming3description: Use when the user wants to shape an ambiguous feature, product idea, workflow, or UX direction before implementation, especially when requirements, trade-offs, or success criteria are still unclear. Do not use for straightforward bug fixes, direct implementation requests with a clear spec, small scoped edits, routine refactors, or config-only changes.4---56# Brainstorm Ambiguous Ideas Into Designs78Help turn partially formed requests into a clear direction, scoped design, or durable spec.910This skill is for reducing ambiguity. It is not a mandatory preflight for every implementation task.1112## Trigger Guardrails1314- Use this skill when the user is exploring options, asking for ideation, comparing directions, or lacks a concrete spec.15- Skip this skill when the request already names specific files, behaviors, acceptance criteria, or a clearly bounded change.16- Skip this skill for routine fixes, narrow refactors, dependency bumps, config changes, or other work where discovery would add friction.1718## Working Rule1920Do not block concrete work behind unnecessary brainstorming. When this skill is active, stay in discovery and design until the direction is clear enough to hand off to planning or implementation.2122## Checklist2324Complete these items in order:25261. **Explore project context** — check the relevant files, docs, and recent changes272. **Ask clarifying questions** — one at a time, only for the missing information that matters283. **Propose 2-3 approaches** — explain trade-offs and recommend one294. **Present the design** — scale the detail to the problem, then confirm the direction305. **Write a spec if needed** — do this when the result needs durable handoff, multi-step execution, or cross-session continuity316. **Transition onward** — invoke `writing-plans` if a separate implementation plan is needed; otherwise return to the active implementation flow3233## Process Flow3435```dot36digraph brainstorming {37 "Explore project context" [shape=box];38 "Ask clarifying questions" [shape=box];39 "Need visual artifact?" [shape=diamond];40 "Use visual companion inline" [shape=box];41 "Propose 2-3 approaches" [shape=box];42 "Present recommended design" [shape=box];43 "Direction confirmed?" [shape=diamond];44 "Write spec if needed" [shape=box];45 "Invoke writing-plans or implementation" [shape=doublecircle];4647 "Explore project context" -> "Ask clarifying questions";48 "Ask clarifying questions" -> "Need visual artifact?";49 "Need visual artifact?" -> "Use visual companion inline" [label="yes"];50 "Need visual artifact?" -> "Propose 2-3 approaches" [label="no"];51 "Use visual companion inline" -> "Propose 2-3 approaches";52 "Propose 2-3 approaches" -> "Present recommended design";53 "Present recommended design" -> "Direction confirmed?";54 "Direction confirmed?" -> "Ask clarifying questions" [label="not yet"];55 "Direction confirmed?" -> "Write spec if needed" [label="yes"];56 "Write spec if needed" -> "Invoke writing-plans or implementation";57}58```5960## The Process6162**Understanding the idea:**6364- Check the current project state first and follow existing patterns65- Assess scope early; if the request really contains multiple independent systems, decompose it before refining details66- Ask one question per message when questions are needed67- Prefer multiple choice when it reduces effort, but do not force it68- Focus on purpose, constraints, success criteria, and out-of-scope edges69- Stop asking once the direction is actionable; do not keep the loop alive for its own sake7071**Exploring approaches:**7273- Propose 2-3 viable approaches with clear trade-offs74- Lead with the recommended option and explain why it best fits the stated goals75- Keep alternatives meaningfully different; avoid cosmetic variations presented as separate options7677**Presenting the design:**7879- Present a design once the ambiguity has narrowed enough to make a recommendation80- Scale the output to the problem: a few sentences for small choices, fuller sections for larger systems81- Cover the parts that matter for the request: architecture, boundaries, data flow, failure handling, rollout, testing, or UX82- Confirm the direction before handing off to implementation or writing a durable spec8384**Design for isolation and clarity:**8586- Break work into smaller units with one clear purpose87- Prefer well-defined interfaces and boundaries that are easy to understand and test88- Include targeted cleanups when current structure would otherwise make the change confusing or fragile89- Avoid unrelated refactoring9091**Working in existing codebases:**9293- Explore the current structure before proposing changes94- Follow established patterns unless the request explicitly calls for a new direction95- If existing code shape will block the goal, include the smallest design adjustment that makes the work clearer and safer9697## After the Design9899**Documentation:**100101- Write a spec only when it adds durable value: handoff, multi-session continuity, coordination across people or agents, or large multi-step work102- Default path: `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`103- User preferences for spec location override the default104- Use `elements-of-style:writing-clearly-and-concisely` if available105- Commit the spec when committing project artifacts is appropriate for the active workflow106107**Spec Self-Review:**108109If you write a spec, review it once before handing off:1101111. **Placeholder scan:** remove `TBD`, `TODO`, and vague requirements1122. **Internal consistency:** align architecture, scope, and feature descriptions1133. **Scope check:** keep the work small enough for the next execution step1144. **Ambiguity check:** choose and state the intended interpretation where wording could split115116Fix issues inline and move on.117118**Handoff:**119120- If the outcome needs a separate implementation plan, invoke `writing-plans`121- If the direction is already concrete enough, return control to the active implementation flow without forcing an extra planning phase122123## Key Principles124125- **Brainstorm only when needed** — ambiguity reduction, not ritual126- **One question at a time** — avoid dumping a questionnaire on the user127- **Multiple choice when helpful** — reduce effort, do not constrain thought128- **YAGNI ruthlessly** — remove unnecessary features from the proposed design129- **Explore real alternatives** — compare materially different approaches130- **Validate incrementally** — confirm the direction before implementation131- **Stay lightweight** — stop once the path is clear132133## Visual Companion134135A browser-based companion for showing mockups, diagrams, and visual options during brainstorming.136137- Use it only when a visual artifact will clarify the question better than plain text138- Do not send a separate opt-in or consent message before using it139- If you switch to the browser, explain inline what you are showing and continue the conversation140- Keep text-first questions in the terminal, even if the topic is UI-related141142A question about a UI topic is not automatically a visual question. "What does personality mean in this context?" is conceptual and belongs in the terminal. "Which wizard layout works better?" is visual and can use the browser.143144If you choose to use the companion, read the detailed guide before proceeding:145`skills/brainstorming/visual-companion.md`