to-spec
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseThis skill takes the current conversation context and codebase understanding and produces a spec (you may know this document as a PRD). Do NOT interview the user — just synthesize what you already know.
The issue tracker and triage label vocabulary should have been provided to you — run if not.
/setup-matt-pocock-skills该Skill会利用当前对话上下文和对代码库的理解生成一份spec(你可能知道这份文档是PRD)。请勿对用户进行访谈——只需整合你已了解的信息即可。
问题跟踪器和分类标签词汇表应该已提供给你——如果没有,请运行。
/setup-matt-pocock-skillsProcess
流程
-
Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the spec, and respect any ADRs in the area you're touching.
-
Sketch out the seams at which you're going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better - the ideal number is one.
Check with the user that these seams match their expectations.
- Write the spec using the template below, then publish it to the project issue tracker. Apply the triage label - no need for additional triage.
ready-for-agent
-
探索代码仓库以了解代码库的当前状态(如果尚未了解)。在整个spec中使用项目的领域词汇表,并遵循你所涉及领域中的任何ADRs。
-
勾勒出你将用于测试该功能的衔接点。优先使用现有衔接点而非新增衔接点。尽可能使用最高层级的衔接点。如果需要新增衔接点,请在尽可能高的层级提出建议。代码库中的衔接点越少越好——理想数量为一个。
请与用户确认这些衔接点符合他们的预期。
- 使用以下模板编写spec,然后将其发布到项目问题跟踪器。添加分类标签——无需额外分类。
ready-for-agent
Problem Statement
问题陈述
The problem that the user is facing, from the user's perspective.
从用户视角描述用户面临的问题。
Solution
解决方案
The solution to the problem, from the user's perspective.
从用户视角描述问题的解决方案。
User Stories
用户故事
A LONG, numbered list of user stories. Each user story should be in the format of:
- As an <actor>, I want a <feature>, so that <benefit>
This list of user stories should be extremely extensive and cover all aspects of the feature.
一份冗长的编号用户故事列表。每个用户故事应采用以下格式:
- 作为<角色>,我想要<功能>,以便<获益>
这份用户故事列表应极其详尽,涵盖该功能的所有方面。
Implementation Decisions
实现决策
A list of implementation decisions that were made. This can include:
- The modules that will be built/modified
- The interfaces of those modules that will be modified
- Technical clarifications from the developer
- Architectural decisions
- Schema changes
- API contracts
- Specific interactions
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it within the relevant decision and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
已做出的实现决策列表。可包括:
- 将要构建/修改的模块
- 将要修改的模块接口
- 来自开发者的技术说明
- 架构决策
- 模式变更
- API协议
- 特定交互
请勿包含具体文件路径或代码片段。这些内容可能很快就会过时。
例外情况:如果原型生成的片段比文字更精确地编码了某项决策(状态机、 reducer、模式、类型结构),请将其嵌入相关决策中,并简要说明它来自原型。仅保留富含决策信息的部分——不是可运行的演示,只是重要内容。
Testing Decisions
测试决策
A list of testing decisions that were made. Include:
- A description of what makes a good test (only test external behavior, not implementation details)
- Which modules will be tested
- Prior art for the tests (i.e. similar types of tests in the codebase)
已做出的测试决策列表。包括:
- 描述什么是好的测试(仅测试外部行为,而非实现细节)
- 将要测试的模块
- 测试的先例(即代码库中类似类型的测试)
Out of Scope
范围外内容
A description of the things that are out of scope for this spec.
描述本spec范围外的事项。
Further Notes
补充说明
Any further notes about the feature.
</spec-template>关于该功能的任何补充说明。
</spec-template>