Brainstorming Complex Feature

Collaborative workflow for transforming vague ideas into well-defined features through structured dialogue before specification.

For well-defined requirements, skip brainstorming and use Spec-Driven Development directly.

When to Use

  • Unclear or incomplete requirements that need refinement

  • Exploring multiple approaches before committing to a direction

  • New features where you know the goal but not the implementation

  • Stakeholder alignment needed before detailed planning

Plugins needed for this workflow

Workflow

How It Works

┌─────────────────────────────────────────────┐
│ 1. Brainstorm the Idea                      │
│    (collaborative Q&A refinement)           │
└────────────────────┬────────────────────────┘

                     │ LLM asks questions one at a time

┌─────────────────────────────────────────────┐
│ 2. Explore Approaches                       │ ◀─── refine understanding ────┐
│    (evaluate 2-3 options with trade-offs)   │                               │
└────────────────────┬────────────────────────┘                               │
                     │                                                        │
                     │ select preferred approach                              │
                     ▼                                                        │
┌─────────────────────────────────────────────┐                               │
│ 3. Present Design                           │───────────────────────────────┘
│    (incremental validation in sections)     │
└────────────────────┬────────────────────────┘

                     │ validated design saved to docs/plans/

┌─────────────────────────────────────────────┐
│ 4. Create Specification                     │
│    (formal feature spec from design)        │
└────────────────────┬────────────────────────┘

                     │ continue with SDD workflow

┌─────────────────────────────────────────────┐
│ 5-8. Plan, Implement, Review, Document      │
│    (standard SDD phases)                    │
└─────────────────────────────────────────────┘

1. Brainstorm the idea

Use the /sdd:brainstorm command to start a collaborative dialogue. The LLM will explore your project context and ask clarifying questions one at a time.

After starting, the LLM will:

  • Review your project structure, docs, and recent commits

  • Ask focused questions (preferring multiple choice when possible)

  • Help you define purpose, constraints, and success criteria

Answer each question to progressively refine the idea. The conversation continues until requirements are clear.

2. Explore approaches

Once the LLM understands your needs, it will propose 2-3 different approaches with trade-offs.

After reviewing options, select your preferred approach or ask for more exploration. The LLM leads with its recommendation and explains the reasoning.

3. Present design

The LLM presents the validated approach as a design document in 200-300 word sections, checking after each section whether it looks right.

After each section, confirm it matches your expectations or request changes. Once complete, the design is saved to docs/plans/YYYY-MM-DD-<topic>-design.md.

4. Create specification

Use the /sdd:01-specify command to create a formal specification from the refined design.

After LLM completes, review the specification in the specs/ directory. This becomes the foundation for implementation planning.

5. Plan architecture

Use the /sdd:02-plan command to create the implementation plan based on your specification.

After LLM completes, review the proposed architecture and technical decisions.

6. Break down into tasks

Use the /sdd:03-tasks command to create actionable implementation tasks.

After LLM completes, review the task list and adjust priorities as needed.

7. Implement features

Use the /sdd:04-implement command to execute the implementation.

During implementation, the LLM updates task progress and follows TDD approach with quality review.

8. Review and document

Complete the workflow with code review, documentation, and pull request creation. More info in Spec-Driven Development workflow.

After completion, your feature is ready for merge with full documentation in the docs/ directory.

Key Principles

The brainstorming phase follows these principles to ensure productive refinement:

  • One question at a time - Focused dialogue prevents overwhelm

  • Multiple choice preferred - Easier to answer than open-ended questions

  • YAGNI ruthlessly - Remove unnecessary features from designs

  • Explore alternatives - Always consider 2-3 approaches before committing

  • Incremental validation - Present design in sections, validate each one

Last updated