此技能会获取当前对话上下文和代码库理解,并产出一份规格说明。不要访谈用户;只综合你已经知道的内容。
issue 跟踪器和 triage 标签词汇表应该已经提供给你。如果没有,告诉用户运行 /setup-matt-pocock-skills。
流程
- 探索 repo 以理解代码库当前状态,如果你尚未这样做。在整个规格说明中使用项目的领域术语表词汇,并尊重你正在触及区域中的任何 ADR。
- 勾画出你将要测试该功能的接缝。应优先选择现有接缝,而不是新接缝。尽可能使用最高层接缝。如果需要新接缝,在你能提出的最高位置提出它们。整个代码库中的接缝越少越好 - 理想数量是一。
与用户确认这些接缝符合他们的预期。
- 使用下面的模板编写规格说明,然后发布到项目 issue 跟踪器。应用
ready-for-agenttriage 标签 - 无需额外 triage。
<spec-template>
问题陈述
用户正在面临的问题,从用户视角出发。
解决方案
该问题的解决方案,从用户视角出发。
用户故事
一个很长的编号用户故事列表。每个用户故事应采用以下格式:
- 作为一个 <actor>,我希望有一个 <feature>,以便 <benefit>
<user-story-example>
- 作为移动银行客户,我希望看到我的账户余额,以便我能对我的支出做出更明智的决策
</user-story-example>
这个用户故事列表应极其详尽,并覆盖该功能的所有方面。
实现决策
已做出的实现决策列表。这可以包括:
- 将要构建/修改的模块
- 将要修改的模块接口
- 来自开发者的技术澄清
- 架构决策
- Schema 变更
- API 契约
- 具体交互
不要包含具体文件路径或代码片段。它们可能很快过时。
例外:如果原型产生了一个片段,它比散文更精确地编码了一个决策(state machine、reducer、schema、type shape),则将其内联到相关决策中,并简要注明它来自原型。修剪到富含决策的部分,而不是可工作演示,只保留重要部分。
测试决策
已做出的测试决策列表。包括:
- 对什么构成好测试的描述(只测试外部行为,不测试实现细节)
- 将要测试哪些模块
- 测试的先例(即代码库中类似类型的测试)
超出范围
对本规格说明超出范围内容的事项的描述。
进一步说明
关于该功能的任何进一步说明。
</spec-template>