home / skills / xenitv1 / claude-code-maestro / brainstorming

brainstorming skill

/skills/brainstorming

This skill helps turn ideas into concrete specs by guiding design-first brainstorming, clarifying requirements, and presenting iterative, testable plans.

npx playbooks add skill xenitv1/claude-code-maestro --skill brainstorming

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

Files (1)
SKILL.md
7.8 KB
---
name: brainstorming
description: Design-first methodology. Explore user intent, requirements and design before implementation. Turn ideas into fully formed specs through collaborative dialogue.
---
<domain_overview>
# πŸ’‘ BRAINSTORMING: DESIGN BEFORE CODE
> **Philosophy:** Understanding comes before implementation. A well-designed solution is half-implemented. Never code without a clear design.

**HALLUCINATION FIREWALL MANDATE (CRITICAL):** Never propose software components or libraries without verification. AI-generated designs frequently fail by hallucinating non-existent packages or misinterpreting their capabilities. Every recommended 3rd-party library MUST be validated using `npm info` or equivalent before the plan is finalized. Furthermore, you MUST provide at least one 'Counter-Architecture' (Steel-man argument) that challenges your primary recommendation to prevent homogenized or biased designs.
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
**Process:**
1. Understand the current project context
2. Ask questions one at a time to refine the idea
3. Present the design in small sections (200-300 words)
4. Check after each section whether it looks right
---
## πŸ“‹ WHEN TO USE
**MUST use before:**
- Creating new features
- Building new components
- Adding significant functionality
- Modifying core behavior
- Any task that takes more than 30 minutes
**Skip only for:**
- Simple bug fixes with obvious solutions
- Documentation updates
- Trivial configuration changes
</domain_overview>
<process_workflow>
## πŸ”„ THE PROCESS
### Phase 1: Understanding the Idea
**First, check current project state:**
- Review relevant files and docs
- Check recent commits
- Understand existing patterns
**Then ask questions one at a time:**
- **MANDATORY:** Use the `AskUserQuestion` tool for ALL questions.
- Prefer multiple choice options within the tool whenever possible.
- Open-ended questions should also use `AskUserQuestion` (users can use the 'Other' option).
- **Only one question per tool call.**
- If topic needs more exploration, break into multiple sequential tool calls.
**Focus on understanding:**
- Purpose: What problem does this solve?
- Constraints: What limitations exist?
- Success criteria: How do we know it works?
- Edge cases: What could go wrong?
### Phase 2: Exploring Approaches
**Always propose 2-3 different approaches with trade-offs:**
```
I see three possible approaches:
**Option A: [Name]**
- Pros: Simple, fast to implement
- Cons: May not scale, harder to test
- Best for: Quick prototypes
**Option B: [Name]**
- Pros: Scalable, well-tested pattern
- Cons: More complex, longer implementation
- Best for: Production systems
**Option C: [Name]**
- Pros: Flexible, future-proof
- Cons: Over-engineered for current needs
- Best for: When requirements are uncertain
**My recommendation:** Option B because [reasoning]
Which approach resonates with your goals?
```
**Lead with your recommended option and explain why.**
### Phase 3: Presenting the Design
**Once you understand what you're building, present the design:**
1. **Break it into sections of 200-300 words**
2. **Ask after each section:** "Does this look right so far?"
3. **Be ready to go back and clarify** if something doesn't make sense
**Cover these areas:**
- Architecture: How components fit together
- Components: What pieces we need to build
- Data flow: How information moves through the system
- Error handling: What happens when things fail
- Testing: How we verify it works
### Phase 4: Documentation
**After design is validated:**
1. Write the design to `docs/plans/YYYY-MM-DD-<topic>-design.md`
2. Commit the design document to git
3. Ask: "Ready to set up for implementation?"
</process_workflow>
<methodology_protocols>
## 🎀 QUESTION TECHNIQUES
### Multiple Choice (MANDATORY TOOL USE)
Always use the `AskUserQuestion` tool for structured feedback:
```json
{
  "questions": [
    {
      "header": "Auth Method",
      "question": "How should users authenticate?",
      "options": [
        {"label": "JWT Tokens", "description": "Stateless, scalable"},
        {"label": "Server Sessions", "description": "Simple, secure"},
        {"label": "OAuth Only", "description": "Delegate to providers"}
      ],
      "multiSelect": false
    }
  ]
}
```
### Open-Ended (Using Tool)
Even for open-ended questions, use the tool. The CLI will provide an "Other" option for custom text input.
"What's the most important user story for this feature?"
### Clarifying
"You mentioned 'fast' - what response time would feel fast enough?"
---
## 🚫 ANTI-PATTERNS TO AVOID
| Anti-Pattern | Better Approach |
|--------------|-----------------|
| Multiple questions at once | One question per message |
| Jumping to implementation | Complete design first |
| Assuming requirements | Ask to confirm |
| Presenting 1000-word designs | 200-300 word sections |
| Ignoring trade-offs | Always present alternatives |
| Skipping edge cases | Explore failure modes |
</methodology_protocols>
<design_artifacts>
## πŸ“ DESIGN DOCUMENT TEMPLATE
```markdown
# [Feature Name] Design
**Date:** YYYY-MM-DD
**Author:** Grandmaster (with user collaboration)
**Status:** Draft | Approved | Implemented
## Problem Statement
What problem are we solving? Why does it matter?
## Goals
- Primary goal
- Secondary goals
- Non-goals (explicitly out of scope)
## Approach
### Architecture
How components fit together.
### Components
1. **Component A**
   - Purpose
   - Interface
   - Dependencies
2. **Component B**
   - Purpose
   - Interface
   - Dependencies
### Data Flow
1. User action triggers X
2. X calls Y with Z
3. Y returns result
4. Result displayed to user
### Error Handling
| Error | Handling | User Message |
|-------|----------|--------------|
| Network failure | Retry 3x | "Connection lost, retrying..." |
| Invalid input | Reject | "Please check your input" |
## Testing Strategy
- Unit tests for each component
- Integration test for happy path
- Edge case tests for error handling
## Open Questions
- [ ] Question 1
- [ ] Question 2
## Decision Log
| Date | Decision | Rationale |
|------|----------|-----------|
| YYYY-MM-DD | Chose Option B | Better scalability |
```
</design_artifacts>
<integration_protocols>
## πŸ”— INTEGRATION WITH MAESTRO
### Triggering Brainstorming
User can invoke explicitly:
```
/maestro design [feature description]
```
Or system detects complex task and suggests:
```
This looks like a significant feature. Would you like to 
brainstorm the design first, or proceed directly?
```
### After Brainstorming
1. **If continuing to implementation:**
   - Use `@planning-mastery` to create detailed plan
   - Use `@git-worktrees` to create isolated workspace
