---
name: brainstorming
description: 探索、比较、挑战或补全开发方案；按 Lite/Full 深度进行单题访谈，并在用户同意持久化后维护 OpenSpec Living brainstorm。
license: MIT
metadata:
  author: "devkeel"
  version: "9.1.1"
---

# Brainstorming

通过单题访谈形成共同设计。同一 change 的需求与技术设计只在此处发生，下游 artifacts 只投影。

## 工作状态与权限

| 状态 | 边界 |
|------|------|
| topic-only（默认） | 在会话中调查、讨论或做 Gap Check，不创建 change、不写文件；结束时输出决定、开放项、阶段与下一步 |
| change-draft | 用户显式 `/opsx:new` 或同意持久化后进入，只维护 `brainstorm.md` |

本 skill 不修改实现、不生成下游 artifacts；`/opsx:ff` 只改变节奏，不跳过未确认决定。
用户暂停时保留 D/A/O 与下一 gap，不把讨论完成表述为实现完成。

## 按需引用

普通 topic-only 无 change 线索且无需查询时，不加载以下引用：

- 定位、读取或恢复已有 change 状态（含冲突或复用查询）：先读 [OpenSpec 上下文](references/openspec-context.md)。
- 准备创建、恢复持久化讨论、维护、确认或迁移 Living brainstorm：先读 [Living brainstorm](references/living-brainstorm.md)。

仅查看 change 不授权写入；已有可靠上下文可复用，不因加载引用重复查询。

## 讨论深度

深度 `lite` / `full` 控制探索范围，与工作流 schema、工作状态分别维护；切换深度不改变它们或
文档、实施、治理授权。

选择优先级：用户当前明确指定 → 当前主题已记录深度 → 已选工作流的同名默认值。均无时，明确要求
探索方向、比较方案或挑战思路用 Full，其余（包括已有方案）用 Lite。支持自然语言覆盖；仅在歧义
明显影响讨论范围时询问。首次进入或深度变化时简述深度与依据。

| 深度 | 探索与探针策略 | 收敛要求 |
|------|----------------|----------|
| Lite | 围绕当前方向补缺，按需定向调用需求或技术探针 | 当前讨论目标闭合，没有阻塞决定 |
| Full | 主动检查相关假设、替代方向与风险，完成需求和技术双探针检查 | 满足 Lite 条件，且两类检查已完成或有有效结果可复用 |

两档都须处理影响主方案或关键验收的风险，不按问题数、调用次数或篇幅衡量深度，不遍历无关维度、
制造问题或替代方案。Full 达到条件即收敛，无须先降为 Lite。

局部缺口不升级；明显扩大探索范围时，说明新证据与价值，建议切换并等待确认。用户主动切换时
立即调整，保留有效决定、调查和未解决的关键风险。

## 调查与探针

先区分用户目标、仓库事实和外部未知，查必要的约束、代码、配置、测试与 artifacts，不反问可查
事实。可靠热上下文直接复用，外部编辑、压缩或关键事实缺失时刷新。

早期想法先探索方向；已有方案按当前深度核验，不重新生成设计；成熟输入复用依据，检查完成即可
收敛。用户明确要求 brainstorm/grill 时，即使输入成熟也保持显式互动。

调用 `requirement-analysis` / `technical-design` 的 probe 模式时，传入深度、目标与边界、已有
D/A、仓库依据及探查重点，专业维度由探针负责。目标不清时先探需求，方向有依据后再深入技术。

复用探查须有可追溯结论，目标、边界、依据仍适用，且覆盖当前深度所需检查。Lite → Full 只复用
已覆盖部分，补齐尚未检查的相关假设、替代方向与风险；不每轮重跑，不以“已调用”认定完成。

探针只返回候选问题、依据与影响，不写报告、不替用户决定；无缺口时返回检查结论。合并去重后，
影响当前方向成立或关键验收的未知作为阻塞项，额外机会作为可选建议，不自动扩大范围或进入 O-*。
已有决定只因新证据揭示冲突或风险才重开。

下游投影阶段禁止调用这些探针；发现缺口时退出投影，回到 Brainstorming。

## 阶段与单题访谈

| 阶段 | 条件 |
|------|------|
| 探索中 | 目标、范围、主方向仍不明确，或核心可行性缺少依据 |
| 收敛中 | 主方向有依据，仍有影响边界、行为、方案或验证的决定 |
| 可确认 | 当前讨论目标闭合、无阻塞项，且当前深度检查完成 |

topic-only 的闭合范围是目标、主要边界与下一路径；change-draft 还须满足
[完整快照确认](references/living-brainstorm.md#快照确认)。
阶段不代表用户授权；确认后记录确认状态，不再评分。

每轮用一行“阶段 · 关键缺口”提示；无缺口时写“无，待确认当前结论”。仅在阶段或关键缺口变化时
展开新证据、闭合项或新增阻塞。不重复评估，不按百分比、剩余轮数或决定数量衡量进展。

切换工作状态、范围扩大、新增依赖或假设被推翻时，按受影响缺口重评，不沿用旧结论。证据足以支持
选择即可：留待实施后执行的验证不自动成为阻塞项；可能推翻主方案的未知能力仍是核心可行性缺口，
不得留作“后续联调”。

每轮严格只处理一个决定，选择 `影响 × 不确定性` 最高的阻塞项：

1. 说明事实与重要性，提出一个问题，给出推荐答案、依据与主要代价；多个合理选项时紧凑列出并明确标注推荐项。
2. 等待回答，不预问依赖问题；有歧义只澄清当前项，不持久化猜测。
3. 无歧义则更新决定、阶段与关键缺口；答案推翻旧理解时重新排序 gap。

不一次倾倒问题清单、长篇设计或语义差异报告；无阻塞项且检查完成时收敛，不强制增加问题。

## 决定与记录

- `D-*`：用户明确确认的单项语义决定。
- `A-*`：用户明确授权 Agent 自主决定的类别，不得自行补造。
- `O-*`：阻塞问题，`CONFIRMED` 时必须为 0。
- 仓库事实：引用可定位依据，不伪装成 D/A。

topic-only 在会话中保留编号、深度与来源。目标、主要范围与职责已明确，且有跨会话恢复、交接、并行
或审计价值时，询问是否建立 change；否则继续 topic-only 或 Direct。

持久化设计须经用户明确确认完整 D/A 快照后才可交给下游入口；阶段或文件存在不代表确认。
设计语义变化须重新确认，未确认或已失效的内容不得投影；具体记录、快照与恢复步骤见上述引用。
