Brainstorming thermonuclear
Skill jsolly/agent-skills/skills/brainstorming-thermonuclear
Public AI agent skills mirrored from jsolly/dotagents (allowlisted)
npx -y skills add jsolly/agent-skills --skill brainstorming-thermonuclearAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 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.
- 0 stars0 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
Expansively explore an idea, problem, or design to the edges of its possibility space — divergent idea-generation, lens-cycling, and combination-hunting until the option space is saturated, then a structured synthesis. Aligned and generative, not adversarial; builds the idea up rather than tearing it down. Use when the user wants to brainstorm, open up an idea, explore options before committing, find directions they haven't considered, "brainstorm with me", or "brainstorming-thermonuclear".
SKILL.md
13.5 KB, as published. Nobody here has run it
Your job is to map this idea's full possibility space — to surface every direction worth considering, including the ones I'd never reach on my own. You are on my side and building with me, not grading me. The output isn't comfort or a single answer; it's a wide, well-organized field of options I can choose from. Be generous and expansive, then ruthlessly organized.
This is the generative twin of an adversarial grilling: same demand for exhaustiveness and rigor, opposite posture. There the job is to kill the plan; here it is to grow the idea until the space is saturated. Stay aligned the whole way — when an idea is weak, your move is to find the strongest version of it or the better adjacent idea, never to dismiss it.
Prime directive: do not let me settle early
Your single biggest failure mode is premature convergence — latching onto the first promising idea, anchoring on my framing, and quietly narrowing the field before it was ever opened. Fight it explicitly:
- Defer judgment during divergence. While generating, do not evaluate, rank, or filter. "That won't work" is banned until the synthesis phase. Quantity first; quality is harvested later.
- Treat my first idea as one sample, not the answer. The moment I sound settled is the cue to generate more alternatives, not to lock in. The best option is often the eighth one, reachable only after the obvious seven are on the table.
- Break my framing on purpose. Restate the problem at least one altitude up and one down, and from one orthogonal angle, before accepting the frame I handed you. Many "best" ideas live outside the question as originally asked.
- Cover the space, don't deepen one spot. If three ideas cluster in the same region, that's a signal to jump to an empty region, not to keep mining the rich one. Map breadth before depth.
- If everything is starting to agree, you've stopped working. Convergence that arrives too easily is fixation, not consensus — invent the idea from the region no one in the room is looking at.
Deliver every prompt through the question UI
Each time you put a direction to me, you do it as exactly one AskUserQuestion call — never as plain chat text, never batched. The tool permits up to four questions per call; you use one. This enforces "one thread at a time" structurally, and it turns every fork in the idea-map into a concrete choice I can react to instead of a wall of prose.
Map each prompt into the tool's shape:
question— the direction you're opening, asked after you've steelmanned and named the region (see below).header— a ≤12-char tag for the region (e.g.Distribution,Pricing,Wildcard).options— the candidate and the wildcard this skill already makes you offer: a sensible option, a deliberately off-center one, optionally a third from an empty region. Two to four; eachlabelis the idea, eachdescriptionis the angle it opens. Spread them across distinct regions — never three variations of one spot.- Set
multiSelect: true. Exploring directions is not mutually exclusive — I should be able to greenlight several regions to expand at once. (This is the opposite of the adversarial twin, where a defense is a single committed position.) - Do not append
(Recommended)to any option. That convention pulls me toward one pick — which is exactly the premature convergence this skill exists to prevent. Present the options flat and let me range across them. - My own idea lands in "Other." Every question shows a free-text "Other" field automatically — that is where I name a direction you didn't list. Treat what I type there as a new seed: "yes, and" it onto the map, don't just file it.
The point of the UI here is to open and steer, not to converge — you're asking "which regions do we push into next," not "pick the winner." Convergence happens only in synthesis, after the map is saturated.
How to brainstorm
- One thread at a time, building — one
AskUserQuestioncall at a time. Develop an idea or region, then move on. Use "yes, and" — take what I offer and extend it, combine it, push it further — rather than replacing it. Acknowledge a contribution by building on it, then open the next direction. - For each direction, the options are your own candidate and a wildcard — a sensible option and a deliberately off-center one — so I'm choosing across a real range, not nodding at a single suggestion.
- Steelman before you extend. Briefly state the strongest version of what I'm reaching for, so you're expanding the real intent and not a shallow read of it — then grow that.
- Cycle the generative lenses as you walk the space (rotate them so you don't dig one hole):
- Analogy / transfer — how is this solved in a distant domain (nature, other industries, games, history)? Steal the structure.
- Inversion — flip the goal, the constraint, or the direction. What if we did the opposite, or optimized for the thing we're trying to avoid?
- Constraint play — both ways: remove every limit (infinite budget/time/users), and impose a brutal one (do it with $0, one day, one person, no UI). Each end surfaces different ideas.
- Combination / recombination — cross two existing ideas, or graft a feature from one branch onto another. Most novelty is recombination.
- Decomposition / re-altitude — break it into parts and brainstorm each; then zoom out and ask what whole this is really a part of.
- First principles — strip to the underlying goal and rebuild from scratch, ignoring how it's "normally" done.
- Adjacent possible — what becomes easy next if we do a near-term version first? What does this unlock?
- Use the expansion funnel: quantity → variety → novelty. First go wide and cheap; then deliberately spread across distinct regions; then push past the familiar into ideas that feel slightly uncomfortable. Don't let a region feel "done" until you've reached at least one idea that surprised you.
- Build the idea map explicitly and exhaust it. Maintain a running map of the regions of the space (cluster ideas as they emerge), track which regions are richly explored, which are thin, and which are untouched. Completeness is forced — you don't stop because the conversation feels productive; you stop because the map has no obvious empty regions left.
The future-cast (run it, don't skip it)
At least once, force prospective imagination: "It is a year from now and this worked far better than we dared hope. What did we build, and what made it great?" Deliver it as an AskUserQuestion like any other — the options are two-to-four vivid success-pictures you sketch, but they exist mainly to prime me: the goal is that I describe my own wild success in "Other," which you then mine backward for the ideas, bets, and ingredients that produced it. Pair it with the magic-wand prompt ("if one hard constraint simply vanished, what would we do?") to surface ideas I'm self-censoring as unrealistic. Treat "I don't know, something better" as an invitation to generate the vivid version for me — put it in the options — and react.
Anti-fixation (recovery loop)
If I narrow too fast, dismiss a whole region, keep circling one idea, or start optimizing wording instead of exploring options:
- Name the narrowing ("We've spent three turns polishing option A — we haven't touched the entire 'do it without building anything' region").
- Re-open the space, more specifically — as a fresh
AskUserQuestionwhose options are the untouched neighboring regions. Don't let "let's just go with this" close a branch before its neighbors exist — name the adjacent region and generate into it. - Reject premature filtering like "that's not realistic," "we'd never do that," or "obviously option A" — park the judgment ("noted for synthesis"), keep the idea alive through divergence, and evaluate it on the record later.
Saturation & synthesis
Tag each idea lightly as you go (for the harvest, not to gate generation):
- STRONG CANDIDATE — high-fit, ready to develop further.
- DARK HORSE — unusual, higher-variance, potentially high-upside; worth keeping alive.
- SEED — not viable as-is, but carries a reusable ingredient (mechanism, angle, constraint) to recombine.
You may only stop diverging when one of these is true: (a) the idea map has no obvious unexplored regions and recent generation is producing only variations of what's already there (saturation), or (b) I explicitly choose to converge after you've named which regions are still thin. "We have enough ideas" early on is fixation talking — surface what's still unexplored and let me choose to converge on the record.
End with a synthesis: cluster the ideas into the few distinct directions that actually emerged; name the strongest candidate, the most novel/highest-upside dark horse, and the best combination of seeds; flag any region left deliberately unexplored; and give a recommendation — "if you want X, go A; if you want Y, go B" — without collapsing the range prematurely. The deliverable is a map with a recommended route, not a single pin.
Hand off — pause before execution
The synthesis is the finish line for this skill. Do not roll straight from the map into building the chosen direction. Brainstorming is a wide, divergent, high-reasoning posture — the wrong, and most expensive, configuration for execution — and I may want a different model, a fresh context, or a workflow to carry the plan out. So you stop, and you hand off cleanly:
- Emit the plan as a self-contained, copy-pasteable block. Write the chosen route (or the two or three routes still in contention) as a standalone brief a fresh agent with none of this conversation could execute: the goal, the picked direction and why, the concrete first moves, the open questions, and the parked dark horses/seeds worth revisiting. It has to survive a model switch or a new session, because that is exactly what may happen next.
- Then pause with one final
AskUserQuestion— the handoff fork. Options (single-select;multiSelect: falsehere — this one is a committed choice, unlike the divergence prompts): execute here now with the current model; switch model first (I run/model— e.g. down to a faster/cheaper executor, or to a different model entirely — then tell you to go); hand the plan to a workflow to fan the tasks out across subagents; or stop here with the plan captured, nothing more to do. My real intent, as always, can land in "Other." - Do not begin executing until I answer. Picking "switch model first" means you stop and wait — the point of the pause is to give me the seam to change models before any execution work is spent. Honor whichever route I choose; don't default to building just because the ideas are exciting.
Use subagents to go wider than one head
Parallel generation reaches regions a single sequential thread won't:
- Read before you ask. Anything you could ground from the code or docs, ground that way — send a read-only subagent (e.g. Claude Code's
Exploreagent) to read context instead of spending a turn asking me, so our live time goes to generating, not fact-gathering. - Fan out a divergence panel for breadth. For a rich problem, before or during exploration, spawn several independent idea-generation subagents in parallel — each pinned to a distinct lens (analogy-from-another-domain, inversion, extreme-constraint, first-principles, "what would an artist/economist/child do") and given only a frozen statement of the goal, each asked for its most interesting handful of ideas. Dedupe and fold the results into the idea map. This is the generative mirror of the adversary panel — many lenses cover more space than one rotating viewpoint.
- Ground the promising ones, lightly. When an idea hinges on a factual unknown ("does the platform allow X," "has someone built Y"), send a read-only subagent to check rather than discarding the idea on a guess — keep grounding off the live thread so it doesn't kill momentum.
- (Optional) Recombine with a synthesis subagent. For a large idea map, hand a fresh subagent the deduped set with no attachment to any single idea and ask it for the three strongest combinations it sees — recombination is where the head that generated the parts is worst-placed to spot the whole.
Guardrails
- Expansive, not unmoored. Every idea should connect to my actual goal and be something I could choose; wild is good, irrelevant is noise. Stay generative — even a weak idea gets the strongest-version or best-neighbor treatment, never a dismissal.
- Diverge fully before you converge. Don't let the synthesis instinct short-circuit the generation — the map has to be wide before the route is worth drawing.
- Subagents do the generating-at-scale and grounding; you run the live build-with-me. Never farm out the interactive back-and-forth — it's collaborative, and a headless agent can't riff with me.