- name
- brainstorm
- scope
- universal
- description
- [UDS] Structured multi-persona brainstorming with a scored quality gate, run before a spec exists.
Use when: an idea is still vague, exploring alternatives before committing to a direction, needing diversity rather than the first plausible answer.
Not for: planning work whose direction is already decided — use /plan or /sdd; recording a decision already made — use /adr.
Keywords: brainstorm, ideation, divergence, convergence, persona ensemble, devil advocate, 腦力激盪, 發想, 發散收斂.
- allowed-tools
- Read, Glob, Grep, Write
- argument-hint
- [problem or feature idea | 問題或功能構想]
# Brainstorm Assistant | 腦力激盪助手
> **Language**: English | [繁體中文](../../locales/zh-TW/skills/brainstorm-assistant/SKILL.md)
Structured ideation before specification writing. Transform vague ideas into actionable feature proposals through guided brainstorming — grounded in 2024–2026 research on AI-assisted ideation.
在撰寫規格前進行結構化發想。以 2024–2026 年 AI 輔助發想研究為基礎,透過引導式腦力激盪,將模糊構想轉化為可執行的功能提案。
> **Implements**: XSPEC-296 Brainstorm Quality Standard (BQS v1) — brainstorm v4, layered on
> XSPEC-247 brainstorm v3 (Multi-Persona Ensemble + Multi-Critic Convergence).
**What changed in v3 | v3 的核心改動:** Divergence is no longer a single AI voice racing to a count — it is a **persona ensemble** (each role reasons via chain-of-thought, in isolation) crossed with **diversity lenses**. Convergence is no longer one AI scorer plus one devil's-advocate — it is a **multi-critic panel** plus a **hard-role rebuttal** (Devil's Advocate + Steelman). This directly targets the strongest finding in the literature: multiple personas beat a single pass, and a single LLM critic is weak and prone to sycophancy.
v3 把發散從「單一 AI 衝數量」改為**persona 集成**(每個角色以思維鏈獨立推理)× **多樣性透鏡**;把收斂從「單一 AI 評分 + 單一反駁」改為**多評審面板** + **硬角色反駁**(Devil's Advocate + Steelman)。直接對應文獻最強結論:多 persona 勝過單一 pass,單一 LLM 評審既弱又易諂媚。
**What changed in v4 | v4 的核心改動:** v3 supplied strong *mechanisms* but no decidable pass/fail quality gate. v4 layers a **time-sequenced quality contract** on top — the **Brainstorm Quality Standard (BQS v1)** — without removing any v3 behaviour. BQS is a **four-layer × timeline** structure: Layer 0 declares explore/exploit intent; Layer 1 (process, leading, visible during divergence) runs dimensions **D1–D4**; Layer 2 (product, leading, applied to the Recommended Set only after convergence — ideas with Agg. Score ≥ 3.5, uncapped) runs **D5–D8** plus a Seeds column and a contested zone; Layer 3 is an ungoverned **Judgment Override**. First principle: **decisions use leading signals; calibration uses lagging signals — these are ordered in time, not a right/wrong trade-off.** The hard sequence gate forbids D5–D8 from being revealed or scored during divergence. See "BQS v1 — Quality Contract" below.
**v4 的核心改動:** v3 提供了強健的*機制*,卻沒有可判定 pass/fail 的品質閘。v4 在其上疊加一道**時序化品質契約**——**腦力激盪品質標準(BQS v1)**——且不移除任何 v3 行為。BQS 是**四層 × 時間軸**結構:第 0 層宣告 explore/exploit 意圖;第 1 層(過程、leading、發散期全程可見)跑維度 **D1–D4**;第 2 層(產物、leading、收斂後僅施於推薦集,即 Agg. Score ≥ 3.5、不限筆數的想法)跑 **D5–D8** 加 Seeds 欄與爭議區;第 3 層是不受治理的 **Judgment Override**。第一原理:**決策用 leading 訊號、校準用 lagging 訊號——兩者是時間前後,而非對錯取捨。** 硬序列閘禁止 D5–D8 在發散期被揭示或評分。詳見下方「BQS v1 — 品質契約」。
**What changed in v4.2 (XSPEC-388) | v4.2 的核心改動:** D4 pinned where the judge sits and said nothing about whether it can think. An independent context running a literal-following model satisfies the old wording verbatim and rubber-stamps its way through D5–D8 — indistinguishable on paper from a review where someone actually objected. v4.2 gives D4 a **second axis**: the review must also declare its required **model level** (see the terminology note below). The CONVERGE briefs are re-shaped as **goal + constraints** — D5–D8 are criteria the judgment must satisfy, not steps to execute in order; the fixed sentence patterns and per-criterion scoring guides are kept as reference formats. The divergence side cites [core/model-selection.md](../../core/model-selection.md) (Standard or higher) instead of adding a rule of its own. No v3 mechanism is removed.
**v4.2 的核心改動(XSPEC-388):** D4 原本只釘住判官坐在哪裡,一個字都沒說它得想得動。一個獨立 context 跑字面遵循型模型會逐字滿足舊條文,然後照 D5–D8 逐條打勾放行——與一場真的有人反對過的評審在報告上無從分辨。v4.2 給 D4 加上**第二個軸**:評審還必須宣告其**模型層級**要求(見下方術語說明)。CONVERGE 的提示改為**目標+約束**形狀——D5–D8 是判斷必須滿足的判準,不是按順序執行的步驟;既有固定句型與逐準則分數指南保留為參考格式。發散側引用 [core/model-selection.md](../../core/model-selection.md)(Standard 或更高)而不另立規則。不移除任何 v3 機制。
> **Terminology — "model level", never "tier" | 術語——「模型層級」,不用「tier」:** inside this skill, `tier` is already taken twice — the BQS tiering table (which dimensions apply) and the Enhanced Tier. The model-capability axis defined in [core/model-selection.md](../../core/model-selection.md) (called *model tier* there) is therefore always written **model level(模型層級)** in this skill. Model levels are that standard's **vendor-neutral labels**; this skill never names a concrete vendor model (see D4).
>
> 在本 skill 內,`tier` 已被佔用兩次——BQS 分級表(套用哪些維度)與 Enhanced Tier。[core/model-selection.md](../../core/model-selection.md) 定義的模型能力軸(該標準稱 *model tier*)在本 skill 一律寫作**模型層級(model level)**。模型層級是該標準的**廠商中立標籤**;本 skill 絕不指名具體廠商模型(見 D4)。
## Mode Selection | 使用前先選模式
Apply these **objective triggers** before starting. Default is full v3 — routing rules are shortcuts to skip phases, not barriers to add.
使用前套用以下**客觀觸發條件**。預設為完整 v3,路由規則是跳過階段的快捷鍵,而非額外障礙。
| Condition | Recommended Mode | Command |
|-----------|-----------------|---------|
| Problem description < 20 words **or** topic feels vague | Full v3 (default) | `/brainstorm [topic]` |
| Strategic question (career, architecture, business model) | Full v3 with rebuttal | `/brainstorm [topic]` |
| Host supports parallel subagents and you want maximum diversity | Full v3 + Enhanced tier | `/brainstorm --enhanced [topic]` |
| Creative-only (naming, tagline, marketing copy) | Lite — skip rebuttal | `/brainstorm --no-rebuttal [topic]` |
| Time-constrained or execution-type (write code, fix copy) | Quick mode | `/brainstorm --quick [topic]` |
| Already have an SDD spec for this topic | Skip pre-flight | `/brainstorm --skip-preflight [topic]` |
> **Rule of thumb:** If you are unsure which row applies, use full v3. The cognitive overhead of deciding is higher than just running the full flow.
>
> **判斷原則:** 不確定適用哪一行時,直接用完整 v3。判斷本身的認知成本高於直接跑完整流程。
## Workflow | 工作流程
```
[Mode Selection] ─► PRE-FLIGHT ─► FRAME ─► DIVERGE ───────────► CONVERGE ──────────► OUTPUT
客觀路由 防止錨定 定義問題 persona 集成+透鏡 多評審面板+硬角色反駁 輸出提案
▲ Layer 0 intent ▲ Layer 1 (D1–D4, leading) ▲ Layer 2 (D5–D8, Recommended Set) ▲ Layer 3 override
```
---
## BQS v1 — Quality Contract | BQS v1 — 品質契約
> First principle | 第一原理: A brainstorm's output is a **hypothesis, not an answer**. Whether an idea is good is unknowable at ideation time, so quality can only be judged on **leading** signals (process + epistemic integrity); the standard's legitimacy is **calibrated** by **lagging** signals (later outcomes). Decisions use leading; calibration uses lagging; they are ordered in **time**, not a right/wrong choice. (This corrects any "use only leading, never lagging" absolutism.)
>
> 腦力激盪的產物是**假說,不是答案**。一個點子好不好在發想當下不可知,所以品質只能用 **leading** 訊號(過程+認識論完整性)判;標準的正當性靠 **lagging** 訊號(事後結果)**校準**。決策用 leading、校準用 lagging,兩者是**時間**前後,不是對錯取捨。(此處修正任何「只用 leading 不用 lagging」的絕對說法。)
BQS is a **four-layer × timeline** contract. It is **additive** to v3 — every v3 flag and mechanism is preserved (see "Backward Compatibility").
BQS 是**四層 × 時間軸**契約。它是 v3 的**疊加**——所有 v3 旗標與機制都保留(見「向後相容」)。
### Layer 0 — Intent (opening declaration) | 第 0 層 — 意圖(開場宣告)
At the start, declare the **explore/exploit ratio** and the bet type (incremental vs barbell long-tail). This layer **modulates dimension weights**: under an exploit-leaning session, a **low D2 (divergence coverage) score is correct and is NOT penalised**.
開場宣告本次 **explore/exploit 配比** 與賭注類型(漸進 vs barbell 長尾)。此層**調節維度權重**:偏 exploit 的工作階段,**D2(發散覆蓋)低分是正確的、不扣分**。
### Layer 1 — Process (divergence-period leading, fully visible) | 第 1 層 — 過程(發散期 leading,全程可見)
| Dim | Oracle (how it fails) | Oracle(怎麼判 fail)|
|-----|-----------------------|----------------------|
| **D1 Frame purity** | Problem embeds a specific solution or a "like X but for Y" framing → fail; must run 5-Whys to the root cause | 問題內嵌特定方案或「像 X 給 Y」→fail;須 5-Whys 到根因 |
| **D2 Divergence coverage** | Surviving ideas span < 3 independent personas/lenses → fail (modulated by Layer 0 weight); only a round with zero new ideas counts as saturation | 存活想法跨 <3 獨立 persona/透鏡→fail(受第 0 層權重調節);連一輪零新增才算飽和 |
| **D3 Cross-session diversity** | Seed is a competitor analogy → fail; Top all from a single lens → fail | 種子是競品類比→fail;Top 全來自單一 lens→fail |
| **D4 Evaluation de-bias** | Requires ≥3 critics + hard-role Devil's Advocate + Steelman; **pass requires both axes**: (1) an independent context, **and** (2) a declared **model level** requirement using the vendor-neutral labels of [model-selection](../../core/model-selection.md) — naming a concrete vendor model is a violation. Missing either axis → mark `[degraded]` — must NOT be marked pass | 須 ≥3 評審 + 硬角色 Devil's Advocate + Steelman;**pass 須同時滿足兩軸**:(1) 獨立 context,**且** (2) 以 [model-selection](../../core/model-selection.md) 的廠商中立標籤宣告**模型層級**要求——指名具體廠商模型即違規。缺任一軸→標 `[degraded]` 不得標 pass |
> **Hard sequence gate | 硬序列閘:** D5–D8 are **forbidden** from being revealed or scored during the divergence period. The CONVERGE critics MUST NOT be invoked before the **last persona** has produced its set.
>
> D5–D8 禁止在發散期揭示或評分;CONVERGE 的 critic 不得在**最後一個 persona** 產完前被呼叫。
### Layer 2 — Product (post-convergence leading, applied to the Recommended Set only) | 第 2 層 — 產物(收斂後 leading,僅施於推薦集)
> Evaluative dimensions are confined to **after convergence × the Recommended Set only** (ideas with Agg. Score ≥ 3.5, uncapped in count) — never as a full gate on every divergence idea (that would retroactively pollute divergence, kill evidence-free future ideas, and create form-filling theatre). | 評判維度限縮在**收斂後 × 僅推薦集**(Agg. Score ≥ 3.5 的想法,不限筆數),絕不在發散期對全部想法當硬閘(否則回溯污染發散、扼殺無證據的未來想法、製造填表劇場)。
| Dim | Oracle | Oracle |
|-----|--------|--------|
| **D5 Grounding** | A `[current state / external fact]` claim with no file:line/source → fail; a `[future / hypothesis]` claim needs no grounding, marked `[hypothesis]`. **An external-fact claim is a cross-tier floor (applies even at the creative tier).** | 「現狀/外部事實」主張無 file:line/來源→fail;「未來/假說」免接地、標 `[假說]`。**外部事實宣稱為跨級地板**(creative 級亦適用)|
| **D6 Net benefit** | A selected idea that does not answer "whose problem / do we actually have it / cost of not doing it" → fail; at least one "not worth doing" elimination required. **Attach a lagging registry field**: which signal will later validate this judgement? | 入選想法未答「解誰問題/我們真有嗎/不做的代價」→fail;至少一個「不值得做」淘汰。**掛 lagging 登記欄**:此判斷事後拿什麼訊號驗證? |
| **D7 Falsifiability** | Two-state: `[falsifiable now]` or `[need to do X first to define falsification]`; the latter is **routed to a next-step feeding D8 and does NOT count as fail** | 二態:`[現可陳述證偽]` 或 `[需先做 X 才能定義證偽]`;後者**轉 next-step 餵 D8,不算 fail** |
| **D8 Actionability** | No next-step decision (including "defer") → fail | 無 next-step 裁決(含「暫不做」)→fail |
| **+ Seeds column** | When killing an idea, force-store "what was wrong, what real problem it points to"; if ≥1 idea was killed then Seeds ≥1 (only checked for non-empty) | 殺想法時強制存「錯在哪、指向什麼真問題」;被殺 ≥1 則 Seeds ≥1(只檢查非空)|
| **+ Contested zone** | Ideas whose critic variance exceeds a threshold are surfaced in a split view and **not eliminated by mean ranking** (protects barbell long-tail) | critic 方差 > 閾值的想法分流呈現,不按 mean 排序淘汰(守 barbell 長尾)|
### Layer 3 — Ungoverned zone (Judgment Override) | 第 3 層 — 不可治理區(Judgment Override)
A reserved space no oracle enters: a human's intuition to "keep / kill" needs only a one-line reason and **overrides the aggregate score — it passes through no dimension**. This admits the standard is incomplete and avoids "brainstorming to pass dimensions".
明文留一塊 oracle 不進入的地:人類直覺「保留/斃掉」附一句理由即可,**凌駕聚合分數、不需過任何維度**。承認標準不完備,避免「為過維度而 brainstorm」。
### Structural rules | 結構規則
1. **Meta stop rule | Meta 停止規則:** stop when the layer's dimensions are all green **and**, after one more round, the **Recommended Set membership is unchanged** (set membership, not internal ranking). **Hard cap: 2 rounds.** This replaces the vague "decision didn't flip" criterion. | 該層維度全綠 **且** 再跑一輪後 **推薦集成員不變**(看集合成員、不看內部排序)→停。**硬上限 2 輪**。取代模糊的「不翻決策」。
2. **Judge ≠ generator | 判官≠產生者:** D2/D4/D5/D7 judgements need an independent viewpoint; single-context self-evaluation may only be `[degraded]`, never pass. D4 additionally requires a declared model level — independence is one of its two axes (see D4). | D2/D4/D5/D7 判定須獨立視角;單 context 自評只能 `[degraded]`,不得 pass。D4 另需宣告模型層級——獨立性只是它兩軸之一(見 D4)。
3. **Calibration loop (consumes lagging) | 校準回路(吃 lagging):** v3's three Session Self-Evaluation metrics are folded in as the **lagging** end — **Adoption Rate = D6 lagging validation, Diversity = D2/D3 lagging observation, Cognitive Load = a cost constraint**. **Two parallel evaluation systems are forbidden** — there is one loop, not a separate self-eval. | v3 的 **Adoption Rate**=D6 滯後驗證、**Diversity**=D2/D3 滯後觀測、**Cognitive Load**=成本約束;三者收編為此回路 lagging 端,**禁兩套平行評估**。
4. **BQS self-evolution (lightweight) | BQS 自我演化(輕量):** versioned + an evidence `last-reviewed` that flags when overdue; "periodically brainstorm BQS itself" is optional. | 版本化 + 證據清單 last-reviewed 逾期 flag;「定期對 BQS 自身 brainstorm」列可選。
5. **Minimal sufficiency | 最小充分原則:** apply only the fewest dimensions the tier requires + confining Layer 2 to the Recommended Set (Agg. Score ≥ 3.5) instead of every divergence idea — this is the gate for cognitive economy; no separate cost dimension is added. | 套用該 tier 所需的最少維度 + 把第 2 層限縮在推薦集(Agg. Score ≥ 3.5),而非全部發散想法——認知經濟性的守門,不另設成本維度。
### Tiering (bound to v3 objective triggers, not self-assessment) | 分級(綁 v3 既有客觀觸發,非自評)
| Tier (from Mode Selection triggers) | BQS dimensions applied | 套用維度 |
|-------------------------------------|------------------------|----------|
| creative / `--quick` | D1–D3 **+ D5 external-fact floor** | D1–D3 + D5 外部事實地板 |
| default | D1–D5 + D8 | D1–D5 + D8 |
| strategic / architecture / business | all layers | 全層 |
> Tiers are selected by the **objective Mode Selection triggers** (word count, flags, existence of a spec) — not by the initiator's self-assessment. | 分級由**客觀模式選擇觸發表**(字數、旗標、是否有規格)決定,而非發起者自評。
---
### Phase 0: PRE-FLIGHT | 防止 AI 錨定
**Why this phase exists:** Independent ideas written *before* the AI generates anything consistently produce more diverse results. In AI-assisted contexts this matters *more*, not less: research on design fixation shows that AI output — being fluent and high-fidelity — **deepens** fixation rather than relieving it (Wadinambiarachchi et al., CHI 2024).
**本階段存在的原因:** 在 AI 生成任何內容之前先寫下自己的想法,能持續產出更多樣的結果。在 AI 情境下這**更**重要:設計固著研究顯示,流暢、高擬真的 AI 輸出反而**加深**固著(Wadinambiarachchi 等,CHI 2024)。
**Before the AI generates any content**, the user completes three items:
在 AI 生成任何內容之前,使用者完成三件事:
| Item | Prompt | 說明 |
|------|--------|------|
| 1 | One-sentence problem description | 一句話描述問題 |
| 2 | Three initial ideas (any format, any quality) | 3 個初始想法(任意形式、不限品質) |
| 3 | "Solution types I do NOT want" (N/A allowed) | 「我最不想要的解法類型」(可填 N/A) |
**After the user submits**, the AI reads all three inputs and proceeds to FRAME. The AI's first DIVERGE output MUST explore directions the user did not mention and MUST NOT duplicate the user's three ideas.
**使用者提交後**,AI 讀取全部三項輸入再進入 FRAME。AI 的第一批 DIVERGE 輸出必須探索使用者未提及的方向,且不得重複使用者已提交的想法。
> **Anti-seed guardrail (new in v3):** Do NOT accept or generate a "like X but for Y" framing as the seed (e.g. "Slack but for doctors"). Such analogical seeds lock the LLM into one solution space and measurably reduce idea variety. Capture the underlying *problem*, not a product analogy.
>
> **反種子 guardrail(v3 新增):** 不要用「像 X 但給 Y」的框架當種子(如「給醫生用的 Slack」)。這類產品類比種子會把 LLM 鎖進單一解空間、明顯降低想法多樣性。請捕捉底層**問題**,而非產品類比。
> **BQS Layer 0 — Intent declaration (new in v4):** Before FRAME, state the **explore/exploit ratio** and bet type (incremental vs barbell long-tail) for this session. This modulates D2 weighting downstream — under an exploit-leaning session, low divergence coverage is correct and is not penalised. Default when unstated: explore-leaning.
>
> **BQS 第 0 層 — 意圖宣告(v4 新增):** 在 FRAME 之前,宣告本次的 **explore/exploit 配比** 與賭注類型(漸進 vs barbell 長尾)。此宣告下游調節 D2 權重——偏 exploit 時低發散覆蓋是正確的、不扣分。未宣告時預設:偏 explore。
**Flag:** `--skip-preflight` bypasses this phase with a one-line warning:
`⚠ Skipping Pre-flight may cause AI anchoring`
---
### Phase 1: FRAME | 定義問題
Define the problem space clearly before generating ideas.
在產生想法之前,先清楚定義問題空間。
| Step | Action | 步驟 |
|------|--------|------|
| 1 | Clarify the problem with 5 Whys | 用 5 Whys 釐清問題根因 |
| 2 | Reframe as "How Might We" (HMW) questions | 重構為 HMW 問題 |
| 3 | Identify stakeholders and constraints | 識別利害關係人與限制條件 |
| 4 | Gather context from codebase (if applicable) | 從程式碼庫蒐集脈絡(如適用) |
---
### Phase 2: DIVERGE | 發散思考(v3:persona 集成 + 多樣性透鏡)
> **Core mechanism in v3:** a **persona ensemble**, each persona reasoning via **chain-of-thought** in **isolation**, crossed with **diversity lenses**. Meincke, Mollick & Terwiesch (2024) found that chain-of-thought + personas produces the highest idea diversity of any prompting strategy — close to human groups. A raw idea count is a weak proxy; structurally forcing distinct viewpoints is the real lever.
>
> **v3 核心機制:** **persona 集成**——每個 persona 以**思維鏈**在**隔離**狀態下推理——再乘上**多樣性透鏡**。Meincke、Mollick、Terwiesch(2024)發現「思維鏈 + persona」的想法多樣性高於所有受測提示策略,接近人類團體。光衝數量是弱代理;結構性逼出不同視角才是真正槓桿。
Voir sur GitHub