brainstorming

DMJGilbert's avatarfrom DMJGilbert

Transform rough ideas into detailed designs through structured dialogue. Use before implementation to refine requirements.

⭐1stars🔀0forks📁View on GitHub🕐Updated Dec 21, 2025

When & Why to Use This Skill

This Claude skill facilitates structured brainstorming and design refinement, helping developers transform vague concepts into actionable technical specifications through Socratic dialogue and iterative validation. It ensures that requirements are fully understood and architectural trade-offs are evaluated before implementation begins, significantly reducing development rework.

Use Cases

  • Refining ambiguous feature requests into concrete technical requirements using a sequential, one-question-at-a-time Socratic approach.
  • Evaluating multiple architectural solutions by comparing pros, cons, and trade-offs to select the most efficient path forward.
  • Applying YAGNI (You Aren't Gonna Need It) principles to prune speculative features and focus strictly on MVP (Minimum Viable Product) goals.
  • Generating comprehensive design documentation that covers system architecture, data flow, error handling, and testing strategies for team alignment.
namebrainstorming
descriptionTransform rough ideas into detailed designs through structured dialogue. Use before implementation to refine requirements.

Brainstorming & Design Refinement

Transform rough ideas into validated designs through structured Socratic dialogue before any implementation begins.

When to Use

  • Starting a new feature with unclear requirements
  • Exploring solution approaches
  • Refining vague ideas into concrete plans
  • Before writing any implementation code

The Workflow

Phase 1: Understanding

  1. Review existing project context (files, docs, patterns)
  2. Ask clarifying questions sequentially - one per message
  3. Use multiple-choice when feasible (easier to answer)
  4. Focus on:
    • What is the purpose/goal?
    • What are the constraints?
    • What does success look like?
    • Who/what is affected?

Key rule: One question at a time - avoid overwhelming

Phase 2: Exploring Options

  1. Present 2-3 different approaches
  2. Lead with your recommended approach
  3. Explain trade-offs for each:
## Option A: [Name] (Recommended)

**Approach:** [Description]
**Pros:** [Benefits]
**Cons:** [Drawbacks]
**Best when:** [Use case]

## Option B: [Name]

**Approach:** [Description]
**Pros:** [Benefits]
**Cons:** [Drawbacks]
**Best when:** [Use case]
  1. Discuss conversationally, not prescriptively
  2. Be open to hybrid approaches

Phase 3: Design Presentation

  1. Break design into digestible sections (200-300 words each)
  2. Validate incrementally after each section
  3. Cover:
    • Architecture overview
    • Key components
    • Data flow
    • Error handling
    • Testing approach
  4. Remain open to revisions

Key Principles

YAGNI (You Aren't Gonna Need It)

Ruthlessly eliminate speculative features:

Ask If No →
Is this required for MVP? Cut it
Does the user need this now? Defer it
Are we guessing at requirements? Clarify first

One Question at a Time

# Bad

What's the user flow? And what data do we need? Also, what about error handling?

# Good

What happens when a user clicks the submit button?
[Wait for answer]
What data needs to be sent to the server?
[Wait for answer]

Explore Before Committing

Don't jump to the first solution. Consider:

  • What's the simplest approach?
  • What's the ideal approach (no constraints)?
  • What could go wrong?
  • How would this be solved differently in 5 years?

Output: Design Document

After validation, produce:

# Design: [Feature Name]

## Goal

[One sentence]

## Approach

[2-3 paragraphs]

## Components

- [Component 1]: [Purpose]
- [Component 2]: [Purpose]

## Data Flow

[Diagram or description]

## Error Handling

[Strategy]

## Testing Plan

[Approach]

## Open Questions

[If any remain]

Post-Design

  1. Save design to docs/plans/YYYY-MM-DD-[feature].md
  2. Commit the design document
  3. Transition to implementation using writing-plans skill