2. **If pausing:**
   - Design document is saved
   - Can resume later with `/maestro plan [design-doc]`
---
## πŸ”— RALPH WIGGUM INTEGRATION
When Ralph Wiggum is active with "Feature Mode":
1. **Before first iteration:** Run brainstorming phase
2. **Design document:** Required before implementation begins
3. **Scope lock:** Don't add features not in design
4. **Design changes:** Require explicit approval
</integration_protocols>
<audit_and_reference>
## πŸ“‹ KEY PRINCIPLES
| Principle | Description |
|-----------|-------------|
| **One question at a time** | Don't overwhelm with multiple questions |
| **Multiple choice preferred** | Easier to answer than open-ended |
| **YAGNI ruthlessly** | Remove unnecessary features from designs |
| **Explore alternatives** | Always propose 2-3 approaches |
| **Incremental validation** | Present design in sections, validate each |
| **Be flexible** | Go back and clarify when needed |
---
## πŸ”— RELATED SKILLS
- **@planning-mastery** - Create implementation plan from design
- **@git-worktrees** - Set up isolated workspace
- **@tdd-mastery** - Implement with tests first
- **@clean-code** - Quality standards for implementation
</audit_and_reference>

Overview

This skill enforces a design-first methodology that turns ideas into validated, implementable specs through collaborative dialogue. It guides teams to understand intent, ask focused questions, and produce incremental design sections before any code is written. The process reduces rework and clarifies success criteria, constraints, and edge cases.

How this skill works

The skill inspects project context (files, recent commits, and existing patterns) and then drives a one-question-at-a-time discovery using structured multiple-choice or open responses. It always presents 2–3 alternative approaches with trade-offs, leads with a recommended option, and breaks the approved design into 200–300 word sections for iterative validation. Before finalizing plans it mandates verification of any third-party library (e.g., using npm info) and requires at least one counter-architecture to challenge the recommendation.

When to use it

  • Before adding new features or building new components
  • When changing core behavior or adding significant functionality
  • For tasks expected to take more than 30 minutes
  • When multiple teams or stakeholders must align on scope
  • Skip only for trivial fixes, docs edits, or obvious small config changes

Best practices

  • Ask one focused question at a time and prefer multiple-choice responses
  • Always present 2–3 approaches with clear pros, cons, and a recommended option
  • Validate any third-party dependency with a package registry check before recommending it
  • Break the design into 200–300 word sections and confirm after each section
  • Include a steel‑man counter-architecture to surface trade-offs and avoid bias

Example use cases

  • Designing a new authentication flow for a web app with stakeholder alignment
  • Planning a refactor of a core component where backward compatibility matters
  • Scoping a feature that integrates external services and requires dependency review
  • Creating a testing and error-handling strategy for a critical path
  • Drafting a production-ready architecture versus a quick prototype trade-off

FAQ

Do you ever jump to implementation?

No. The process requires a validated design first; implementation is only suggested after the design is approved.

How are third-party libraries recommended?

Any recommended library must be verified (for example with npm info or equivalent) before the plan is finalized.