SuperAPI AI 工具集

to-spec

编程与开发

查看项目

更新于 10-23 17:18

技能介绍

用途

to-spec 是一个智能体技能(agent skill),用于将当前对话上下文和代码库理解综合成一份规格说明(PRD),并保存为 Markdown 文件。它不进行用户访谈,而是假设访谈已经发生(通常是 grill 环节),本技能负责综合。

该技能处于流水线的第二阶段:grill-with-docs/wayfinder(决策)→ to-spec(编写规格) → to-tickets(拆分工单)→ implement(实现)。

主要能力

  • 综合对话内容:将对话中的参考材料(链接、文档、issue 等)在规格中适当引用;粘贴的文本会原样保存到 .scratch/<slug>/research/<name>.md 并链接。
  • 处理未决决策:如果存在关键未决决策(规格无法编写),不会猜测或发起完整访谈,而是仅询问该决策(通过 AskUserQuestion 或聊天提问),或建议进行 grill-me 轮次。
  • 探索仓库:理解代码库现状,使用项目领域词汇(读取 GLOSSARY.md 或 CONTEXT.md),遵守 ADR;验证对话中依赖的数据或使用假设。
  • 确定测试接缝:根据 tdd 技能的接缝排名和选择规则自行决定测试接缝,并在规格中记录每个接缝的理由。
  • 编写并发布规格:使用模板编写规格,将对话未做出的决策列在“Needs decision”列表中,逐项询问用户,获得批准后发布到 .scratch/<slug>/spec.md,状态为 ready-for-agent;如果由 wayfinder 地图调用,则关闭地图。
  • 提交规格:批准发布即涵盖提交;根据 git 状态决定在当前分支提交或创建独立分支 docs/<slug>-spec。

使用方式

该技能通过智能体调用,无需手动操作。调用时会读取当前对话和代码库,按流程执行:探索仓库 → 草图测试接缝 → 编写并发布规格。发布前会展示“Needs decision”列表和完整草稿,逐项询问用户,最后询问发布或调整。发布后输出会话结束块,包含下一步建议。

适用场景

  • 需求讨论(如 grill 环节)已充分,需要形成书面规格以指导后续工单拆分和实现。
  • 项目需要一份统一的规格文档,覆盖整个工作范围,避免多个规格并存。
  • 需要将对话中的参考材料系统化地保留在规格中。

限制

  • 不进行用户访谈,依赖已有对话内容。
  • 规格保存为 .scratch/ 下的 Markdown 文件,无外部跟踪器。
  • 如果工作范围过大,建议缩小范围而非编写第二个规格。
  • 需要项目已配置 .agents/issue-tracker.md 或旧版路径;缺失时建议运行 /setup。
  • 关键未决决策过多(超过三个或涉及 ADR、金钱、数据丢失)时,建议先进行 grill-me。

规格模板结构

规格包含以下部分:问题陈述、解决方案、构建契约、用户故事、实现决策、测试决策、未决问题、范围外、进一步说明。