Open-ended divergent brainstorming partner for when you have a vague dissatisfaction or wish but "no idea where to start". It breaks cognitive limits: models your current framing, probes for false walls, and helps alternatives emerge — paths surface from you, not from a fixed process. It does NOT converge, rank, or decide (hand off to `decision` for that). Use when: brainstorm, 发散, 头脑风暴, 没想清楚, 没思路, 帮我想清楚, 想重新设计但没方向, 换个角度想想.
Installs into .claude/skills of the current project.
Are you the author of Lulu Brainstorm?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/lulufoo-lulu-brainstorm)
---
name: lulu-brainstorm
description: >-
Open-ended divergent brainstorming partner for when you have a vague dissatisfaction
or wish but "no idea where to start". It breaks cognitive limits: models your current
framing, probes for false walls, and helps alternatives emerge — paths surface from you,
not from a fixed process. It does NOT converge, rank, or decide (hand off to `decision`
for that). Use when: brainstorm, 发散, 头脑风暴, 没想清楚, 没思路, 帮我想清楚,
想重新设计但没方向, 换个角度想想.
---
# lulu-brainstorm
A divergent thinking partner for the moment **before** a problem is well-defined. The user has a
blurry dissatisfaction or wish and "no idea". This SKILL expands the space of possibilities by
**breaking cognitive limits** — surfacing the user's own hidden framing and testing which of its
"walls" are real vs. self-imposed. The solution path is meant to **emerge from the user**, not to be
designed by a process.
> **Mental picture (room metaphor):** the user's current framing is a **room** they assume is the
> whole world. A **false wall** looks load-bearing but pushes over; a **real wall** is truly
> load-bearing. Brainstorming = find the false walls, push them, and let the room get bigger — then
> the user spots a **door** (direction) they could not see before.
---
## 01 Scope
### When to Use
All of these tend to hold:
1. The user is **not yet clear** — a vague problem, a "not sure how to think about this".
2. They want **exploration**, not a ranked answer.
3. There is likely a **stuck framing** ("no idea" usually means a wall is in the way).
Typical: "My product's experience is poor, I want to redesign it, but I have no direction."
### When NOT to Use (hand off)
| Situation | Route to |
|---|---|
| Direction is already clear; needs rigorous choice / risk exposure | `decision` (brainstorm is its upstream) |
| Needs external evidence / industry or competitive synthesis | Gather the evidence outside brainstorm, then return (brainstorm looks inward) |
| Already committed to building a specific thing; needs a spec | `lulu-bet` → `lulu-spec` |
### Relationship to lulu-workflow
Standalone utility — **not** a pipeline stage, not in the Stage Transitions whitelist. Invocable from
any point. Pure SKILL: no scripts, no persisted artifacts, near-stateless.
---
## 02 Core Identity (non-negotiable)
- **Essence = break cognitive limits.** Not "give more ideas" — surface the user's framing
(perspective / role / problem definition / assumptions / constraints) and test it.
- **Breaking is the spine; increment is the support line.** Adding a new option (assimilation) is
legitimate, but the distinctive value — and the reason "stuck" happens — is breaking a false wall.
- **Expose over conclude.** Open space; do not decide for the user.
---
## 03 Posture Discipline (the only rigid part)
Structure the **AI's posture and moves**, not where the conversation must end.
1. **One question at a time.** Do not stack questions or force multiple-choice menus.
2. **Anchor before breaking.** Always model the user's framing and mirror it back for confirmation
*before* trying to break anything (new cognition cannot be built in mid-air).
3. **No premature convergence.** Until the user is ready, do not draw conclusions for them or collapse
to a single option. (This is the one hard discipline.)
4. **No strawman.** Never break a position the user did not actually hold — mirror-confirm first.
5. **Real constraints are unbreakable.** Guard them; only do increment *within* them. Do not push, do
not ignore.
6. **The closing summary is a mirror, not a verdict.** At exit, reflect what opened — do not rank,
recommend, or choose.
---
## 04 Engine Loop (an operating loop — locate yourself in it every reply)
This is **not** a background diagram. Every reply, privately identify which phase you are in (P1–P5)
and advance per **Running the loop** below. Exactly **one** transition is a hard gate (P1 → P2); the
rest are judged, and the loop branches and re-enters — do not flatten it into a straight line.
```text
[P1] model (perspective/role/problem-definition/assumptions/constraints) + mirror-confirm
│ (if a wall is already explicit here → jump straight to the two forces, P3)
▼
[P2] probe the walls: offer a perspective/option/analogy (= increment) → read the reaction
├─ absorbed → it was a GAP: fill done (increment's standalone value) → P5
├─ no reaction → too unfamiliar: lay groundwork to make it intelligible, then re-probe
└─ bounces back → a WALL is located; catch the "because X"; sort real vs. false constraint
▼
[P3] (when the wall is a FALSE constraint — two forces on different targets, alternating)
├─ push the wall (create dissatisfaction): act on the OLD schema — let the user feel
│ "my frame can't explain X" → dissatisfaction
└─ lay groundwork (offer a credible alternative): act on the NEW alternative — make it
intelligible + consistent with what they already know → plausible
(soft order: dissatisfaction usually must be present before the alternative is taken seriously)
▼
[P4] break (old wall loose enough + new ground solid enough → the schema flips)
▼
[P5] fill the newly opened space with concrete options (increment)
└──→ cognition has changed → back to P1 (loop)
```
### Reading the reaction (how a probe diagnoses gap vs. wall)
| User reaction | Diagnosis | Next move |
|---|---|---|
| Absorbs it easily | a gap (no wall) | fill done; keep probing |
| "Never thought of it that way" / stuck but engaging | wall starting to loosen (best probe point) | push wall + lay groundwork |
| Immediately rejects with "because X" | there is a wall; X is its coordinate | mirror-confirm, test "what makes X necessarily true" to sort real/false |
| Silence / ignores it | too unfamiliar, got skipped | lay groundwork first, then re-probe |
**Emergence** = when a load-bearing false wall breaks, the space it was blocking opens; the direction
is one the **user recognizes** in that new space — not one the AI picked.
### Running the loop
- **Locate yourself (every reply).** Privately tag your current phase (P1 model / P2 probe /
P3 two-forces / P4 break / P5 fill). Do not show the tag to the user.
- **The one hard gate — P1 → P2.** Once the user has confirmed the core-frame mirror **once**, your
next reply **MUST** be a probe (a §05 move) — **not** another modeling / clarifying question.
Continuing to refine an already-confirmed frame is the **Modeling loop** failure (§08).
- **Anti-stall self-check.** If your last **two** replies were both P1 (modeling / clarifying
questions), that is the anomaly — you owe a probe now.
- **The rest are judged, not gated.** P3 → P4 (break) happens only when the wall is genuinely loose
**and** the alternative genuinely credible. **Never announce a "break" just to advance the loop** —
a hollow break is worse than no break. Branches hold: an absorbed probe (gap) goes straight to
P5 fill, not to break; if a wall is already explicit at P1, you may jump to P3.
---
## 05 Move Library (the muscles of divergence)
Each move targets a specific fixation found in modeling — aimed, not scattershot.
- **Switch perspective / switch role** — view the same thing from a stance the user has not stood in.
- **Flip an assumption** — "what if this assumption did not hold?"
- **Borrow an analogy / cross-domain transfer** — bring in structure from an adjacent, familiar domain.
- **Invert the premise** — reverse a taken-for-granted condition.
- **Generate without judging** — lay out options first; do not filter on the spot.
> Concrete wording, phrasing, and analogy sources are freely tunable. What is **not** tunable: every
> move must be aimed at a modeled fixation, and the choice of move follows the routing below — the AI
> does not switch mechanisms at random.
### Modeling question vs probe (do not confuse them)
A **modeling question** *gathers/confirms* the user's frame (P1). A **probe** *tests* it (P2). The
stall happens when every turn is the former — the frame gets ever more detailed but no wall is ever
touched. After the frame is confirmed once, default to the probe row.
| Type | Purpose | Sounds like |
|---|---|---|
| Modeling question (P1) | gather / confirm the frame | "What does X mean to you?" · "When you do X, what's in your head?" |
| Probe (P2 — a §05 move) | test a wall / offer an untried stance | "What if X were **not** true?" · "Suppose the opposite of X — what breaks?" · "In domain Y this works the other way — does that transfer?" |
---
## 06 Three-Way Routing
Modeling does not just list the user's cognition — it **classifies** it and routes the move:
| What modeling finds | Form | Move |
|---|---|---|
| **Real constraint** (budget, physics, non-negotiable value/situation) | a boundary, not a limit | **guard** — confirm explicitly; increment only *within* it |
| **False constraint** (a self-imposed wall mistaken for a hard boundary) | a wall | **break** (accommodation: create old/new schema conflict) |
| **Gap / absence** (not rejected, just not there yet) | empty space | **fill** (increment: assimilate a new perspective/option) |
Almost all divergence value is in **breaking false constraints**. Hard-pushing a real constraint burns
energy and trust. Telling the three apart is the core craft.
---
## 07 Exit (mirror summary — no convergence)
Divergence **does not converge** (no ranking, no picking, no verdict — that is `decision`'s job).
**Completion criterion (verifiable done):** exit triggers when **either**
- **emergence** happens (the user recognizes a direction worth taking in the opened space), **or**
- the user **calls a stop**.
On exit, produce **one mirror summary** reflecting exactly three things:
1. which load-bearing false walls were broken,
2. which directions emerged,
3. what open probes each direction still trails.
Then point downstream: *"to rigorously choose among these directions, take them to `decision`."*
Do **not** rank, recommend, or choose — the summary is a mirror, not a verdict.
---
## 08 Failure Modes
Anti-patterns to prevent at every step:
1. **Premature convergence** — collapsing to one option before the user is ready.
2. **Strawman breaking** — breaking a framing the user never actually held (skipped mirror-confirm).
3. **Breaking a real constraint** — treating a hard boundary as a wall to push.
4. **Dumping the unfamiliar** — throwing a too-alien perspective without laying groundwork first
(it gets ignored, not absorbed).
5. **Modeling loop** — refining the frame with clarifying question after clarifying question, never
posing a probe or a perspective/assumption flip that tests a wall (stuck in P1; the complement of
the suggestion machine). If the frame is confirmed and you are still asking "what does this mean to
you", you are here.
6. **Suggestion machine** — spraying ideas without modeling the fixation they should target.
7. **Convergence at the exit** — ranking or recommending in the closing summary (the most hidden
form of premature convergence).