Skip to content

brainstorming skill 强制 AI 在写任何代码之前先和你对话:逐条澄清需求、提出多个方案、产出设计文档、等你点头确认。这不是一个可选的"建议步骤",而是一道硬性闸门——无论任务看起来多简单,都必须走完这个流程。这样做的意义在于:绝大多数"写了一半才发现方向不对"的返工,根源都是没有在动手之前把需求搞清楚。

brainstorming skill:用对话驱动需求,而非直接跳进写代码

为什么需要这个 skill

你有没有遇到过这样的场景:把一个需求甩给 AI,它立刻开始写代码,洋洋洒洒输出了两三百行,结果你一看——方向完全不对。或者更隐蔽的情况:代码看起来能跑,但过了两天你才意识到它根本不是你想要的那个东西。

这种浪费的根源不在于 AI 写得不够好,而在于它在不理解你真正意图的情况下就开始执行了。brainstorming skill 是专门为解决这个问题而设计的:它把"先对话、再设计、最后才写代码"变成一个强制执行的工作流程

什么时候会触发

按照 SKILL.md 中的定义,brainstorming 是任何创造性工作的强制前置步骤,包括但不限于:

  • 开发新功能
  • 构建新组件
  • 添加新能力
  • 修改已有行为

没有例外。就连"很简单的需求"也不例外——事实上,越是"看起来很简单"的需求,越容易因为没过脑子就开工而踩坑,因为你和 AI 双方都可能各自带着一个隐含假设,而这两个假设未必一致。

核心流程:九个步骤,一个都不能跳

brainstorming skill 的执行流程分为九步,严格按顺序走:

  1. 探索项目上下文:先读现有文件、文档和近期提交记录,搞清楚当前代码库的状态,而不是在真空中凭空设计。
  2. 判断是否需要视觉辅助:如果接下来的问题涉及界面布局、交互流程等视觉内容,先单独询问是否打开浏览器配套工具展示原型图。
  3. 逐条提问:每次只问一个问题,聚焦在目的、约束和成功标准上。问完等你回答,再问下一个。
  4. 提出 2-3 个方案:给出不同方向的选项,说明各自的权衡,并明确推荐哪一个以及理由。
  5. 分段展示设计:按复杂度决定每个部分写多少字,每讲完一段就询问你是否认可,再继续下一段。
  6. 写出设计文档:把经过确认的设计保存到 docs/superpowers/specs/YYYY-MM-DD-<主题>-design.md,并提交到 git。
  7. 设计文档自查:检查文档中有无 TBD、前后矛盾、需求模糊或范围过大的问题,有的话直接修掉。
  8. 请你审阅文档:明确告诉你文档路径,请你看一遍,确认没有问题再继续。
  9. 移交实现阶段:调用 writing-plans skill 生成实现计划,而不是直接开写代码。

整个流程的终点是"进入 writing-plans",而不是直接产出代码。

对话示例:一个真实场景

假设你说:"帮我做一个关键词聚类工具。"

传统 AI 的反应:直接开始写 Python 脚本,用 TF-IDF 或 K-Means 实现一个通用的聚类算法,然后把代码甩给你。

brainstorming skill 的反应


AI:我先看一下当前项目的目录结构……(读文件)。好的,我看到这是一个 SEO 内容框架项目,已经有 keywords 表和 clusters 表。

请问你希望聚类工具的输入是什么?

  • A. 从数据库直接读取现有关键词
  • B. 从 CSV 文件导入一批词
  • C. 手动输入词列表

:A,从数据库读。


AI:明白了。那聚类的依据是什么?

  • A. 语义相似度(用 embedding 模型计算)
  • B. 词根/词干匹配(规则方式)
  • C. 让 LLM 直接判断哪些词属于同一主题

:C,用 LLM 判断,这样更准。


AI:好。聚类完成之后,结果往哪里写?

  • A. 自动更新数据库里每个词的 cluster_id
  • B. 输出到一个 JSON/CSV 文件让你手动确认再导入
  • C. 直接在终端展示,不写入任何地方

这种一问一答的节奏,会把你真正的意图一层一层拎出来,而不是靠猜测把所有可能性都实现一遍。

方案提出:不是直接给答案,而是给选择

