快速开始
npx skills add mattpocock/skills --skill=to-specnpx skills update to-spec功能说明
to-spec 将当前对话和你对代码库的理解转化为一份规格说明(你可能知道这类文档叫 PRD),然后将其发布到你的问题追踪器中。
它不会再次对你进行访谈。当你使用它时,对齐共识的工作已经完成——to-spec 只是综合已有的信息,而不是重新问一轮问题。
何时使用
你通过输入 /to-spec 来调用它——智能体不会主动使用它。
在变更已经讨论过、领域语言已经确定之后使用它,你希望在编写任何代码之前将双方达成的共识记录成文档。如果你还没有对齐共识,请先进行拷问——可以使用 grill-with-docs。要将完成的规格说明拆分为任务,请使用 to-tickets。
前置条件
to-spec 会发布到你的问题追踪器中,所以 setup-matt-pocock-skills 必须已经为该代码仓库配置好了追踪器和分类标签。它会自动应用 ready-for-agent 标签——不需要单独的分类处理步骤。
规格说明包含的内容
- 问题陈述——出了什么问题或缺失了什么,以及为什么值得解决,使用项目自己的词汇来表达。
- 解决方案——在进入实现细节之前,从高层描述修复方案的形态。
- 用户故事——一份详尽的、编号的具体行为列表,列出变更必须支持的所有行为,每一条都可以独立验证。
- 实现决策——对话期间已经确定的决策,这样以后就不会被重新争论。
- 测试决策——功能将在哪些接缝处进行测试,以及"完成"的标准是什么。
- 范围外事项——本次变更明确不涵盖的内容,以保持任务边界清晰。
- 补充说明——任何值得继续保留但不属于上述类别的其他内容。
深度模块
在编写规格说明之前,to-spec 会勾勒出功能将被测试的接缝,并寻找深度模块的机会——即把大量功能隐藏在一个小而稳定的接口背后。它优先使用现有接缝而非新建接缝,并选择尽可能高的接缝层次,理想情况下整个变更只用一个接缝。
这对智能体开发很重要:一个好的接口能为测试提供持久可靠的目标,这样底层的代码可以变更而测试无需跟着变动。
成功的标志
- 它开始编写规格说明,而不是重新问你一轮问题。
- 它在编写之前会与你确认接缝方案,并提出尽可能少的接缝。
- 规格说明使用的是你项目的领域词汇,而不是通用的套话模板。
在整个流程中的位置
to-spec 是主构建链中的一个步骤:
grill-with-docs → to-spec → to-tickets → implement → code-review在计划和领域语言确定之后、将工作拆分为实现任务之前使用它。它的关键相邻技能是 grill-with-docs,它精炼上下文使规格说明更加精确;以及 to-tickets,它将规格说明转化为一组任务供 implement 去构建。当你不确定哪个技能或流程适合时,可以找 ask-matt 帮你导航。