brainstorming 是一个实现前的头脑风暴流程技能,核心目标是先明确“要构建什么”,再讨论“如何构建”。它设有硬性门槛:设计未获用户明确批准前,不调用实现类技能、不写生产代码,也不在 docs/brainstorms/ 之外创建文件。
流程分为四个阶段。阶段 0 评估与扎根:先判断需求是否清晰,若用户已给出验收标准、可参考的既有模式或明确行为,则建议直接进入规划或实现;若用词模糊、存在多种解释、未讨论权衡或用户描述的是解决方案而非问题,则进入头脑风暴。若请求涉及多个独立子系统,先做范围分解,确定构建顺序,再对第一个子项目走完整流程。
阶段 1 理解想法:先阅读相关文件、文档和近期提交,再提问。默认一次问一个问题,同一维度内可聚类 2 至 3 个相关问题。提问优先使用多选形式,先宽后窄,覆盖目的、用户、约束、成功标准、边界情况、既有模式和非目标。理解清楚后,用 3 至 5 条要点总结并与用户确认。
阶段 2 探索方案:提出 2 至 3 个具体方案,每个方案包含描述、优点、缺点和最佳适用场景,并给出推荐及理由。可使用反转、移除约束、受众转换、组合、简化、10 倍规模、专家视角等透镜检验方案。同时列出“不做”清单,并说明关键假设的验证方式。
阶段 3 记录设计:将关键决策整理为设计文档,保存到 docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md,包含构建内容、选择该方案的原因、关键决策及理由、开放问题和下一步,问答记录折叠在 details 块中,并提交到 git。
阶段 4 评审与交接:向用户展示设计文档,用户明确确认后才进入规划。若涉及认证、支付、外部 API 或多租户数据,建议先做安全威胁建模。该技能需避免一次问多个问题、过早跳入实现细节、方案过度复杂、忽略既有代码模式、未验证假设和文档冗长等反模式。