brainstorming
npx machina-cli add skill karim-bhalwani/agent-skills-collection/brainstorming --openclawBrainstorming 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:
- Check out the current project state first (files, docs, recent commits)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible, but open-ended is fine too
- Only one question per message - if a topic needs more exploration, break it into multiple questions
- Focus on understanding: purpose, constraints, success criteria
Exploring approaches:
- Propose 2-3 different approaches with trade-offs
- Present options conversationally with your recommendation and reasoning
- Lead with your recommended option and explain why
Presenting the design:
- Once you believe you understand what you're building, present the design
- Break it into sections of 200-300 words
- Ask after each section whether it looks right so far
- Cover: architecture, components, data flow, error handling, testing
- Be ready to go back and clarify if something doesn't make sense
After the Design
Documentation:
- Write the validated design to
docs/plans/YYYY-MM-DD-<topic>-design.md - Use elements-of-style:writing-clearly-and-concisely skill if available
- Commit the design document to git
Implementation (if continuing):
- Ask: "Ready to set up for implementation?"
- Use superpowers:using-git-worktrees to create isolated workspace
- Use superpowers:writing-plans to create detailed implementation plan
Key Principles
- One question at a time - Don't overwhelm with multiple questions
- Multiple choice preferred - Easier to answer than open-ended when possible
- YAGNI ruthlessly - Remove unnecessary features from all designs
- Explore alternatives - Always propose 2-3 approaches before settling
- Incremental validation - Present design in sections, validate each
- Be flexible - Go back and clarify when something doesn't make sense
Outputs & Deliverables
- Primary Output: Design document (markdown) with architecture, components, data flow, and error handling
- Secondary Output: Validated design sections with stakeholder approval
- Success Criteria: Stakeholders agree design is buildable and complete
- Quality Gate: Design ready for handoff to
implementer
Constraints
- NO implementation code. Design and architecture only.
- NO deployment planning.
- Must validate each section incrementally with stakeholder feedback.
Common Pitfalls
- Leading with Solutions: Jumping to "build a dashboard" before understanding the actual problem. Always start with "what problem are we solving?"
- Vague Acceptance Criteria: Ending with "sounds good" instead of specific, measurable success criteria. Define success metrics before moving forward.
- Skipping Tradeoff Analysis: Not exploring alternatives leaves the team with one perspective. Always present 2-3 approaches with trade-offs.
- Rushing Validation: Presenting the entire design at once instead of section-by-section validation. This leads to rework and frustration.
- Ignoring Constraints: Designing without understanding budget, timeline, or technical limits. Ask constraints early.
- Assuming Shared Understanding: "We all agree what this means" leads to misalignment. Define terms explicitly and check agreement.
Integration Points
| Phase | Input From | Output To | Context |
|---|---|---|---|
| Exploration | User vision | Design validation | Ask refining questions to understand intent |
| Design | Validated requirements | architect | Pass to architect for technical specification |
| Handoff | Approved design | implementer | Provide design document and acceptance criteria |
| Planning | Design scope | concise-planning | Feed into implementation planning |
Source
git clone https://github.com/karim-bhalwani/agent-skills-collection/blob/main/skills/brainstorming/SKILL.mdView on GitHub Overview
Brainstorming helps turn ideas into fully formed designs and specs through natural collaborative dialogue. It starts by understanding the project context, asks questions one at a time to refine the idea, and delivers design sections (200-300 words) with stakeholder checks after each step.
How This Skill Works
Process: Understand the idea by reviewing current project state (files, docs, recent commits) and refining with one-question prompts. Explore 2-3 design approaches with trade-offs, then present options with your recommendation. Once a direction is clear, present the design in 200-300 word sections and validate with stakeholders after each section.
When to Use It
- Turning ideas into design specs for a new feature or feature change.
- Validating requirements and constraints via guided dialogue with stakeholders.
- Exploring multiple approaches and trade-offs before committing to a design.
- Creating design documentation (docs/plans/YYYY-MM-DD-<topic>-design.md) for features and components.
- Gaining incremental stakeholder approval through section-by-section design reviews.
Quick Start
- Step 1: Review the current project state (files, docs, recent commits).
- Step 2: Ask one focused question to refine the idea; iterate until clarified.
- Step 3: Present a 200-300 word design section and validate with stakeholders.
Best Practices
- Ask one question per message and break complex topics into steps.
- Present 2-3 design approaches with trade-offs and a recommended option.
- Lead with the preferred design and justify why itβs best given constraints.
- Deliver the design in 200-300 word sections and validate after each section.
- Document validated design and prepare for handoff to implementers.
Example Use Cases
- Designing a new dashboard feature with architecture, data flow, and error handling.
- Updating an existing component and documenting changes in a design file.
- Creating a feature-priority plan by exploring alternatives and outcomes.
- Validating requirements with stakeholders to finalize success criteria.
- Producing a design.md for a cross-cutting change (auth, error handling, data layer).