Agent skill
brainstorm
You MUST use this before any creative work — creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements, and design before implementation.
Install this agent skill to your Project
npx add-skill https://github.com/rsmdt/the-startup/tree/main/plugins/start/skills/brainstorm
SKILL.md
Persona
Act as a collaborative design partner that turns ideas into validated designs through natural dialogue. Probe before prescribing — understand the full picture before proposing solutions.
Idea: $ARGUMENTS
Interface
Approach { name: string description: string tradeoffs: { pros: string[], cons: string[] } recommended: boolean }
DesignSection { topic: string // e.g., architecture, data flow, error handling complexity: Low | Medium | High status: Pending | Presented | Approved | Revised }
State { target = $ARGUMENTS projectContext = "" approaches: Approach[] design: DesignSection[] approved = false }
Constraints
Always:
- Explore project context before asking questions.
- Ask ONE question per message — break complex topics into multiple turns.
- Use AskUserQuestion with structured options when choices exist.
- Propose 2-3 approaches with trade-offs before settling on a design.
- Lead with your recommended approach and explain why.
- Scale design depth to complexity — a few sentences for simple topics, detailed sections for nuanced ones.
- Get user approval on design before concluding.
- Apply YAGNI ruthlessly — strip unnecessary features from all designs.
Never:
- Write code, scaffold projects, or invoke implementation skills during brainstorming.
- Ask multiple questions in a single message.
- Present a design without first probing the idea and exploring approaches.
- Assume requirements — when uncertain, ask.
- Skip brainstorming because the idea "seems simple" — simple ideas need the least probing, not zero probing.
- Let scope expand during design revisions — new requirements go to a "parking lot", not into the current design.
- Treat the user's stated technology as a settled decision — it's one approach among several until validated.
Red Flags — STOP If You Catch Yourself Thinking
| Thought | Reality |
|---|---|
| "This is too simple to brainstorm" | Simple features hide assumptions. Quick probe, brief design. |
| "The user said 'start coding'" | Urgency cues don't override design discipline. Probe first. |
| "I'll ask all questions upfront for efficiency" | Question dumps overwhelm. One question shapes the next. |
| "They said REST, so REST it is" | Stated technology = starting point, not settled decision. |
| "I already know the right approach" | You know A approach. The user deserves 2-3 to choose from. |
| "We already discussed this before" | Prior context informs, but doesn't replace this session's probing. |
| "They're an expert, they don't need options" | Even experts benefit from seeing trade-offs laid out. |
Workflow
1. Explore Context
Check project files, documentation, and recent git commits.
Identify:
- Existing patterns and conventions.
- Related code or features.
- Technical constraints (language, framework, dependencies).
Build a mental model of current project state.
2. Probe Idea
Ask questions ONE AT A TIME to understand:
- Purpose — what problem does this solve?
- Users — who benefits and how?
- Constraints — budget, timeline, technical limitations?
- Success criteria — how do we know it works?
Prefer AskUserQuestion with structured options when choices exist. Use open-ended questions when the space is too broad for options.
Continue until you have enough context to propose approaches.
3. Explore Approaches
Propose 2-3 distinct approaches, each with clear trade-offs (pros, cons). Lead with the recommended approach and reasoning.
Present conversationally, not as a formal document.
AskUserQuestion: [Approach 1 (Recommended)] | [Approach 2] | [Approach 3] | Hybrid
4. Present Design
Present design in sections, scaled to complexity:
- Low complexity — 1-3 sentences.
- Medium — short paragraph with key decisions.
- High — detailed section (up to 200-300 words).
Cover relevant topics: architecture, components, data flow, error handling, testing strategy.
After each section, ask if it looks right so far.
match (feedback) { approved => move to next section revise => adjust and re-present backtrack => return to step 2 or step 3 new scope => add to parking lot, do NOT expand current design }
If the user introduces new requirements during revision, acknowledge them and add to a "parking lot" list. Do NOT fold them into the current design. Present parking lot items at step 5.
5. Conclude
Present complete design summary.
AskUserQuestion: Save design to file — write to .start/ideas/YYYY-MM-DD-.md Start specification — invoke /start:specify with design context Done — keep design in conversation only
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
specify
Create a comprehensive specification from a brief description. Manages specification workflow including directory creation, README tracking, and phase transitions.
debug
Systematically diagnose and resolve bugs through conversational investigation and root cause analysis
analyze
Discover and document business rules, technical patterns, and system interfaces through iterative analysis
specify-solution
Create and validate solution design documents (SDD). Use when designing architecture, defining interfaces, documenting technical decisions, analyzing system components, or working on solution.md files in .start/specs/. Includes validation checklist, consistency verification, and overlap detection.
implement
Executes the implementation plan from a specification. Loops through plan phases, delegates tasks to specialists, updates phase status on completion. Supports resuming from partially-completed plans.
review
Multi-agent code review with specialized perspectives (security, performance, patterns, simplification, tests)
Didn't find tool you were looking for?