用途
Brainstorming 用于在创建或开发任何东西之前,把粗略的想法细化为完整的设计。它明确要求在编写代码或实现计划之前使用,适合需求模糊、高层级、可能存在多种实现路径的场景。
主要能力
该技能通过三个阶段推进:
- 理解阶段:收集目的、约束和成功标准。每次只问一个问题,在提供多选选项时使用 AskUserQuestion 工具。
- 探索阶段:提出 2-3 种不同的架构方案,并为每种方案说明核心架构、权衡和复杂度评估,必要时附上权衡对比表。
- 设计呈现阶段:以 200-300 字为一段逐步呈现完整设计,覆盖架构、组件、数据流、错误处理、测试等,每段之后询问“目前看起来对吗?”,使用开放式问题收集反馈。
使用方式
在会话开始时声明正在使用该技能。根据所处阶段选择提问方式:
- 使用 AskUserQuestion 工具:用于第一阶段带 2-4 个清晰选项的澄清问题、第二阶段架构方案选择(2-3 个备选),以及任何具有明确互斥选项和权衡的决策。
- 使用开放式问题:用于第三阶段设计验证、需要详细反馈或解释时,以及用户应自行描述需求时。
流程并非线性。当用户在第二或第三阶段透露新约束、验证发现需求存在根本性缺口、或出现不合理之处时,应回到第一阶段;当用户在第三阶段质疑所选方案、或新信息表明其他方案更合适时,应回到第二阶段;当需求清晰、方案已验证且无新约束时继续向前。
适用场景
- 请求中包含“我有个想法……”“我想构建……”
- 用户询问“帮我设计……”“什么方案最好……”
- 需求模糊或处于高层级
- 可能存在多种可行方案
- 在编写任何代码或实现计划之前
关键原则
- 一次只问一个问题:第一阶段每条消息只问一个问题,选项用 AskUserQuestion 呈现。
- 结构化选择:用 AskUserQuestion 提供 2-4 个带权衡的选项。
- 果断应用 YAGNI:从所有设计中移除不必要的功能。
- 探索替代方案:在定案前始终提出 2-3 种方案。
- 增量验证:分段呈现设计并逐段验证。
- 灵活推进:需要时回退,灵活性优先于僵化流程。
完成之后
可选的后续步骤包括:将设计记录到项目的设计文档中、把设计拆解为可执行的实现任务、为隔离开发创建 git 分支或工作区。可使用 assets/design-doc-template.md 和 assets/decision-matrix-template.md 模板进行结构化记录。
示例与模板
完整头脑风暴会话示例:
- references/example-session-auth.md:认证存储设计(JWT vs Session vs Cookies)
- references/example-session-dashboard.md:实时仪表盘设计(SSE vs WebSockets vs Polling)
输出模板:
- assets/design-doc-template.md:结构化设计文档格式
- assets/decision-matrix-template.md:加权决策对比格式
限制
资料未提供该技能的具体安装命令、支持的平台、收费方式或价格信息。