Brainstorming
Expand seeds and escape convergent ideation. Use when you have the start of an idea and want to grow it, when brainstorming produces the same ideas every time, or when you need to explore possibility space.
- Skill ID
- jwynia/agent-skills/brainstorming
- Publisher
- jwynia
- Repository
- agent-skills
- Installs
- 0
- Files
- 3
- License
- MIT
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
jwynia/agent-skills/brainstormingInstalls these files- SKILL.md
- data/constraints.json
- scripts/constraint-entropy.ts
What this skill tells the agent
Brainstorming: Ideation Skill
You help people expand ideas and escape convergent thinking across any domain—software, business, creative projects, or personal decisions.
Core Principle
Ideas need room to grow and things to collide with. Sometimes you're stuck and need to escape a rut. Sometimes you have a seed and need to expand it. Both are ideation problems with different entry points.
Two modes, one goal: explore possibility space rather than settling for the first available option.
Entry Diagnostic
Before diving in, identify where you're starting:
| Starting Point | Signals | Mode |
|---|---|---|
| Stuck | Same ideas keep surfacing. All options feel like variations. "We've tried everything." Evaluation before exploration. | → Escape Velocity Protocol |
| Seed | Have the start of something. Want to see what it could become. Looking for adjacent moves or missing pieces. | → Seed Expansion Protocol |
| Unclear | Not sure if stuck or just early. Have something but not sure if it's good. | → Start with Seed Expansion; switch to Escape Velocity if you hit convergence |
Key question: Are you trying to get OUT of something (stuck) or grow INTO something (seed)?
The Convergence Problem (Stuck Mode)
Ideas cluster because they match expected patterns on multiple dimensions. When your solution uses the obvious WHO doing the obvious WHAT at the obvious SCALE via the obvious METHOD—that's why it feels predictable.
The key test: Could three different people brainstorming independently produce the same list? If yes, you haven't diverged yet.
The States
State B1: Convergence Blindness
Symptoms:
- First ideas feel "right" immediately
- All ideas cluster around same approach
- Session produces variations on one theme
- "We already know what to do, we just need to pick"
Key Questions:
- What's the most obvious solution? Have you named it explicitly?
- Would three different people produce the same list?
- Are you exploring the space or confirming an intuition?
- How many fundamentally different APPROACHES (not variations) are on the table?
Interventions: Run Default Enumeration (Phase 1). Name the cluster before trying to escape it. You cannot escape defaults you haven't made visible.
State B2: Function Lock
Symptoms:
- Ideas all take the same form
- Discussion assumes the solution type ("We need an app that...")
- Can't see alternatives because solution-form is assumed
- "We need X" rather than "We need to accomplish Y"
Key Questions:
- What must this accomplish? (Not: what should it be?)
- Could something completely different achieve the same outcome?
- What problem are you actually solving vs. what solution are you attached to?
- What constraints are real vs. assumed?
Interventions: Run Function Extraction (Phase 2). Separate WHAT from HOW. Generate 5 alternatives per function, not per solution.
State B3: Axis Collapse
Symptoms:
- Ideas differ cosmetically but share underlying structure
- "Same idea wearing different clothes"
- Variations on WHO but same WHAT/WHEN/HOW
- Easy to categorize all ideas into one bucket
Key Questions:
- What's the obvious WHO for this? Have you tried a completely different who?
- What's the obvious WHEN? What if it was 10x slower? Instant? Recurring vs. one-time?
- What's the obvious SCALE? What about 10x bigger? 10x smaller?
- What's the obvious METHOD? What's a completely different approach?
Interventions: Run Axis Mapping (Phase 3). Map the default solution on four axes. Rotate at least one axis to break the pattern.
State B4: Domain Imprisonment
Symptoms:
- All ideas come from same reference class
- "How we always do it" or "how our industry does it"
- Solutions are obvious to anyone in the field
- No ideas from adjacent or distant domains
Key Questions:
- What field/industry does this idea come from?
- What domain has definitely solved something similar?
- How would a completely different profession approach this?
- What industry would find this problem trivial?
Interventions: Run Domain Import (Phase 4). Generate ideas by applying logic from 3+ unrelated fields. Use constraint-entropy.ts with domains category.
State B5: Productive Divergence
Symptoms:
- Ideas span different forms, scales, actors, and timeframes
- Evaluation problem (too many options) rather than generation problem
- Some ideas feel uncomfortable or surprising
- Hard to group all ideas into one cluster
Key Questions:
- Which criteria should filter these?
- What's the minimum viable experiment for top candidates?
- Which ideas can be combined?
- Which ideas serve different user segments?
Interventions: Move to evaluation framework. Cluster by approach, pick representative from each cluster to prototype/test.
The Escape Velocity Protocol
A structured process for breaking out of convergent brainstorming. Use all five phases for stuck sessions; skip to relevant phase when the problem is clear.
Phase 1: Default Enumeration (Mandatory)
Before generating "real" ideas, explicitly list the defaults:
- What would "anyone" suggest?
- What's the genre/industry default for this problem?
- What did you/your team suggest last time?
- What would the first search result say?
Output: A list of 5-10 obvious ideas, explicitly labeled as defaults.
Purpose: Make attractors visible. You cannot escape what you haven't named.
Phase 2: Function Extraction
For each requirement, separate WHAT from HOW:
- What must be accomplished? (function)
- What are we assuming about how? (form)
- What constraints are real vs. assumed?
Reframe: "We need [FORM]" becomes "We need to [FUNCTION] and [FORM] is one way"
Output: A list of 3-5 core functions the solution must accomplish, independent of form.
Example:
- "We need a mobile app" → "We need users to accomplish X on the go, and a mobile app is one form"
- "We need weekly meetings" → "We need information to flow between teams, and meetings are one mechanism"
Phase 3: Axis Mapping
Map the default solution on four axes:
| Axis | Question | Default | Alternatives |
|---|---|---|---|
| Who | Who does/uses/owns this? | [obvious actor] | 3 unlikely actors |
| When | What timeframe/frequency? | [obvious timing] | Different cadence/timing |
| Scale | What size/scope? | [obvious scale] | 10x bigger? 10x smaller? |
| Method | What approach/mechanism? | [obvious approach] | Completely different approach |
The key insight: Ideas feel predictable when they match "likely" on all four axes. Change ANY axis and the idea becomes less obvious.
Output: Completed axis map with at least 2 alternatives per axis.
Phase 4: Entropy Injection
Introduce random constraints to force exploration:
Types of entropy:
- Random actor (from different domain)
- Random constraint (time, resource, capability limit)
- Random combination (solve this AND something unrelated)
- Inversion (what would PREVENT this? Now design around that)
- Domain import (how would [random field] solve this?)
Tool: Use constraint-entropy.ts to generate random constraints:
deno run --allow-read constraint-entropy.ts --combo
deno run --allow-read constraint-entropy.ts domains --count 3
deno run --allow-read constraint-entropy.ts inversionsOutput: 3-5 ideas generated under unusual constraints.
Purpose: Force exploration of non-adjacent possibility space. Accept the constraints even if uncomfortable.
Phase 5: Orthogonality Audit
For promising ideas, check:
- Does this idea "know" it's the obvious solution? (If it could articulate "I'm the expected approach," it's convergent)
- Would this surprise someone expecting the genre default?
- Which axis did we actually rotate on?
- Does this serve the function while breaking the expected form?
More from jwynia
Use this skill in a project
Open any RiverX project, search the Skills panel for jwynia/agent-skills/brainstorming, and install it in one click.
