home / skills / bbeierle12 / skill-mcp-claude / brainstorming

brainstorming skill

/skills/brainstorming

This skill guides feature ideation and design through structured, incremental questioning, helping teams define scope before coding.

npx playbooks add skill bbeierle12/skill-mcp-claude --skill brainstorming

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.0 KB
---
name: brainstorming
description: Use when starting any feature, project, or design work. Guides collaborative design refinement through incremental questioning before any code is written.
---

# Brainstorming

## Core Principle

**Design before code. Always.**

Don't jump into implementation. Tease out the spec through conversation first.

## The Brainstorming Process

### Step 1: Understand the Goal
Ask clarifying questions:
- What problem are we solving?
- Who is the user?
- What does success look like?
- What are the constraints?

**One question at a time** - Don't overwhelm with multiple questions.

### Step 2: Explore the Space
- What are the possible approaches?
- What are the trade-offs?
- What similar problems exist?
- What patterns apply?

### Step 3: Propose Alternatives
Always present **2-3 approaches** before settling:

```markdown
## Option A: [Name]
- Pros: ...
- Cons: ...
- Best when: ...

## Option B: [Name]
- Pros: ...
- Cons: ...
- Best when: ...

## Option C: [Name]
- Pros: ...
- Cons: ...
- Best when: ...

**Recommendation:** Option [X] because...
```

### Step 4: Incremental Validation
Present design in digestible chunks:
- Show one section at a time
- Get sign-off before moving on
- Allow for course corrections

### Step 5: Document the Design
Save to: `docs/plans/YYYY-MM-DD-<topic>-design.md`

## YAGNI Ruthlessly

During brainstorming, actively remove:
- Features that "might be nice"
- Edge cases that "could happen"
- Abstractions for "future flexibility"
- Optimizations for "scale we might need"

Ask: **"Do we need this for the MVP?"**

## Question Techniques

### Multiple Choice Preferred
Instead of: "How should we handle errors?"
Ask: "For error handling, should we: A) Return error codes, B) Throw exceptions, C) Use Result types?"

### Constrained Questions
Instead of: "What should the API look like?"
Ask: "Should this be REST, GraphQL, or RPC?"

### Assumption Surfacing
- "I'm assuming X. Is that correct?"
- "This depends on Y. Is that available?"
- "The constraint seems to be Z. Agreed?"

## Output: Design Document

```markdown
# [Feature Name] Design

## Problem Statement
What problem are we solving?

## Goals
- Goal 1
- Goal 2

## Non-Goals
- Explicitly out of scope item 1
- Explicitly out of scope item 2

## Proposed Solution
Overview of the approach

## Alternatives Considered
Why we didn't choose other approaches

## Technical Design
### Component A
...
### Component B
...

## Open Questions
- Question 1
- Question 2

## Next Steps
1. Step 1
2. Step 2
```

## Transition to Implementation

After design is approved:
1. Ask: "Ready to set up for implementation?"
2. Use `using-git-worktrees` skill to create isolated workspace
3. Use `writing-plans` skill to create detailed implementation plan

## Anti-Patterns

### Don't Do This
- Start coding before design is clear
- Present only one option
- Ask open-ended questions when specific ones work
- Skip validation of each section
- Assume requirements are complete
- Over-engineer the initial design

Overview

This skill guides teams through structured brainstorming before any code is written. It enforces a design-first mindset, surfaces assumptions, and produces a compact design document that can be reviewed and approved. The process emphasizes short, incremental steps and multiple alternatives so decisions are deliberate and testable.

How this skill works

The skill asks targeted, one-at-a-time questions to clarify goals, users, success criteria, and constraints. It explores the solution space, presents 2–3 concrete alternatives with pros/cons, and collects incremental sign-off on each section. Finally, it consolidates decisions into a concise design document and lists next steps for implementation.

When to use it

  • Starting a new feature or project before any implementation
  • Redefining scope for an existing feature or pivoting direction
  • Design reviews where clear alternatives and trade-offs are needed
  • When teams are tempted to start coding without a shared spec
  • Onboarding stakeholders to align goals and constraints

Best practices

  • Ask one focused question at a time to avoid overload
  • Always present at least two alternatives before recommending one
  • Ruthlessly remove non-MVP features and speculative abstractions
  • Validate each design chunk with a quick sign-off before proceeding
  • Surface assumptions explicitly and convert them to open questions

Example use cases

  • Kickoff for a new product feature to define goals, non-goals, and success metrics
  • Choosing API style: ask REST vs GraphQL vs RPC and weigh trade-offs
  • Designing a UI flow: propose 2–3 interaction variants and collect stakeholder preference
  • Refining scope for an MVP by removing ‘nice-to-have’ items and confirming constraints
  • Preparing a compact design doc to hand off to engineering after approval

FAQ

How many alternatives should I present?

Present 2–3 distinct approaches with pros, cons, and when each is best. That balance gives options without overwhelming reviewers.

What counts as MVP scope?

MVP includes only what is required to deliver the core user value and measurable success criteria. Exclude speculative features, broad abstractions, and optimizations for scale not yet needed.