name: 头脑风暴 description: “在任何创意工作之前必须使用此技能 - 创建功能、构建组件、添加功能或修改行为。在实施前探索用户意图、需求和设计。”
将想法转化为设计
概述
通过自然的协作对话,帮助将想法转化为完整的设计和规格。
首先理解当前项目背景,然后逐一提问以完善想法。一旦理解要构建的内容,以小部分(200-300字)呈现设计,并在每部分后检查是否看起来正确。
流程
理解想法:
- 首先检查当前项目状态(文件、文档、最近的提交)
- 逐一提问以完善想法
- 可能时偏好多项选择问题,但开放式问题也可以
- 每条消息只问一个问题 - 如果主题需要更多探索,分解成多个问题
- 专注于理解:目的、约束、成功标准
探索方法:
- 提出2-3种不同的方法,附带权衡
- 以对话方式呈现选项,附带你的推荐和理由
- 以你推荐的选项为先导并解释原因
呈现设计:
- 一旦相信理解了要构建的内容,呈现设计
- 将其分解为200-300字的部分
- 在每部分后询问是否看起来正确
- 涵盖:架构、组件、数据流、错误处理、测试
- 如果某处不合理,准备好回头澄清
设计后
文档化:
- 将验证过的设计写入
docs/plans/YYYY-MM-DD-<主题>-design.md - 如果可用,使用 elements-of-style:writing-clearly-and-concisely 技能
- 将设计文档提交到git
实施(如果继续):
- 询问:“准备好设置实施了吗?”
- 使用超能力:using-git-worktrees 创建隔离工作区
- 使用超能力:writing-plans 创建详细的实施计划
关键原则
- 一次一个问题 - 不要用多个问题压倒
- 偏好多项选择 - 可能时比开放式更容易回答
- 无情地应用YAGNI - 从所有设计中移除不必要的功能
- 探索替代方案 - 在确定前总是提出2-3种方法
- 增量验证 - 以部分呈现设计,逐个验证
- 保持灵活 - 当某处不合理时,回头澄清