Brainstorming
💡 Recommended Agent: brainstorm-agent (Requirements Explorer)
- CLI: Input
/agent and select brainstorm-agent
- VS Code: Use
@workspace #brainstorm-agent in Chat
When to Use
Use this skill at the start of any request/change when:
- Requirements are ambiguous or incomplete
- The change touches security, auth/authz, data flow, CI/CD, or supply chain
- There are multiple plausible implementation approaches
- You need a rationale trail (auditability)
💡 方向完全不明確? 先用 /research 探索技術地圖,再回來 brainstorm。
Workflow
Pre-Phase — Domain Research(條件觸發)
觸發條件(滿足任一即觸發):
- 使用者未指定技術棧
- 無現有 codebase(greenfield 專案)
- 想法屬於領域/概念層級(如「我想做 AI 客服平台」「我想做財務分析工具」)
派遣 research subagent,指令範本:
"Search GitHub for [domain] popular libraries, architectures, and community trends (2024–2025). Report top 3 approaches with complexity, maturity, and trade-offs, with citations."
將研究結果整理為解法地圖(2-3 條路線 + 社群成熟度),作為 Phase 1 提問與 Phase 2 選項比較的依據。
Phase 0 — Intake & Risk Classification
- Clarify goals/non-goals and acceptance criteria
- Classify risk: Low / Med / High
- Determine if this is brownfield (existing system)
- Select exactly one execution mode from
WORKFLOW.md: Simple, Standard, or High-Risk. Use its entry, escalation, artifact, and verification contract without defining another path here.
Phase 1 — Clarify
- In each new brainstorming round, ask at least 5 targeted questions before options/recommendation unless the user explicitly says assumptions are acceptable
- If the user cannot answer immediately, list assumptions separately and label what remains unknown
Phase 2 — Explore Options
- Produce 2–3 options
- For each: complexity (L/M/H), risks, dependencies, rollback strategy
Phase 3 — Decide & Record
- Recommend one option and justify
- Produce a Decision Log entry (append-only)
Phase 4 — Required Lifecycle Artifacts
- Simple does not require a Change Package; retain the confirmed summary inline or in an existing project plan when useful.
- For Standard when a canonical package trigger applies, or for High-Risk, use shell to create
changes/<YYYY-MM-DD>-<slug>/ first.
- Then write the required stub files (do NOT use
edit on non-existent files):
01-brainstorm.md
02-decision-log.md
03-spec.md (draft)
- If shell is unavailable, output file contents in response for manual creation
Must-Ask Questions
Apply to every project regardless of domain:
In a normal kickoff, cover at least five of these categories before recommending a path or solution. If the user explicitly allows assumptions, say that you are switching to assumption-driven brainstorming.
| Category |
Question |
Purpose |
| Problem |
What problem are we solving? How is it handled today? |
Avoid solving the wrong problem |
| Users |
Who will use this? What are the different roles? |
Define personas |
| Non-goals |
What are we explicitly NOT doing in this iteration? |
Prevent scope creep |
| Failure scenario |
If this feature breaks, what's the worst case? |
Risk awareness |
| Existing system |
What existing components will this touch or depend on? |
Greenfield vs brownfield |
| Acceptance |
How will we know it's done? How will we verify it works? |
Seed acceptance criteria |
| Rollback |
If we ship this and it causes problems, can we revert? |
Safety net |
Conditional Follow-up Questions
Trigger these based on the user's answers:
| Trigger |
Follow-up Questions |
| Involves money / pricing |
Precision rules? Which currencies? Rounding strategy? Idempotency? |
| Involves personal data |
Privacy requirements? Who can access? Retention policy? |
| Involves permissions / roles |
Who can read, write, approve? Audit trail needed? |
| Brownfield system |
Which modules are affected? Dependent systems? Migration needed? |
| Multi-system integration |
API contracts? Failure/retry behavior? Eventual consistency acceptable? |
| Scheduled / batch processing |
What if it runs twice? Timeout handling? Partial failure recovery? |
| Reporting / audit |
Who reads the reports? How far back must data be queryable? |
| Workflow / approvals |
What are the state transitions? Who can approve or reject? |
Risk Classification
| Level |
Criteria |
Mode-routing signal |
| Low |
Single file or isolated component, no existing users, no data flow changes, easily reverted |
Evaluate Simple first; reliable targeted verification is required. |
| Med |
Multiple files, touches existing features, some external dependencies |
Usually Standard; apply canonical compact-package triggers. |
| High |
Cross-module, security/permissions, data migration, regulatory, or production-critical |
High-Risk; use the full lifecycle and named gates. |
Output Template
- Risk Classification (Low/Med/High)
- Execution Mode (Simple / Standard / High-Risk) with canonical evidence
- Questions Asked (at least 5 unless the user explicitly allowed assumptions)
- Assumptions & Constraints
- Options (2–3)
- Recommendation
- Decision Log
- Required Lifecycle Artifacts (inline/existing plan for Simple; package stubs when required)
Brainstorm Summary Format
Use this structure in 01-brainstorm.md:
## Brainstorm Summary
**Problem**: [one sentence]
**Risk Level**: Low / Med / High
**Execution Mode**: Simple / Standard / High-Risk
**Chosen Approach**: [option name and one-line reason]
**Discovery Questions Covered**: [at least five categories, or note that the user explicitly allowed assumptions]
**Open Questions**: [anything still unresolved]
**Assumptions**: [what we're assuming to be true]
**Non-goals**: [explicitly out of scope]
Output Mapping (when a Change Package is required)
Write results into:
changes/<YYYY-MM-DD>-<slug>/01-brainstorm.md
changes/<YYYY-MM-DD>-<slug>/02-decision-log.md
- Draft/Update
changes/<...>/03-spec.md (minimum scope + verification)
Directory creation: Always create the target directory with shell (mkdir -p / New-Item -ItemType Directory -Force) before writing files. The edit tool CANNOT create new files — use shell or create tool instead.
If shell is unavailable, output file contents in response for manual creation.
Common Rationalizations
在腦力激盪過程中,AI 可能以下列藉口跳過關鍵步驟。以下為常見合理化說詞與反制說明:
| 常見藉口 |
反制說明 |
| "我只是先試試,不是真的要實作" |
⛔ 在設計批准前,任何實作程式碼均為違規——無論使用者要求多迫切 |
| "需求很清楚了,不需要再問問題" |
腦力激盪的目的是發現「你不知道你不知道的」——即使需求看起來清楚,仍需走完 Must-Ask Questions |
| "風險很低,可以跳過 mode classification 直接 plan" |
Simple 仍需可靠的 targeted verification;未依 WORKFLOW.md 分類就跳過等於盲目行動 |
| "使用者已經給了選項,我選一個就好" |
未產出 2–3 個選項比較 = 放棄最重要的決策品質保證;必須列出選項與折衷取捨,即使使用者傾向某選項 |
Verification
在輸出 brainstorm 產出物前,逐項確認(Gate = 交付前閘門;Verification = 自我完成確認):
1---2name: brainstorming3description: Start a work item: triage risk, select the canonical execution mode, clarify requirements, compare solution options, and produce the lifecycle artifacts required by WORKFLOW.md.4license: MIT5---67# Brainstorming89> 💡 **Recommended Agent**: `brainstorm-agent` (Requirements Explorer)10> - **CLI**: Input `/agent` and select `brainstorm-agent`11> - **VS Code**: Use `@workspace #brainstorm-agent` in Chat1213## When to Use14Use this skill at the **start of any request/change** when:15- Requirements are ambiguous or incomplete16- The change touches security, auth/authz, data flow, CI/CD, or supply chain17- There are multiple plausible implementation approaches18- You need a rationale trail (auditability)1920> 💡 **方向完全不明確?** 先用 `/research` 探索技術地圖,再回來 brainstorm。2122## Workflow2324### Pre-Phase — Domain Research(條件觸發)2526**觸發條件**(滿足任一即觸發):27- 使用者未指定技術棧28- 無現有 codebase(greenfield 專案)29- 想法屬於領域/概念層級(如「我想做 AI 客服平台」「我想做財務分析工具」)3031派遣 `research` subagent,指令範本:32> *"Search GitHub for [domain] popular libraries, architectures, and community trends (2024–2025). Report top 3 approaches with complexity, maturity, and trade-offs, with citations."*3334將研究結果整理為**解法地圖**(2-3 條路線 + 社群成熟度),作為 Phase 1 提問與 Phase 2 選項比較的依據。3536### Phase 0 — Intake & Risk Classification37- Clarify goals/non-goals and acceptance criteria38- Classify risk: **Low** / **Med** / **High**39- Determine if this is brownfield (existing system)40- Select exactly one execution mode from `WORKFLOW.md`: **Simple**, **Standard**, or **High-Risk**. Use its entry, escalation, artifact, and verification contract without defining another path here.4142### Phase 1 — Clarify43- In each new brainstorming round, ask at least 5 targeted questions before options/recommendation unless the user explicitly says assumptions are acceptable44- If the user cannot answer immediately, list assumptions separately and label what remains unknown4546### Phase 2 — Explore Options47- Produce 2–3 options48- For each: complexity (L/M/H), risks, dependencies, rollback strategy4950### Phase 3 — Decide & Record51- Recommend one option and justify52- Produce a **Decision Log** entry (append-only)5354### Phase 4 — Required Lifecycle Artifacts55- Simple does not require a Change Package; retain the confirmed summary inline or in an existing project plan when useful.56- For Standard when a canonical package trigger applies, or for High-Risk, use shell to create `changes/<YYYY-MM-DD>-<slug>/` first.57- Then write the required stub files (do NOT use `edit` on non-existent files):58 - `01-brainstorm.md`59 - `02-decision-log.md`60 - `03-spec.md` (draft)61- If shell is unavailable, output file contents in response for manual creation6263## Must-Ask Questions6465Apply to **every project** regardless of domain:6667In a normal kickoff, cover at least five of these categories before recommending a path or solution. If the user explicitly allows assumptions, say that you are switching to assumption-driven brainstorming.6869| Category | Question | Purpose |70|----------|----------|---------|71| **Problem** | What problem are we solving? How is it handled today? | Avoid solving the wrong problem |72| **Users** | Who will use this? What are the different roles? | Define personas |73| **Non-goals** | What are we explicitly NOT doing in this iteration? | Prevent scope creep |74| **Failure scenario** | If this feature breaks, what's the worst case? | Risk awareness |75| **Existing system** | What existing components will this touch or depend on? | Greenfield vs brownfield |76| **Acceptance** | How will we know it's done? How will we verify it works? | Seed acceptance criteria |77| **Rollback** | If we ship this and it causes problems, can we revert? | Safety net |7879## Conditional Follow-up Questions8081Trigger these based on the user's answers:8283| Trigger | Follow-up Questions |84|---------|---------------------|85| Involves money / pricing | Precision rules? Which currencies? Rounding strategy? Idempotency? |86| Involves personal data | Privacy requirements? Who can access? Retention policy? |87| Involves permissions / roles | Who can read, write, approve? Audit trail needed? |88| Brownfield system | Which modules are affected? Dependent systems? Migration needed? |89| Multi-system integration | API contracts? Failure/retry behavior? Eventual consistency acceptable? |90| Scheduled / batch processing | What if it runs twice? Timeout handling? Partial failure recovery? |91| Reporting / audit | Who reads the reports? How far back must data be queryable? |92| Workflow / approvals | What are the state transitions? Who can approve or reject? |9394## Risk Classification9596| Level | Criteria | Mode-routing signal |97|-------|----------|--------------------|98| **Low** | Single file or isolated component, no existing users, no data flow changes, easily reverted | Evaluate Simple first; reliable targeted verification is required. |99| **Med** | Multiple files, touches existing features, some external dependencies | Usually Standard; apply canonical compact-package triggers. |100| **High** | Cross-module, security/permissions, data migration, regulatory, or production-critical | High-Risk; use the full lifecycle and named gates. |101102## Output Template103104- Risk Classification (Low/Med/High)105- Execution Mode (Simple / Standard / High-Risk) with canonical evidence106- Questions Asked (at least 5 unless the user explicitly allowed assumptions)107- Assumptions & Constraints108- Options (2–3)109- Recommendation110- Decision Log111- Required Lifecycle Artifacts (inline/existing plan for Simple; package stubs when required)112113### Brainstorm Summary Format114115Use this structure in `01-brainstorm.md`:116117```markdown118## Brainstorm Summary119120**Problem**: [one sentence]121**Risk Level**: Low / Med / High122**Execution Mode**: Simple / Standard / High-Risk123**Chosen Approach**: [option name and one-line reason]124**Discovery Questions Covered**: [at least five categories, or note that the user explicitly allowed assumptions]125**Open Questions**: [anything still unresolved]126**Assumptions**: [what we're assuming to be true]127**Non-goals**: [explicitly out of scope]128```129130## Output Mapping (when a Change Package is required)131Write results into:132- `changes/<YYYY-MM-DD>-<slug>/01-brainstorm.md`133- `changes/<YYYY-MM-DD>-<slug>/02-decision-log.md`134- Draft/Update `changes/<...>/03-spec.md` (minimum scope + verification)135136**Directory creation**: Always create the target directory with shell (`mkdir -p` / `New-Item -ItemType Directory -Force`) before writing files. The `edit` tool CANNOT create new files — use shell or `create` tool instead.137If shell is unavailable, output file contents in response for manual creation.138139## Common Rationalizations140141在腦力激盪過程中,AI 可能以下列藉口跳過關鍵步驟。以下為常見合理化說詞與反制說明:142143| 常見藉口 | 反制說明 |144|---------|---------|145| "我只是先試試,不是真的要實作" | ⛔ 在設計批准前,任何實作程式碼均為違規——無論使用者要求多迫切 |146| "需求很清楚了,不需要再問問題" | 腦力激盪的目的是發現「你不知道你不知道的」——即使需求看起來清楚,仍需走完 Must-Ask Questions |147| "風險很低,可以跳過 mode classification 直接 plan" | Simple 仍需可靠的 targeted verification;未依 `WORKFLOW.md` 分類就跳過等於盲目行動 |148| "使用者已經給了選項,我選一個就好" | 未產出 2–3 個選項比較 = 放棄最重要的決策品質保證;必須列出選項與折衷取捨,即使使用者傾向某選項 |149150## Verification151152在輸出 brainstorm 產出物前,逐項確認(Gate = 交付前閘門;Verification = 自我完成確認):153154- [ ] 若 mode 要求 Change Package,`Test-Path changes/<slug>/01-brainstorm.md` 回傳 True;Simple 則記錄 `N/A — Change Package is not required for this Simple task.`155- [ ] Risk Classification 已完成,等級為 Low / Med / High 三者之一,且已依 `WORKFLOW.md` 選擇唯一的 Simple / Standard / High-Risk mode156- [ ] 至少 5 個 Must-Ask 問題類別已覆蓋,或使用者已明確允許 assumption-driven 模式(不得靜默跳過)157- [ ] 至少 2 個選項已比較(complexity / risks / rollback strategy),並有明確推薦理由158- [ ] 若 mode 要求 Change Package,Decision Log 條目已寫入 `02-decision-log.md`;Simple 則將決策理由保留在 inline summary 或 existing plan159- [ ] Open Questions 欄位已填寫(若有未解問題),不得略去160- [ ] 所有 Assumptions 均已明確標記(不得以隱性假設替代明確說明)