mcpField
W
write-a-prd

write-a-prd

github.com/mattpocock开发1941 次安装37 周前更新
代码仓库

关于 write-a-prd

write-a-prd 是一项通过详细访谈和仓库探索来编写产品需求文档的技能。它将结果整理为 GitHub issue,涵盖范围、实现决策和测试决策。

主要功能

  1. 01探索仓库当前状态
  2. 02详细访谈用户需求
  3. 03明确范围与排除项
  4. 04梳理模块和测试需求
  5. 05将 PRD 整理为 GitHub issue

适用场景

  1. 01将问题描述转化为 PRD
  2. 02对照代码库核实变更设想
  3. 03明确实现范围和测试方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mattpocock/ralph-workshop-repo-001 --skill write-a-prd

安装后在 Claude Code 中输入/write-a-prd确认已加载。

详细介绍

当用户想要创建 PRD 时,将调用此技能。请按照以下步骤操作。若认为某些步骤没有必要,可以跳过。

  1. 请用户详细描述他们想要解决的问题,以及可能的解决方案构想。

  2. 探查代码库,核实用户的陈述并了解代码库的当前状况。

  3. 询问用户是否考虑过其他方案,并向他们介绍其他方案。

  4. 详细、全面地询问用户有关实现的问题。

  5. 明确实现范围。确定计划构建的内容,以及本 PRD 不包含的内容。

  6. 列出完成实现所需构建或修改的主要模块。主动寻找提取深层模块的机会,以便单独测试。

深层模块(相对于浅层模块而言)是指能够通过简单、可测试且很少变更的接口,封装大量功能的模块。

与用户确认这些模块是否符合他们的预期。询问用户希望为哪些模块编写测试。

  1. 完全理解问题和解决方案后,使用下面的模板编写 PRD。PRD 应作为 GitHub issue 提交。

问题陈述

从用户的角度描述用户面临的问题。

解决方案

从用户的角度描述问题的解决方案。

用户故事

一份篇幅较长、编号排列的用户故事列表。每条用户故事都应采用以下格式:

  1. 作为一名 <角色>,我想要 <功能>,以便 <收益>
1. 作为一名移动银行客户,我想查看账户余额,以便更明智地管理支出。

这份用户故事列表应尽可能详尽,涵盖该功能的所有方面。

“润色”要求

完成用户故事后,我们将得到一个可用但尚未完善的功能或应用。工作完成后,应进入润色阶段。

请列出工作结束时需要检查的事项,以打磨和完善已完成的工作,最大程度提升用户的使用体验。

这些检查不应实质性地扩大工作范围,而应确保所有创建的元素协调一致、妥善处理错误,并让整体体验更令人愉悦、更精致。

实现决策

列出已做出的实现决策,包括:

  • 将要构建或修改的模块
  • 将要修改的模块接口
  • 开发者提供的技术说明
  • 架构决策
  • 模式变更
  • API 契约
  • 具体交互

请勿包含具体文件路径或代码片段。它们很快就可能过时。

测试决策

列出已做出的测试决策,包括:

  • 优质测试的标准(只测试外部行为,不测试实现细节)
  • 将接受测试的模块
  • 测试方面的先例(即代码库中类似类型的测试)

范围之外

描述本 PRD 不包含的事项。

补充说明

关于该功能的其他说明。

评论

支持 Markdown