概述
该技能用于在创建功能、构建组件、添加功能或修改行为之前,通过自然的协作对话,帮助把想法转化为完整的设计与规格。
流程
理解想法:
先查看当前项目状态(文件、文档、近期提交)
一次只问一个问题来细化想法
尽可能优先使用选择题,也可以使用开放式问题
每条消息只问一个问题;如果某个主题需要更多探索,就拆成多个问题
重点理解:目的、约束、成功标准
探索方案:
提出 2-3 种不同方案,并说明取舍
以对话方式呈现选项,并给出推荐及理由
先给出推荐选项,并解释原因
呈现设计:
一旦认为已经理解要构建的内容,就呈现设计
拆分为 200-300 字的段落
每段之后询问目前看起来是否正确
覆盖:架构、组件、数据流、错误处理、测试
如果有内容不合理,随时返回澄清
设计之后
文档化:
将已验证的设计写入 docs/plans/YYYY-MM-DD-<topic>-design.md
如果可用,使用 elements-of-style:writing-clearly-and-concisely 技能
将设计文档提交到 git
实现(如果继续):
询问:“Ready to set up for implementation?”
使用 superpowers:using-git-worktrees 创建隔离工作区
使用 superpowers:writing-plans 创建详细实现计划
关键原则
一次一个问题——不要用多个问题压垮对方
优先选择题——在可能时比开放式问题更容易回答
严格遵循 YAGNI——从所有设计中移除不必要的功能
探索替代方案——在确定方案前始终提出 2-3 种方法
增量验证——分段呈现设计,并逐段验证
保持灵活——当某些内容不合理时返回澄清