用途
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。
规格模板结构
规格包含以下部分:问题陈述、解决方案、构建契约、用户故事、实现决策、测试决策、未决问题、范围外、进一步说明。