brainstorming
Design-first methodology. Explore user intent, requirements and design before implementation. Turn ideas into fully formed specs through collaborative dialogue.
What this skill does
<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>
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context โ no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes โ information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development โ guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.