skills/mine-brainstorm/SKILL.md
Use when the user says: "brainstorm options", "generate ideas", "explore ideas", "what are our options", or wants divergent thinking before committing to an approach. Four parallel thinkers generate ideas, rank by user-chosen criteria.
npx skillsauth add NodeJSmith/Claudefiles mine-brainstormInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Open-ended idea generation. Use this skill when you have a topic — a feature to build, a problem to solve, a direction to explore — and need divergent thinking before committing to an approach. Four parallel thinkers generate ideas independently, findings are collected and deduplicated, then ranked by criteria you choose.
| Skill | Question it answers |
|-------|-------------------|
| mine-brainstorm | "What are our options here?" |
| mine-research | "Is this specific proposal feasible?" |
| mine-challenge | "Is this approach actually right?" |
| Plan mode | "How do we execute this chosen direction?" |
$ARGUMENTS — the topic to brainstorm. Can be:
/mine-brainstorm "add offline support to the app"/mine-brainstorm "users keep abandoning the onboarding flow"/mine-brainstorm "what should we build next for the CLI?"If $ARGUMENTS is empty, use AskUserQuestion to get the topic.
Once the topic is known, ask two quick questions in one AskUserQuestion call:
AskUserQuestion:
question: "A couple of quick questions before we start:\n1. What's off the table? (time, tech, scope — anything that would make an idea immediately unworkable)\n2. What's already been tried or rejected, and why?"
Then ask about codebase context:
AskUserQuestion:
question: "Should I read the codebase for context, or work from your description alone?"
options:
- label: "Read relevant code (Recommended for software topics)"
description: "Subagents read related files — especially useful for the Pragmatist lens"
- label: "Work from my description"
description: "Faster, and works for non-code topics too"
If reading code: use Glob, Grep, and Read to find files relevant to the topic before launching thinkers. Pass key excerpts and file paths to each subagent so they can reason about what already exists.
Before launching, create a unique temp directory for this run:
get-skill-tmpdir mine-brainstorm/tmp/claude-mine-brainstorm-Kx3a8Q)Each thinker writes to a fixed filename inside this directory:
<dir>/pragmatist.md<dir>/advocate.md<dir>/moonshot.md<dir>/wildcard.mdLaunch all four as parallel Task calls with subagent_type: general-purpose, model: sonnet. Each thinker:
You are The Pragmatist. Your job is to generate 3–5 ideas for the following topic:
<topic> [INSERT TOPIC] </topic>Constraints (things that are off the table): [INSERT CONSTRAINTS or "none stated"]
Prior attempts / rejected ideas: [INSERT PRIOR ATTEMPTS or "none stated"]
Codebase context: [INSERT EXCERPTS AND FILE PATHS or "none provided"]
Generate ideas that reuse what already exists, fit within the stated constraints, and could be scoped to ship incrementally. Think about the fastest path from here to something working. Each idea should be concrete enough that an engineer could start on it tomorrow.
For each idea, write:
Write your full, unfiltered output to: [INSERT TEMP FILE PATH]
You are The User Advocate. Your job is to generate 3–5 ideas for the following topic:
<topic> [INSERT TOPIC] </topic>Constraints (things that are off the table): [INSERT CONSTRAINTS or "none stated"]
Prior attempts / rejected ideas: [INSERT PRIOR ATTEMPTS or "none stated"]
Codebase context: [INSERT EXCERPTS AND FILE PATHS or "none provided"]
Start from the user's actual goal, not the engineering problem. What is the person using this product trying to accomplish? What's getting in their way? Some of your ideas may require less engineering than what's been tried — that's fine. Some may require more understanding of user behavior. Challenge the assumption that the user wants what's been proposed.
For each idea, write:
Write your full, unfiltered output to: [INSERT TEMP FILE PATH]
You are The Moonshot Thinker. Your job is to generate 3–5 ideas for the following topic:
<topic> [INSERT TOPIC] </topic>Prior attempts / rejected ideas: [INSERT PRIOR ATTEMPTS or "none stated"]
Constraints do not apply to you. Ignore time, resources, and technical difficulty. Describe the ideal destination — what the complete, perfect solution would look like if execution were free. These ideas set a north star. Some will be impractical today; that's expected. Focus on what would actually solve the problem completely, not what's achievable right now.
For each idea, write:
Write your full, unfiltered output to: [INSERT TEMP FILE PATH]
You are The Wildly Imaginative. Your job is to generate 3–5 ideas for the following topic:
<topic> [INSERT TOPIC] </topic>Prior attempts / rejected ideas: [INSERT PRIOR ATTEMPTS or "none stated"]
You have no engineering knowledge. You don't know what's hard or easy. You think in analogies, metaphors, other industries, science fiction, biology, games, and pure invention. Your ideas will sound absurd — that's the point. They contain kernels of insight the engineers will miss because they're too close to the problem. Don't worry about whether something is technically possible. Describe the idea vividly; let others figure out if it can be built.
For each idea, write:
Write your full, unfiltered output to: [INSERT TEMP FILE PATH]
Read all four temp files. Merge into a unified idea list:
Aim for 8–15 distinct ideas total. If multiple thinkers landed on the same core idea, that's noteworthy — it means the idea is compelling from multiple perspectives.
Present the deduplicated ideas as a brief unranked list (one sentence each + origin lens). Call out any ideas where multiple thinkers converged.
Then ask:
AskUserQuestion:
question: "Here are the ideas. What should I rank them by?"
multiSelect: true
options:
- label: "Feasibility"
description: "How realistic is this given our constraints?"
- label: "User impact"
description: "How much does this improve things for the user?"
- label: "Originality"
description: "Ideas we wouldn't have thought of otherwise"
- label: "Fit to existing codebase"
description: "How naturally does this extend what already exists?"
- label: "Speed to ship"
description: "How quickly could we have something working?"
Score each idea against the chosen criteria (1–5 per criterion, averaged). Present as a ranked list.
### [N]. [Idea name] — Score: X.X
**The idea**: [One clear sentence]
**Why it could work**: [2–3 sentences — the best case for this idea]
**The catch**: [Main risk, limitation, or open question]
**Origin**: [Pragmatist / User Advocate / Moonshot / Wildly Imaginative — or combinations if multiple thinkers converged]
Ideas ranked 4 and below get a one-liner: name, score, one-sentence description, origin lens.
If two or more thinkers converged on an idea, note it explicitly — convergence across lenses is a stronger signal than a single-lens idea, even if it scores lower on individual criteria.
AskUserQuestion:
question: "What's the primary next step for the top idea?"
header: "Next step"
multiSelect: false
options:
- label: "Challenge the top idea first"
description: "Run /mine-challenge before committing to this direction"
- label: "Go deeper on the top idea"
description: "Hand off to /mine-research for feasibility analysis"
- label: "Build it (/mine-build)"
description: "Direct implementation or full caliper workflow, depending on complexity"
- label: "Keep exploring"
description: "Run another round with a different framing or constraint"
AskUserQuestion:
question: "Any housekeeping before we proceed?"
header: "Housekeeping"
multiSelect: true
options:
- label: "Save the session"
description: "Write to design/brainstorms/YYYY-MM-DD-<topic>/brainstorm.md"
- label: "Create issues"
description: "File ideas as tracked issues"
- label: "Nothing — proceed"
description: "Skip housekeeping and go straight to the next step"
If "Challenge the top idea first" is selected: if the session was saved (housekeeping), invoke /mine-challenge --mode=passthrough <brainstorm-file-path>. If not saved, construct the argument from the top idea's name and description block and pass it as text: /mine-challenge --mode=passthrough <text>. After challenge completes, loop back to this gate.
If selected, create one issue per idea using gh-issue create.
Execution order for housekeeping: (1) create issues, (2) save the session, then proceed to the primary next step.
Issue template:
[Brainstorm] <topic>: <concise idea name>Top 3, Score: 4.7/5).If saving: write to design/brainstorms/YYYY-MM-DD-<topic>/brainstorm.md
Include an appendix with the four temp file paths so individual thinker output is accessible after the session:
## Appendix: Individual Thinker Reports
These files contain each thinker's unfiltered output and are available for the duration of this session:
- Pragmatist: <dir>/pragmatist.md
- User Advocate: <dir>/advocate.md
- Moonshot Thinker: <dir>/moonshot.md
- Wildly Imaginative: <dir>/wildcard.md
development
Use when the user says: "document how X works", "write up how this works", "durable explanation", "explain this for the docs", "document this subsystem". Writes a durable, architectural-altitude explanation that survives code churn.
development
Use when picking up a fresh session after /clear, a stop, or an unanswered AskUserQuestion. Reconstructs the prior session's intent from its transcript tail and surfaces any unresolved decision; user-invoked only — for a hand-written end-of-day handoff use /mine-good-morning instead.
development
Use when the user says: "what did we discuss", "continue where we left off", "remember when", "as I mentioned", "you suggested", "we decided", "search my conversations", "find the conversation where", "what did we work on", or uses implicit signals like past-tense references, possessives without context, or assumptive questions. Direct search over past Claude Code sessions via cass.
tools
Use when the user says: "what context do I have", "relevant history for this task", "what have we done related to this". Also usable proactively when starting work that likely has prior history. Assembles a structured context brief from past session history via cass, scoped to the current task and workspace.