Brainstorm
Required before any creative work—including creating features, building components, adding functionality, or modifying behavior. This step explores user intent, requirements, and design before implementation.
Purpose
To ensure clarity, alignment, and a solid foundation before writing code. This skill prevents wasted effort by validating assumptions and designing a solution that truly meets the user’s needs.
When to Use
- Before starting a new feature or component.
- Before modifying existing behavior in a significant way.
- When requirements are vague or ambiguous.
- When there are multiple possible valid approaches.
Process
- Understand User Intent
- What is the user trying to achieve?
- Why is this important now?
- What is the definition of success?
- Gather Requirements
- Identify functional requirements (what it does).
- Identify non-functional requirements (performance, constraints, tech stack).
- Ask clarifying questions to resolve ambiguities.
- Explore Design Options
- Propose high-level approaches.
- Discuss pros and cons of different strategies.
- Consider edge cases and potential pitfalls.
- Visualise complex flows or structures (if helpful).
- Confirm Alignment
- Summarize the agreed-upon direction.
- Get explicit confirmation from the user to proceed.
Output
A clear, mutually agreed-upon plan or a set of design decisions that guide the next steps (e.g., creating an implementation plan).