Agent Skills: πŸ’‘ BRAINSTORMING: DESIGN BEFORE CODE

Design-first methodology. Explore user intent, requirements and design before implementation. Turn ideas into fully formed specs through collaborative dialogue.

UncategorizedID: xenitV1/claude-code-maestro/brainstorming

Install this agent skill to your local

pnpm dlx add-skill https://github.com/xenitV1/claude-code-maestro/tree/HEAD/skills/brainstorming

Skill Files

Browse the full folder contents for brainstorming.

Download Skill

Loading file tree…

skills/brainstorming/SKILL.md

Skill Metadata

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:

{
  "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

# [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>