Structured brainstorming through divergent-then-convergent thinking. Generates multiple approaches using research-validated techniques (Reverse Brainstorming, SCAMPER, Perspective Shifts, Analogies) before converging on a recommended design. Works for any domain: software features, architecture, thesis structure, process design, concepts, strategies. Recognizes: "brainstorm", "brainstorming", "ideation", "ideas for", "let's think about", "explore options", "what are approaches for", "how could we", "alternatives for" Does NOT handle: implementation planning (use plan-review), prompt writing (use prompt-builder), code writing (use frontend-design/tdd), team coordination (use team-builder).
Install
npx skillscat add 101mare/skill-library/brainstorm Install via the SkillsCat registry.
Brainstorm
Structured ideation through divergent-then-convergent thinking.
No code, no implementation, no scaffolding — pure thinking space.
Adapt output language to match the user's language.
Critical Constraints
- No implementation until approval. This skill produces ideas and designs, never code.
- Minimum 3 alternatives. Never present only one approach. Even when one is clearly superior, show why by contrasting.
- Divergent BEFORE convergent. Resist the urge to narrow too early. Fully explore the space first.
- YAGNI ruthlessly. Flag and remove unnecessary complexity in every approach.
Phase 1: Context
Understand the problem space before generating ideas.
- Scan existing context: Read relevant files, docs, or prior work if in a codebase.
- Clarify the goal: Ask 1-2 focused questions using multiple-choice options.
- What is the desired outcome?
- What are the constraints (time, tech, scope)?
- Who benefits and how?
- Frame the problem: Restate the challenge in one sentence. Confirm with user.
Keep questions focused. One question per message. Multiple choice preferred over open-ended.
Optional: Web Research
When the topic benefits from external knowledge (state of the art, existing solutions,
best practices, competitor analysis, academic research), ask the user via AskUserQuestion:
"Would web research help inform this brainstorm? I can search for [specific topic]."
If approved, use WebSearch/WebFetch to gather relevant information before generating ideas.
Summarize findings concisely and feed them into Phase 2. Always cite sources.
Do NOT research automatically — always ask first. The user decides whether
external input is needed or whether the brainstorm should stay internal.
Phase 2: Divergent — Generate Ideas
Apply techniques situationally. Pick 2-3 that fit the problem, not all four every time.
Technique 1: Reverse Brainstorming
"How would we make this as bad as possible?"
- List 3-5 ways to guarantee failure
- Invert each into a design principle
- Extract actionable approaches from the inversions
Technique 2: SCAMPER
Run through these lenses on the problem:
| Lens | Question |
|---|---|
| Substitute | What component could be replaced? |
| Combine | What existing things could merge? |
| Adapt | What solved problem resembles this? |
| Modify | What if we scaled up/down a dimension? |
| Put to other use | Can an existing tool serve this need? |
| Eliminate | What can we remove entirely? |
| Reverse | What if we flipped the flow/order? |
Technique 3: Perspective Shifts
Evaluate through different stakeholder lenses:
- User: What feels simplest and most intuitive?
- Developer: What is easiest to build and maintain?
- Ops/Admin: What is easiest to deploy and monitor?
- Security/Privacy: What minimizes attack surface and data exposure?
- Future Self: What will we thank ourselves for in 6 months?
Add domain-specific perspectives as needed (e.g., Reviewer, Reader, Customer).
Technique 4: Analogies
- Identify the core pattern of the problem (not the domain)
- Find 2-3 solved problems with the same pattern in different domains
- Map their solutions back to the current problem
- Extract novel approaches from the mapping
Output of Phase 2
Present 3+ distinct approaches as a comparison table:
| Approach | Core Idea | Strength | Weakness | Complexity |
|---|---|---|---|---|
| A | ... | ... | ... | Low/Med/High |
| B | ... | ... | ... | Low/Med/High |
| C | ... | ... | ... | Low/Med/High |
Include a clear recommendation with reasoning.
Phase 3: Convergent — Evaluate & Refine
After user selects or combines approaches:
- Deep-dive the chosen approach: Flesh out details, sub-decisions, edge cases.
- Stress-test: What could go wrong? What assumptions are we making?
- Simplify: Can anything be removed without losing the core value?
- Present section by section: Break the design into logical sections.
Get approval on each before moving to the next.
Section Presentation Format
For each section:
Section: [Name]
What: [One-sentence summary]
Why: [Why this choice over alternatives]
Trade-off: [What we're giving up]
Open questions: [If any remain]
Wait for user confirmation before presenting the next section.
Phase 4: Wrap Up
- Summarize the final design in a concise overview (5-10 bullet points max).
- List open questions that remain unresolved.
- Suggest next steps: Which skill or workflow to use next.
- Implementation planning? Suggest
EnterPlanModeorplan-review - Need tests first? Suggest
tdd - Frontend work? Suggest
frontend-design - More research needed? Suggest an
Exploreagent
- Implementation planning? Suggest
Do NOT automatically save a design document. Only save if the user explicitly asks.
Verification
Before delivering the final summary, check:
- Baseline test: Would Claude without this skill produce something structurally similar?
If yes — the brainstorming didn't add value. Redo Phase 2 with different techniques. - Minimum alternatives: Were at least 3 distinct approaches presented and evaluated?
- Technique evidence: Can you point to specific ideas that came from applying
a named technique (Reverse, SCAMPER, Perspective, Analogy)? - YAGNI check: Does the final design contain unnecessary complexity?
Strip it before delivering. - Divergent-before-convergent: Did narrowing happen only AFTER broad exploration?