brainstorming
Brainstorming
Explore 2-3 approaches to achieve a defined goal, evaluate trade-offs, and pick a direction with the user.
When to Use
- A goal is defined but the approach is not decided
- Multiple valid solutions exist and trade-offs need evaluation
- The user wants to see options before committing
- The problem can be solved in fundamentally different ways
- You need to stress-test assumptions before investing in a PRD
When NOT to use: The approach is already decided and confirmed, or a brainstorming.md with a chosen direction already exists.
Input
goal-definition.mdfrom the artifact folder (required)context-map.mdfrom the artifact folder (recommended)
Output
brainstorming.mdsaved to the artifact folder (seereferences/formats.mdfor template)
The Process
Step 1: Load Context
Read goal-definition.md and context-map.md from the artifact folder. If goal-definition.md is missing, tell the user to run goal-definition first.
Also check for project documentation listed in references/context-sources.md (docs/TechStack.md, docs/ProjectStructure.md). If available, use them to ground feasibility assessments.
Recap the problem statement and success criteria from the goal definition to confirm alignment.
Step 2: Scan for Prior Art
If a context-map.md exists, scan the codebase for:
- Existing patterns that could be extended or reused
- Similar features already implemented (how were they done?)
- Constraints that eliminate certain approaches
- Libraries already in the stack that could help
Ground your approaches in what actually exists. Don't propose approaches that ignore the codebase.
Step 3: Generate 2-3 Approaches
For each approach, provide:
- Name — a short descriptive label
- Description — 2-3 sentences explaining the approach
- Pros — concrete advantages
- Cons — concrete disadvantages
- Feasibility — High / Medium / Low, considering the existing codebase
- User Value — High / Medium / Low
- Risk — High / Medium / Low
Apply ideation lenses selectively — pick the ones that fit the problem:
- Simplification: "What's the version that's 10x simpler?"
- Inversion: "What if we approached this from the opposite direction?"
- Constraint removal: "What if we removed the hardest constraint?"
- Audience shift: "What if this were for a different user?"
- Combination: "What if we combined two existing approaches?"
Do NOT generate more than 3 approaches. Quality over quantity.
Step 4: Present Comparison
Present a side-by-side comparison table:
| Criterion | Approach 1 | Approach 2 | Approach 3 |
|---|---|---|---|
| User Value | |||
| Feasibility | |||
| Differentiation | |||
| Risk |
Lead with your recommendation and explain why:
"I recommend Approach 2 because [rationale]. It trades off [X] for [Y], which aligns with the success criteria because [reason]."
Step 5: Get User Decision
Ask the user which direction to take. One question, clear options:
Which approach should we proceed with?
A. Approach 1: [name]
B. Approach 2: [name] (recommended)
C. Approach 3: [name]
D. Hybrid or different direction — describe what you're thinking
Do NOT proceed until the user picks a direction.
Step 6: Document Chosen Direction
After the user decides, write brainstorming.md to the artifact folder using the template from references/formats.md. Include all approaches explored, the comparison, the chosen direction with rationale, and assumptions to validate.
Announce the saved path:
"Brainstorming saved to
[path]/brainstorming.md."
Common Rationalizations
| Rationalization | Reality |
|---|---|
| "The right approach is obvious" | Obvious approaches have hidden trade-offs. Exploring alternatives takes 10 minutes and often reveals a better path. |
| "We don't have time to explore options" | Picking the wrong approach wastes far more time than evaluating 2-3 options upfront. |
| "I'll just build the simplest thing" | Simplest is often right, but you should articulate WHY it's right, not just default to it. |
| "The user already told me how to build it" | Users describe solutions. Your job is to evaluate whether it's the best solution for their goal. |
| "More options means better analysis" | 2-3 well-evaluated approaches beat 10 shallow ones. Don't dilute attention. |
Red Flags
- Jumping straight to one approach without considering alternatives
- Approaches that ignore the existing codebase or tech stack
- No recommendation — presenting options without an opinion
- All approaches look the same (variations, not genuine alternatives)
- Proceeding without user selecting a direction
- Writing code or creating implementation files during brainstorming
Verification
Before handing off, confirm:
- Goal definition and context map loaded
- 2-3 genuinely different approaches explored
- Each approach has pros, cons, feasibility, value, and risk
- Comparison table included
- Recommendation given with rationale
- User has selected a direction
-
brainstorming.mdsaved to artifact folder
Next
"Direction chosen. Next recommended skill: prd — formalize the requirements for this approach."
More from olamedia/analytics-skills
analyze-project
Use when starting work on any project to produce or update living documentation (TechStack.md, ProjectStructure.md) that bootstraps context for any AI agent session. Run before any feature work, or periodically to keep docs current.
13humanizer
>-
12architect
>-
12goal-definition
Use when you have a raw idea or request and need to define a clear goal with success criteria before exploring solutions. Use when requirements are vague, when "what does done look like" is unclear, or when assumptions need surfacing.
11prd
Use when you have a chosen direction and need to formalize requirements into a Product Requirements Document. Use when user stories, acceptance criteria, and scope boundaries need to be written down before architecture or implementation.
10analyze
Use when you have a raw idea or request and want to run the full analytics pipeline automatically — from research through to an interlinked task list. Best for straightforward problems where the full pipeline can flow with minimal back-and-forth.
10