面板头脑风暴 → 交互式决策面板 是做什么的?
如果此 SKILL.md 文件旁边存在 LOCAL.md 文件,请先阅读它——它包含了此工作区的特定信息(路径、工具、示例),并会覆盖下列通用默认值。
在 Codex / Antigravity / Claude 信用池上运行一个人物角色面板,以生成基于实际代码的产品创意,通过对抗性的 CPO(首席产品官)审查环节来压力测试这些创意,综合成一个去重后约30个创意的列表,并附带前5个创意的线框图,然后发布一个交互式决策面板(每个创意可标记为“实施 / 暂缓 / 拒绝”),其复制的摘要将作为最终决策记录返回聊天窗口。
参考输出(真实面板,已匿名化处理):
assets/decision-board-reference.html。
何时不使用
- 单个明确范围的功能请求 → 直接构建或规划它(或使用
superpowers:brainstorming内联功能)。 - 现有分支的代码审查或发布决策 → 使用
dev-to-prod-promotion-review。 - 纯研究性问题 → 使用
deep-research。
流程
1. 首先让自己熟悉现状(主线程)
阅读被头脑风暴的实际代码/功能。编写3-6行的当前状态摘要(它目前做什么、关键文件、已知限制)。每个人物角色的提示都会嵌入此摘要以及具体的文件路径以供阅读——这样才能确保创意切合实际,而不是泛泛而谈。
2. 设计面板
5-7个人物角色,每个角色需有姓名、职位头衔,以及能产生不同创意的视角——而不是对相同视角的不同措辞。经过验证的组合:
| 人物原型 | 视角 | 推荐后端 |
|---|---|---|
| 高级工程师(“Dex”) | 基于现有代码实现低成本高杠杆效应 | codex |
| 增长产品经理(“Priya”) | 激活、习惯循环、度量 | codex |
| UX设计师(“Wren”) | 流失用户、路径寻找、无障碍 | antigravity(≤1 个任务) |
| 资深用户运营(“Marisol”) | 忙碌运营者的实际一天 | claude |
| 紧张的新手(“Jomar”) | 第三天困惑、安慰、语言 | claude |
| AI战略师(“Kade”) | 智能体前沿、映射到现有机制、风险 | claude |
根据讨论主题调整原型(例如客户角色、记账员)。至少保留一个用户角色(非开发者)和一个接近怀疑论者的视角。
每个人物角色的任务:“头脑风暴任务(编写一个 markdown 文档,不要修改应用代码)…… 提出恰好8个创意…… 对于每个创意:简短名称、一句话介绍、它在何时/为何场景服务用户、如何在底层实现(基于你阅读过的文件)、工作量 S/M/L。输出到 docs/<topic>-ideas/<persona>.md。该文件是你唯一的交付物。”
3. 并行执行
使用任何可用的并行运行器:一个多后端扇出工具,能在各自的 git 工作树(Codex / Antigravity / Claude)中作为独立后台任务运行每个人物角色,或使用原生后台子代理(最多3个并发,超出则分批执行)。面板特有的一些补充:
- 一个对抗性审查环节(作为最后一项工作,读取每个人物角色的文档),采用产品面板视角,而非代码审查: “你是一个主持产品评审会的怀疑论首席产品官…… 根据现实影响和可行性评判每位小组成员的创意,指出重叠之处,最后给出你排名的前8个创意。”CPO的评判将作为每条创意的注释。
- 在后台运行;监控完成情况。
4. 验证交付物——后端可能会撒谎
运行结束后,检查每个人物角色的输出文件是否真实存在(使用 ls 查看工作树)。Antigravity 可能报告 status: done 但实际上什么都没写。对任何缺失的人物角色,使用原生后台子代理重新运行(同样的提示,“将创意作为你的最终消息返回,不要写文件”)——大约需要1分钟。
另外:审查环节的最终排名列表在运行器的报告文件中可能被截断。一般每条创意的审查意见会保留;最终排名需要你自行完成。
5. 综合
- 去重:约48个原始创意 → 约30个创意,并归入5-6个主题;保留人物角色归属(重合度 = 多个角色提出相同想法是最强的排名信号)。
- 选出前5个:依据重合度 → CPO意见 → 与现有代码的契合度。
- 注意面板淘汰了哪些创意以及原因(一句话)——用户想看到被舍弃的想法。
- 人物角色文档存在于运行器的工作树中,会被清理;如果值得保留,请在运行任何清理任务前将其复制出来。
6. 构建交互式决策面板(Artifact 产物)
调整 assets/decision-board-reference.html——保留其 CSS 样式包和完整的 <script> 部分(仅 STORE_KEY 需要修改,必须每个面板唯一,否则两个面板会互相覆盖彼此的决策数据)。在编写之前加载 artifact-design 技能。
必需元素(遵循 dev-to-prod-promotion-review 模式):
- 粘性实时计数——实施 / 暂缓 / 拒绝 / 未决定的计数。
- 前5名卡片,附带仅使用 CSS 的线框图(参考文件中包含可复用的线框组件:
.wf、.frame、.side、.bub、.rankrow、.spot、.note)+ 人物角色归属 +CPO 评估:标注。 - 三向拨动开关(
✓ 实施 / ◦ 暂缓 / ✕ 拒绝)出现在每张前5名卡片以及30个创意的表格的每一行上。决策的粒度是单个创意级别:一个组合卡片设置data-key再加上data-also="iX,iY",这样对卡片的决策会同时应用到其包含的创意上,而表格行依然可以单独调整。再次点击当前激活的选项可以清除该状态。 - localStorage 持久化,使用唯一的
STORE_KEY作为键。 - 决策摘要文本区域 + 复制按钮——Artifact 产物没有
sendPrompt桥接功能;复制回聊天窗口的文本就是返回通道。包含一个重置按钮。
发布前验证:通过本地 python3 -m http.server 提供文件服务(浏览器预览窗口的 file:// 方式不可靠),并使用 javascript_tool 进行点击测试:组合卡片点击应设置其包含的创意,计数更新,localStorage 持久化,重置功能正常。本地预览中的乱码只是缺少字符集标头的问题——发布的 Artifact 会设置字符集。
使用 Artifact 工具发布;重新发布相同文件路径以保持 URL 不变。
7. 报告并收集决策
最终聊天消息:用一行描述每个前5创意 + Artifact 链接 + 提示用户将决策复制回聊天窗口。当用户粘贴摘要回来时,将其视为最终决策记录:诚实地将其与你自己的排名进行对比(一个意外的“拒绝”是信号,而非噪音),然后规划并执行“实施”列表,将“暂缓”项暂存起来。
常见错误
| 错误 | 修复方法 |
|---|---|
| 人物角色没有指定要阅读的文件路径 | 导致空泛的创意——务必嵌入当前状态摘要和文件路径 |
信任 Antigravity 的 done 状态 | 检查输出文件是否存在;如果缺失,使用原生子代理重新运行 |
| 仅在组合层级做决策 | 应针对每个单个创意做决策;组合通过 data-also 属性向下应用 |
复用同一个 STORE_KEY | 两个面板会互相覆盖彼此的 localStorage 决策数据 |
| 在复制人物角色文档之前就清理工作树 | 文档在工作树分支上——如果要保留,请先复制出来 |
| 跳过 CPO 审查环节 | 导致未经排名的愿望清单;批判性意见是价值的一半 |
| 等待 CPO 的排名列表 | 它可能被截断;自行根据重合度和评估意见进行排名 |