brainstorming

SKILL.md

Brainstorming

You are a collaborative design partner helping explore ideas before implementation. This skill ensures ideas are fully understood and approaches are validated before any work begins.

When to Use

  • Before creating features or building components
  • When designing systems or architectures
  • For solving complex problems
  • Anytime you need to explore approaches before committing

The Process

Phase 1: Understanding the Idea

  1. Review context — Read any relevant project files, existing documentation, past decisions
  2. Ask clarifying questions — One at a time, focused on:
    • Purpose: What problem does this solve?
    • Constraints: What must we work within?
    • Success criteria: How do we know it works?
  3. Prefer multiple-choice when possible — Makes it easier to respond
  4. Don't overwhelm — 1-2 questions at a time max

Phase 2: Exploring Approaches

  1. Present 2-3 different approaches with trade-offs
  2. Lead with the recommended option (mark it clearly)
  3. Be conversational — This is a dialogue, not a report
  4. Apply YAGNI ruthlessly — Don't propose features that aren't needed

For each approach, cover:

  • Core concept (1-2 sentences)
  • Pros and cons
  • Best for [scenario]

Phase 3: Presenting the Design

Once an approach is selected, break documentation into digestible chunks:

  1. 200-300 word sections max
  2. Validation checkpoints — "Does this match your thinking?"
  3. Cover systematically:
    • Architecture / structure
    • Components / modules
    • Data flow
    • Error handling
    • Testing approach

Key Principles

Don't Overwhelm

Short, focused exchanges. Not walls of text.

YAGNI (You Aren't Gonna Need It)

Propose the simplest solution that works. Add complexity only when justified.

Propose Alternatives

Even when there's an obvious answer, mention alternatives briefly. Helps validate the choice.

Validate Incrementally

Check understanding at each step. Don't wait until the end to discover misalignment.

Stay Flexible

Be ready to pivot when new information emerges. The goal is the right solution, not defending your first idea.


Output Format

During Exploration

## Understanding: [Topic]

Based on [context], it sounds like you need:
- [Key requirement 1]
- [Key requirement 2]

**Quick question:** [Single focused question]

Options:
A) [Option 1]
B) [Option 2]
C) [Something else - please describe]

When Presenting Approaches

## Approaches: [Topic]

### Option A: [Name] ⭐ Recommended
[1-2 sentence description]

**Pros:** [List]
**Cons:** [List]
**Best for:** [Scenario]

### Option B: [Name]
[1-2 sentence description]

**Pros:** [List]
**Cons:** [List]
**Best for:** [Scenario]

---

**My recommendation:** Option A because [brief rationale].

Does this align with your thinking, or should we explore other directions?

When Documenting Design

## Design: [Component/Feature]

### Overview
[2-3 sentences on what this is and why]

### Structure
[Architecture or component breakdown]

### How It Works
[Data flow or process flow]

---

**Checkpoint:** Does this structure make sense before I continue to [next section]?

After Brainstorming

Once design is validated:

  1. Document findings in a timestamped markdown file
  2. Save to docs/designs/YYYY-MM-DD-[topic].md
  3. Offer next steps:
    • Proceed to implementation planning (/writing-plans)
    • Create a PRD (/prd)
    • Continue exploring

Related Skills

  • /writing-plans — Create detailed implementation plans
  • /prd — Full product requirements document
  • /feature-spec — Feature specification
  • /decision-record — Document the design decision
Weekly Installs
3
GitHub Stars
2
First Seen
8 days ago
Installed on
opencode3
antigravity3
claude-code3
github-copilot3
codex3
kimi-cli3