Brainstorm
A structured AI coding workflow with skills, agents, and commands that make AI think before it builds.
npx -y skills add justincordova/agents --skill brainstormAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when a task involves genuine design decisions — new features, new components, unclear scope, or multiple viable approaches. Skip for mechanical changes where the design is obvious. Produces an approved design doc as the session-boundary artifact.
SKILL.md
6.2 KB, as published. Nobody here has run it
Brainstorm
Overview
Turn ideas into fully formed designs through collaborative dialogue. Understand the project, ask questions one at a time, propose approaches, present the design, get approval, write the design doc.
<HARD-GATE> Do NOT write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. </HARD-GATE>When to Use Brainstorm
Use brainstorm when:
- Building a new feature, component, or abstraction
- Multiple approaches exist and trade-offs need exploring
- Scope is unclear
- The user asks for help with a design decision
- Starting a new project (greenfield — see mode below)
Skip brainstorm when:
- The change is mechanical (rename, config tweak, add a log line)
- The design is obvious and singular (only one sensible way to do it)
- The user already knows exactly what they want and just needs it built
- Iterating on already-designed work with no new decisions
When skipped, go straight to execute.
Mode: Greenfield vs Normal
Check first: does docs/SPEC.md exist?
- No SPEC.md → Greenfield mode. This is project initialization. Skip the design doc step. Hand off directly to the spec skill in interview mode — the SPEC.md is the design doc for initialization. Jump to "Greenfield Transition" below.
- SPEC.md exists → Normal mode. Follow the full checklist below.
Checklist (Normal Mode)
Create a task for each item and complete them in order:
- Explore project context — check files, docs, recent commits, read
docs/SPEC.md - Ask clarifying questions — one at a time, understand purpose/constraints/success criteria
- Propose 2-3 approaches — with trade-offs and your recommendation
- Present design — in sections scaled to complexity, get user approval after each section
- Write design doc — save the approved design to
docs/designs/<feature-name>.md - Transition — hand off to the developer. Design doc is the session-boundary artifact. Plan is optional — only when the developer explicitly asks for it or the design is complex enough to warrant one.
Process Flow
Explore context → Ask questions → Propose approaches → Present design → User approves? → Write design doc → Done (developer decides next step)
↓
Revise and re-present
The Process
Understanding the idea:
- Check the current project state first (files, docs, recent commits)
- Read
docs/SPEC.mdto understand current design decisions - Check
docs/designs/for any in-flight feature design docs — SPEC.md may not reflect these yet - Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible
- Focus on: purpose, constraints, success criteria
- Always give recommendations backed by best practices — scalable architecture, good UI/UX patterns, clean reusable code, separation of concerns, industry conventions. Don't just ask bare questions, offer informed opinions
Exploring approaches:
- Propose 2-3 different approaches with trade-offs
- Lead with your recommendation and explain why
Presenting the design:
- Scale each section to its complexity: a few sentences if straightforward, up to 200-300 words if nuanced
- Ask after each section whether it looks right
- Cover: architecture, components, data flow, error handling, testing
After the Design (Normal Mode)
Once the design is approved, write it to docs/designs/<feature-name>.md. This file is the session-boundary artifact — a new agent session can pick up the plan step from here without needing the brainstorming context.
Design doc structure:
# <Feature Name>
## Context
[1-2 paragraphs. What is this? Why are we building it? How does it fit the existing system?]
## Goals
- [What success looks like]
- [Key outcomes]
## Non-Goals
- [What this explicitly does NOT cover]
## Design
[Architecture, components, data flow. Scale detail to complexity — a few paragraphs for simple features, more for complex ones.]
## Key Decisions
| Decision | Choice | Rationale |
|----------|--------|-----------|
## Rejected Alternatives
- [Approach X] — [why rejected]
- [Approach Y] — [why rejected]
## Edge Cases & Constraints
- [Known gotchas, performance, security]
## Open Questions
- [Anything unresolved — should be empty by the time brainstorm ends]
Include the "Rejected Alternatives" section so a fresh agent reading the design doc later knows what was already ruled out and why.
Do NOT update SPEC.md from brainstorm. SPEC.md is only updated via sync-docs or the spec skill.
Transition:
- Tell the user: "Design saved to
docs/designs/<feature>.md." - Do NOT suggest or push for
/plan. The developer decides when a plan is needed. - If the design is straightforward, the developer can go straight to execute using the design doc as context.
- If the design is complex, the developer will invoke
/planthemselves (possibly with a stronger model). - Only invoke the plan skill if the developer explicitly asks for it.
Greenfield Transition
When no docs/SPEC.md exists:
- Skip writing a design doc
- Hand off to the spec skill (Mode 2: initial spec interview)
- Tell the user: "No SPEC.md found. Handing off to spec skill to create the initial project spec — that becomes the design foundation."
- The spec skill interviews the user and writes SPEC.md directly
- Once SPEC.md exists, subsequent features go through normal mode
Key Principles
- One question at a time — don't overwhelm
- Multiple choice preferred — easier to answer
- YAGNI — strip unnecessary features
- Explore alternatives — always propose 2-3 approaches
- Incremental validation — get approval before moving on
- Be flexible — go back and clarify when something doesn't make sense