关于 write-a-prd
将问题描述整理为 PRD 并保存到 `./docs/ /PRD.md` 的技能。可通过交互式访谈澄清需求,也可根据已有上下文直接编写文档。
主要功能
- 01交互式梳理问题
- 02检查代码库以核实上下文
- 03访谈用户以确定设计选择
- 04规划模块与测试
- 05根据已有上下文生成 PRD
适用场景
- 01通过访谈定义功能需求
- 02根据路线图上下文起草 PRD
- 03规划模块和测试覆盖范围
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tahajemmali/ skills --skill write-a-prd安装后在 Claude Code 中输入/write-a-prd确认已加载。
详细介绍
此技能会创建一份 PRD,并将其保存到 ./docs/<feature-name>/PRD.md。如果上下文已提供相关信息,或你认为某些步骤没有必要,可以跳过。
交互式调用时(用户在键盘前)
-
请用户详细描述他们想要解决的问题,以及任何可能的解决方案思路。
-
探查代码库,以核实用户的陈述并了解代码库的当前状态。
-
就计划的各个方面不断深入询问用户,直到双方达成共识。逐一梳理设计树的每个分支,解决决策之间的依赖关系。
-
概述完成实现所需构建或修改的主要模块。积极寻找提取深层模块的机会,以便单独测试。
与浅层模块相对,深层模块会通过简单且可测试的接口封装大量功能,并且很少需要更改。
向用户确认这些模块是否符合他们的预期。询问用户希望为哪些模块编写测试。
- 完全理解问题和解决方案后,使用下方模板编写 PRD。
由 afk 调用时(已提供上下文,无需与用户交互)
如果收到 [GRILL_SUMMARY]、[ROADMAP_ENTRY] 或类似上下文块,请跳过访谈(步骤 1–3),直接根据提供的上下文整理并撰写 PRD。不要提出后续问题。根据路线图条目或上下文推断功能名称,并将其转换为小写连字符格式,用作输出路径。
输出
将 PRD 写入 ./docs/<feature-name>/PRD.md。如有需要,请创建目录。
使用分隔符包裹 PRD 内容,以便自动化工具提取:
(PRD content here)
问题陈述
从用户的角度描述他们遇到的问题。
解决方案
从用户的角度描述问题的解决方案。
用户故事
编写一份较长的编号用户故事列表。每条用户故事的格式应为:
- 作为一名<角色>,我想要<功能>,以便<收益>
这份用户故事列表应尽可能详尽,涵盖该功能的所有方面。始终使用编号列表(1.、2.、3.)——下游工具会按编号引用故事。
实现决策
列出已作出的实现决策,包括:
- 将要构建或修改的模块
- 将要修改的模块接口
- 开发人员提供的技术说明
- 架构决策
- 架构变更
- API 契约
- 具体交互
不要包含具体文件路径或代码片段。它们可能很快就会过时。
测试决策
列出已作出的测试决策,包括:
- 优秀测试的特征(仅测试外部行为,不测试实现细节)
- 将接受测试的模块
- 测试方面的先例(即代码库中类似类型的测试)
范围外
描述不属于此 PRD 范围的事项。
补充说明
该功能的任何其他补充说明。