关于 to-spec
将对话背景和代码库理解整理为自包含产品或功能规格的技能,适用于开发者和 Agent;起草前须确认是否有 grilling session,除非用户明确同意跳过。
主要功能
- 01根据上下文综合规格
- 02要求决策自包含
- 03检查 grilling session 前置条件
- 04梳理测试接缝
- 05按仓库惯例发布
适用场景
- 01根据讨论起草功能 PRD
- 02让规格便于不同实现者复现
- 03为仓库跟踪系统准备规格
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pandoscope/ skills --skill to-spec安装后在 Claude Code 中输入/to-spec确认已加载。
详细介绍
编写规格
根据当前对话和对代码库的了解编写规格(即 PRD)。不要采访用户——综合已有信息。
可复现性原则
规格及其后续衍生的工单必须是自包含的:任何实现者,无论是人还是 Agent,重放后都能构建出大致相同的应用。所有影响结果的决策都必须写在规格本身中,或写在规格所引用的持久文档中,例如 ADR(writing-adrs)和术语表条目(docs/glossary/)。不得依赖对话上下文、约定俗成的知识或实现者自行决定。
**检验标准:**如果两个独立的实现者可能构建出有实质差异的内容,则说明规格不够明确。将决策补充到规格中,或记录为 ADR/术语表条目并加以引用。
深入追问门槛
规格至关重要。如果上下文中没有深入追问会话(docs/glossary/grilling-session.md),则停止并询问用户:“未找到深入追问会话——确定要跳过吗?”只有在用户明确确认后才能继续,并在「后续备注」中注明已跳过。
流程
-
如果尚未探索代码库,则先进行探索。全程使用术语表中的词汇(
uvx disambiguate <term>);遵守涉及区域的 ADR。 -
为功能勾勒测试接缝。优先使用现有接缝;如需新增,尽可能放在最高层。接缝越少越好——理想情况下只有一个。
与用户确认接缝。
-
按模板编写规格——如果可用,使用
writing-prose技能编写并检查,并提供ticket;不得牺牲精确性和易理解性。对每个部分应用检验标准,并按照使用方代码库的跟踪规范(AGENTS.md)发布。应用ready-for-agent标签——无需进一步分流。
规格模板:
## Problem Statement
Problem, from user's perspective.
## Solution
Solution, from user's perspective.
## User Stories
LONG numbered list: "As an <actor>, I want <feature>, so that <benefit>".
Example: "As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending."
Extremely extensive — cover all aspects.
## Implementation Decisions
Decisions made: modules built/modified, interfaces, technical clarifications, architecture, schema changes, API contracts, specific interactions.
Hard-to-reverse or surprising decisions → also record as ADR (`writing-adrs`) + reference. Decision only in conversation, not listed here → fails litmus test — write it down.
No file paths/code snippets — stale fast. Exception: prototype snippet encoding a decision more precisely than prose (state machine, reducer, schema, type shape) → inline within relevant decision, note prototype origin, trim to decision-rich parts.
## Testing Decisions
What makes a good test (external behavior only, not implementation details), which modules tested, prior art in codebase.
## Out of Scope
What this spec excludes.
## Further Notes
Anything else.