4. to-spec 技能

将对话和代码库理解转化为规格说明,并发布到问题追踪器

快速开始

npx skills add mattpocock/skills --skill=to-spec
npx 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 帮你导航。

标签:LLMSkillsAI编程