当 AI 通过提问积累了足够的信息,它不会直接说"好,我来实现",而是会提出 2-3 个方向:

"基于你的需求,我有三种思路:

方案一(推荐):批量调用 LLM,把所有待分组的词一次性喂进去,让它直接输出分组结果。优点是实现简单、结果直接可用;缺点是词太多时 token 费用会上涨,且单次 prompt 有长度限制。

方案二:先用 TF-IDF 做粗粒度分桶,再对每个桶内的词用 LLM 做精细分组。节省 token,但多了一个中间层,代码复杂度更高。

方案三:完全基于规则,对词做形态学分析(去掉停用词、提取词干),按词根分组。速度最快、成本为零,但对中文支持差,分组精度低。

我推荐方案一,因为你的关键词数量在几百个量级,成本可控,而且中文语义分组用规则方式误差太大。"

这种方式让你真正参与技术决策,而不是接受一个黑盒结果。

设计文档:对话的最终产出

对话结束之后,brainstorming skill 会把设计固化成一份文档,保存到 docs/superpowers/specs/ 目录下。文档覆盖的内容包括:

  • 架构:整体结构是什么,各部分怎么组织
  • 组件:有哪些模块,每个模块的职责是什么
  • 数据流:数据从哪里来、经过哪些变换、最终写到哪里
  • 错误处理:遇到 API 失败、数据库连接断开等情况怎么处理
  • 测试策略:哪些部分需要单元测试,哪些需要集成测试

文档写完后,AI 会进行一次自查,检查有没有模糊的地方,然后把路径告诉你,等你确认没有问题之后才进入实现阶段。这份文档本身也是一份有价值的工程文档,未来的人(包括你自己)看这份文档就能理解当时为什么这么设计。

"太简单了,不需要设计"是个陷阱

SKILL.md 特别点名了一个反模式:"这个需求太简单了,跳过设计吧。"

一个 todo list、一个单函数工具、一个配置项修改——这些看起来根本不需要设计的需求,恰恰是最容易因为"没想清楚就动手"而返工的地方。简单需求的设计文档可以很短(几句话就够),但必须存在,必须经过确认。

这条规则的逻辑是:你认为"简单",通常是因为你还没有把它想清楚。

硬性闸门:代码必须等到设计被批准

整个 brainstorming skill 有一个不可绕过的约束:

在你展示设计并得到用户批准之前,不得调用任何实现 skill、不得写任何代码、不得搭建任何项目脚手架。

这不是一个"尽量遵守"的建议,而是一道硬性规则。即使你说"这个我知道怎么做,直接写就好了",AI 也不会开始写代码——它会继续走完对话流程。

一句话总结

brainstorming skill 把"先想清楚再动手"从一个你需要时刻提醒自己的好习惯,变成了一个 AI 强制执行的工作流程。它的价值不在于让开发变慢,而在于让那些"走了一半才发现方向不对"的弯路提前消失。


FAQ

Q: 我的需求很明确,能不能跳过提问直接开始?

A: 不能。brainstorming skill 是强制前置步骤,没有"跳过"选项。但如果你的需求确实清晰,对话会很短——AI 问一两个问题确认细节,然后直接进入方案对比和设计阶段,整个过程可能只需要几分钟。

Q: 最终产出的设计文档存在哪里?

A: 默认保存在 docs/superpowers/specs/YYYY-MM-DD-<主题>-design.md。如果你有偏好的位置,可以告诉 AI,它会按你指定的路径保存。文档同时会被 commit 到 git 仓库。

Q: 设计文档确认之后,下一步是什么?

A: brainstorming skill 会调用 writing-plans skill,生成详细的实现计划。注意:不是直接开始写代码,而是先有实现计划,再有代码。

Q: 如果我中途想改需求,怎么办?

A: 随时可以说。brainstorming skill 的设计本身就是可以回溯的——AI 会根据新的信息重新调整方案,必要时回到之前的某一步重新讨论,而不是强迫你把当前的方向走完。

Q: 对于超大型需求(比如"做一个完整的电商平台"),这个 skill 还适用吗?

A: 适用,但 AI 会先帮你分解。当需求覆盖多个独立子系统时,brainstorming skill 会先协助你把大需求拆解成若干子项目,然后对第一个子项目走完完整的对话-设计-文档流程,后续子项目依次进行。