brainstorming

Use when creating or developing anything, before writing code or implementation plans - refines rough ideas into fully-formed designs through structured Socratic questioning, alternative exploration, and incremental validation

$ 설치

git clone https://github.com/ArieGoldkin/ai-agent-hub /tmp/ai-agent-hub && cp -r /tmp/ai-agent-hub/skills/brainstorming ~/.claude/skills/ai-agent-hub

// tip: Run this command in your terminal to install the skill


name: brainstorming description: Use when creating or developing anything, before writing code or implementation plans - refines rough ideas into fully-formed designs through structured Socratic questioning, alternative exploration, and incremental validation

Brainstorming Ideas Into Designs

Overview

Transform rough ideas into fully-formed designs through structured questioning and alternative exploration.

Core principle: Ask questions to understand, explore alternatives, present design incrementally for validation.

Announce skill usage at start of session.

When to Use This Skill

Activate this skill when:

  • Request contains "I have an idea for..." or "I want to build..."
  • User asks "help me design..." or "what's the best approach for..."
  • Requirements are vague or high-level
  • Multiple approaches might work
  • Before writing any code or implementation plans

The Three-Phase Process

PhaseKey ActivitiesTool UsageOutput
1. UnderstandingAsk questions (one at a time)AskUserQuestion for choicesPurpose, constraints, criteria
2. ExplorationPropose 2-3 approachesAskUserQuestion for approach selectionArchitecture options with trade-offs
3. Design PresentationPresent in 200-300 word sectionsOpen-ended questionsComplete design with validation

Phase 1: Understanding

Goal: Gather purpose, constraints, and success criteria.

Process:

  • Check current project state in working directory
  • Ask ONE question at a time to refine the idea
  • Use AskUserQuestion tool when presenting multiple choice options
  • Gather: Purpose, constraints, success criteria

Tool Usage: Use AskUserQuestion for clarifying questions with 2-4 clear options.

Example: "Where should the authentication data be stored?" with options for Session storage, Local storage, Cookies, each with trade-off descriptions.

See references/example-session-auth.md for complete Phase 1 example.

Phase 2: Exploration

Goal: Propose 2-3 different architectural approaches with explicit trade-offs.

Process:

  • Propose 2-3 different approaches
  • For each: Core architecture, trade-offs, complexity assessment
  • Use AskUserQuestion tool to present approaches as structured choices
  • Include trade-off comparison table when helpful

Trade-off Format:

ApproachProsConsComplexity
Option 1BenefitsDrawbacksLow/Med/High
Option 2BenefitsDrawbacksLow/Med/High
Option 3BenefitsDrawbacksLow/Med/High

See references/example-session-dashboard.md for complete Phase 2 example with SSE vs WebSockets vs Polling comparison.

Phase 3: Design Presentation

Goal: Present complete design incrementally, validating each section.

Process:

  • Present in 200-300 word sections
  • Cover: Architecture, components, data flow, error handling, testing
  • Ask after each section: "Does this look right so far?"
  • Use open-ended questions to allow freeform feedback

Typical Sections:

  1. Architecture overview
  2. Component details
  3. Data flow
  4. Error handling
  5. Security considerations
  6. Implementation priorities

Validation Pattern: After each section, pause for feedback before proceeding to next section.

Tool Usage Guidelines

Use AskUserQuestion Tool For:

  • Phase 1: Clarifying questions with 2-4 clear options
  • Phase 2: Architectural approach selection (2-3 alternatives)
  • Any decision with distinct, mutually exclusive choices
  • When options have clear trade-offs to explain

Benefits:

  • Structured presentation of options with descriptions
  • Clear trade-off visibility
  • Forces explicit choice (prevents vague "maybe both" responses)

Use Open-Ended Questions For:

  • Phase 3: Design validation
  • When detailed feedback or explanation is needed
  • When the user should describe their own requirements
  • When structured options would limit creative input

Non-Linear Progression

Flexibility is key. Go backward when needed - don't force linear progression.

Return to Phase 1 when:

  • User reveals new constraint during Phase 2 or 3
  • Validation shows fundamental gap in requirements
  • Something doesn't make sense

Return to Phase 2 when:

  • User questions the chosen approach during Phase 3
  • New information suggests a different approach would be better

Continue forward when:

  • All requirements are clear
  • Chosen approach is validated
  • No new constraints emerge

Key Principles

PrincipleApplication
One question at a timePhase 1: Single question per message, use AskUserQuestion for choices
Structured choicesUse AskUserQuestion tool for 2-4 options with trade-offs
YAGNI ruthlesslyRemove unnecessary features from all designs
Explore alternativesAlways propose 2-3 approaches before settling
Incremental validationPresent design in sections, validate each
Flexible progressionGo backward when needed - flexibility > rigidity

After Brainstorming Completes

Consider these optional next steps:

  • Document the design in project's design documentation
  • Break down the design into actionable implementation tasks
  • Create a git branch or workspace for isolated development

Use templates in assets/design-doc-template.md and assets/decision-matrix-template.md for structured documentation.

Examples

Complete brainstorming sessions:

  • references/example-session-auth.md - Authentication storage design (JWT vs Session vs Cookies)
  • references/example-session-dashboard.md - Real-time dashboard design (SSE vs WebSockets vs Polling)

Output templates:

  • assets/design-doc-template.md - Structured design document format
  • assets/decision-matrix-template.md - Weighted decision comparison format