Brainstorming Ideas Into Requirements
Overview
Help turn ideas into validated, testable requirement specifications through natural collaborative dialogue. The process starts by understanding user intent, explores approaches, refines design through incremental validation, and produces formal PRD and BDD acceptance documents.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once the design is validated, produce a formal PRD and BDD acceptance criteria — all before any technical implementation begins.
The Process
Understanding the idea:
- Check out the current project state first (files, docs, recent commits)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message - if a topic needs more exploration, break it into multiple questions
- Focus on understanding: purpose, constraints, success criteria
Exploring approaches:
- Propose 2-3 different approaches with trade-offs
- Present options conversationally with your recommendation and reasoning
- Lead with your recommended option and explain why
Presenting the design:
- Once you believe you understand what you're building, present the design
- Break it into sections of 200-300 words
- Ask after each section whether it looks right so far
- Cover: architecture, components, data flow, error handling, state behavior, edge cases, testing
- Be ready to go back and clarify if something doesn't make sense
Validating for testability (BDD readiness check):
After the full design is presented and validated, run every design point through this checklist before finalizing:
| Dimension |
Question to verify |
| Input/Output format |
Are the exact formats of inputs and outputs specified? (data types, structure, encoding) |
| Error & exception scenarios |
Is every failure mode explicitly described with its expected behavior? (not just the happy path) |
| Boundary & priority rules |
When ambiguity or conflict can arise, are the resolution rules defined? (precedence, fallback, default values) |
| State behavior |
Is it clear what state persists, what is isolated, and what resets? (sessions, variables, side effects) |
| Verifiable granularity |
Can each behavior be independently tested with concrete steps and a single expected outcome? |
| Ambiguity check |
Are there any implicit assumptions that different readers could interpret differently? |
How to use the checklist:
- For each design section, evaluate all 6 dimensions
- Any dimension that fails → go back to the user with a targeted question to fill the gap
- Do NOT silently assume defaults — if the PRD will be consumed downstream (e.g., converted to BDD test cases), ambiguity is a defect
- Only proceed to documentation once all design points pass all 6 dimensions
- Mark dimensions as "N/A" only when genuinely not applicable (e.g., stateless operations have no state behavior)
After the Design
Phase 1: PRD Specification
Goal: Transform the validated design into a formal, testable PRD.
Read references/prd-template.md for the document template.
Execution rules:
- Write the PRD based on conversation history and the validated design
- Write to:
docs/requirements/YYYY-MM-DD-<topic>-prd.md
- Present the PRD to the user section by section (300-500 words per section), confirming each before moving on
- Cross-check: Verify every design point is captured in the PRD — flag any gaps
- If gaps exist, present them to the user for resolution before proceeding
- Run the BDD readiness check (see checklist above) on every functional requirement
- Any dimension that fails → go back to the user with a targeted question. Do NOT silently assume defaults.
Phase 2: BDD Acceptance Documents
Goal: Generate machine-parseable BDD acceptance criteria that map 1:1 to PRD requirements.
Read references/bdd-template.md for the JSON schema and writing guide.
Execution rules:
- Create directory:
docs/requirements/YYYY-MM-DD-<topic>-bdd/
- Generate one JSON file per feature:
<feature-name>.json
- Each JSON file follows the schema defined in
references/bdd-template.md
- Set all
passes and overallPass to false (not yet tested)
- Cover: normal flows, error flows, boundary conditions for each feature
- Cross-check: Compare every PRD functional requirement against BDD scenarios — ensure complete coverage
- If coverage gaps found, add missing scenarios
- Present the coverage mapping to the user for final validation
Phase 3: Summary Report
After all documents are complete, present a summary to the user:
- Design decisions made during brainstorming (key choices and reasoning)
- PRD file path and requirement count (Must/Should/Could breakdown)
- BDD directory path, feature count, and total scenario count
- Open questions still unresolved (if any)
- Coverage status: Confirm PRD ↔ BDD alignment is complete
Continuing to Implementation (optional)
- Ask: "Ready to set up for implementation?"
- Use superpowers:using-git-worktrees to create isolated workspace if available
- Use superpowers:writing-plans to create detailed implementation plan if available
Key Principles
- One question at a time - Don't overwhelm with multiple questions
- Multiple choice preferred - Easier to answer than open-ended when possible
- YAGNI ruthlessly - Remove unnecessary features from all designs
- Explore alternatives - Always propose 2-3 approaches before settling
- Incremental validation - Present design in sections, validate each
- Be flexible - Go back and clarify when something doesn't make sense
- No silent assumptions - If ambiguous, ask; never fill in defaults
- Separate problem from solution - Requirements describe WHAT, not HOW
1---2name: brainstorming3description: You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.4---56# Brainstorming Ideas Into Requirements78## Overview910Help turn ideas into validated, testable requirement specifications through natural collaborative dialogue. The process starts by understanding user intent, explores approaches, refines design through incremental validation, and produces formal PRD and BDD acceptance documents.1112Start by understanding the current project context, then ask questions one at a time to refine the idea. Once the design is validated, produce a formal PRD and BDD acceptance criteria — all before any technical implementation begins.1314## The Process1516**Understanding the idea:**17- Check out the current project state first (files, docs, recent commits)18- Ask questions one at a time to refine the idea19- Prefer multiple choice questions when possible, but open-ended is fine too20- Only one question per message - if a topic needs more exploration, break it into multiple questions21- Focus on understanding: purpose, constraints, success criteria2223**Exploring approaches:**24- Propose 2-3 different approaches with trade-offs25- Present options conversationally with your recommendation and reasoning26- Lead with your recommended option and explain why2728**Presenting the design:**29- Once you believe you understand what you're building, present the design30- Break it into sections of 200-300 words31- Ask after each section whether it looks right so far32- Cover: architecture, components, data flow, error handling, state behavior, edge cases, testing33- Be ready to go back and clarify if something doesn't make sense3435**Validating for testability (BDD readiness check):**3637After the full design is presented and validated, run every design point through this checklist before finalizing:3839| Dimension | Question to verify |40|---|---|41| Input/Output format | Are the exact formats of inputs and outputs specified? (data types, structure, encoding) |42| Error & exception scenarios | Is every failure mode explicitly described with its expected behavior? (not just the happy path) |43| Boundary & priority rules | When ambiguity or conflict can arise, are the resolution rules defined? (precedence, fallback, default values) |44| State behavior | Is it clear what state persists, what is isolated, and what resets? (sessions, variables, side effects) |45| Verifiable granularity | Can each behavior be independently tested with concrete steps and a single expected outcome? |46| Ambiguity check | Are there any implicit assumptions that different readers could interpret differently? |4748**How to use the checklist:**49- For each design section, evaluate all 6 dimensions50- Any dimension that fails → go back to the user with a targeted question to fill the gap51- Do NOT silently assume defaults — if the PRD will be consumed downstream (e.g., converted to BDD test cases), ambiguity is a defect52- Only proceed to documentation once all design points pass all 6 dimensions53- Mark dimensions as "N/A" only when genuinely not applicable (e.g., stateless operations have no state behavior)5455## After the Design5657### Phase 1: PRD Specification5859**Goal**: Transform the validated design into a formal, testable PRD.6061Read `references/prd-template.md` for the document template.6263**Execution rules**:641. Write the PRD based on conversation history and the validated design652. Write to: `docs/requirements/YYYY-MM-DD-<topic>-prd.md`663. Present the PRD to the user section by section (300-500 words per section), confirming each before moving on674. **Cross-check**: Verify every design point is captured in the PRD — flag any gaps685. If gaps exist, present them to the user for resolution before proceeding696. Run the **BDD readiness check** (see checklist above) on every functional requirement707. Any dimension that fails → go back to the user with a targeted question. Do NOT silently assume defaults.7172### Phase 2: BDD Acceptance Documents7374**Goal**: Generate machine-parseable BDD acceptance criteria that map 1:1 to PRD requirements.7576Read `references/bdd-template.md` for the JSON schema and writing guide.7778**Execution rules**:791. Create directory: `docs/requirements/YYYY-MM-DD-<topic>-bdd/`802. Generate one JSON file per feature: `<feature-name>.json`813. Each JSON file follows the schema defined in `references/bdd-template.md`824. Set all `passes` and `overallPass` to `false` (not yet tested)835. Cover: normal flows, error flows, boundary conditions for each feature846. **Cross-check**: Compare every PRD functional requirement against BDD scenarios — ensure complete coverage857. If coverage gaps found, add missing scenarios868. Present the coverage mapping to the user for final validation8788### Phase 3: Summary Report8990After all documents are complete, present a summary to the user:91921. **Design decisions** made during brainstorming (key choices and reasoning)932. **PRD** file path and requirement count (Must/Should/Could breakdown)943. **BDD** directory path, feature count, and total scenario count954. **Open questions** still unresolved (if any)965. **Coverage status**: Confirm PRD ↔ BDD alignment is complete9798### Continuing to Implementation (optional)99100- Ask: "Ready to set up for implementation?"101- Use superpowers:using-git-worktrees to create isolated workspace if available102- Use superpowers:writing-plans to create detailed implementation plan if available103104## Key Principles105106- **One question at a time** - Don't overwhelm with multiple questions107- **Multiple choice preferred** - Easier to answer than open-ended when possible108- **YAGNI ruthlessly** - Remove unnecessary features from all designs109- **Explore alternatives** - Always propose 2-3 approaches before settling110- **Incremental validation** - Present design in sections, validate each111- **Be flexible** - Go back and clarify when something doesn't make sense112- **No silent assumptions** - If ambiguous, ask; never fill in defaults113- **Separate problem from solution** - Requirements describe WHAT, not HOW