Brainstorming Ideas Into Designs
Overview
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.
The Process
Understanding the idea:
Note: This skill is typically invoked by agents like nimbus-researcher when requirements are unclear. You can also invoke it directly when:
- •Starting a new component and need to explore design options
- •Facing architectural decisions with multiple valid approaches
- •Requirements are ambiguous and need clarification
For complete component creation with OpenSpec integration, use
/propose-component command instead.
- •You SHOULD begin by reviewing the current project state (files, docs, recent commits). This ensures the design fits existing patterns and doesn't duplicate work.
- •You SHOULD ask questions one at a time to refine the idea. This creates a focused conversation and helps clarify requirements incrementally.
- •You MAY prefer multiple choice questions when they clarify options quickly, but open-ended questions are fine too—choose based on conversation flow.
- •You SHOULD structure exploration into separate messages if multiple topics need investigation. This prevents overwhelming both parties.
- •You MUST focus on understanding: purpose, constraints, and success criteria.
Exploring approaches:
- •You SHOULD propose 2-3 different approaches with trade-offs. This explores the design space and prevents premature convergence on the first idea.
- •You SHOULD present options conversationally with your recommendation and reasoning. Explain why you're recommending one approach over others.
- •You MUST lead with your RECOMMENDED option and explain the trade-offs. Help the user understand your reasoning before they decide.
Presenting the design:
- •You SHOULD verify you understand the full scope before presenting (not just your initial interpretation). Ask clarifying questions until you can describe what's being built with confidence.
- •You MUST present design in reviewable sections (200-300 words each). This lets the user verify direction incrementally rather than discovering misalignment at the end.
- •You MUST ask after each section whether it looks right so far. If it doesn't, correct the misalignment before moving forward.
- •You MUST cover: architecture, components, data flow, error handling, and testing. Missing any of these creates gaps later.
- •You SHOULD be ready to go back and clarify if something doesn't make sense. This is normal and expected.
After the Design
Next Steps:
- •You have a validated design/plan document
- •User can choose their next step:
- •Create an OpenSpec proposal via
/openspec:proposalfor formal specification - •Use the plan for implementation planning
- •Continue refining the design if needed
- •Save the plan for later reference
- •Create an OpenSpec proposal via
- •Ask the user what they'd like to do next
Key Principles
- •
YAGNI ruthlessly: You MUST remove unnecessary features from all designs. Scope creep at design time is easier to fix than during implementation.
- •
Explore alternatives: You SHOULD propose 2-3 approaches with trade-offs before settling on the recommended approach. This prevents the "first idea" bias and helps users understand the design space.
- •
Incremental validation: You MUST present design in sections and ask after each one. Discovering fundamental misalignment after 30 minutes of work is wasteful.
- •
Be flexible with clarification: You SHOULD be ready to go back and ask clarifying questions when something doesn't make sense. This is normal and expected, not a failure.
- •
Focus on patterns: You MUST ensure designs align with established Nimbus patterns and standards (see ./openspec/AGENTS.md for project architecture). Consistency reduces learning curve for implementers.