名称: dot-ai-prd-create 描述: 创建以文档优先的产品需求文档,通过面向用户的内容指导开发 用户可调用: true
PRD创建斜杠命令
说明
您正在帮助创建新产品需求文档(PRD)。此过程包括两个主要组件:
- GitHub问题:简短、不可变的概念描述,链接到详细PRD
- PRD文件:项目管理文档,具有里程碑跟踪和实施计划
过程
步骤 1:理解功能概念
要求用户描述功能想法,以理解核心概念和范围。
步骤 2:首先创建GitHub问题
立即创建GitHub问题以获取问题ID。此ID是正确PRD文件命名所必需的。
重要:为可发现性添加“PRD”标签到问题。
步骤 3:创建具有正确命名的PRD文件
使用实际GitHub问题ID创建PRD文件:prds/[问题-id]-[功能名称].md
步骤 4:用PRD链接更新GitHub问题
现在已知文件名,将PRD文件链接添加到GitHub问题描述。
步骤 5:创建PRD作为项目管理文档
按照PRD模板进行工作,专注于项目管理、里程碑跟踪和实施计划。文档更新应包含在实施里程碑中。
关键原则:专注于5-10个主要里程碑,而非详尽的任务列表。每个里程碑应代表可明确验证的有意义进展。
考虑包括(当适用于项目/功能时):
- 测试 - 如果项目有测试,包括新功能测试覆盖的里程碑
- 文档 - 如果功能是面向用户的,包括按照现有项目模式完成文档的里程碑
良好里程碑示例:
- [ ] 核心功能实施并工作
- [ ] 新功能测试通过(如果项目有测试套件)
- [ ] 文档完成,遵循现有模式(如果是面向用户的功能)
- [ ] 与现有系统集成工作
- [ ] 功能准备用户测试
避免微任务:
- ❌ 更新README.md文件
- ❌ 为函数X编写测试
- ❌ 修复文档中的拼写错误
- ❌ 单个文件修改
里程碑特征:
- 有意义:代表向完成迈出重要进展
- 可测试:明确成功标准,可验证
- 用户中心:与用户价值或功能能力相关
- 可管理:可在合理时间内完成
GitHub问题模板(保持简短稳定)
初始问题创建(无PRD链接):
## PRD: [功能名称]
**问题**: [1-2句问题描述]
**解决方案**: [1-2句解决方案概述]
**详细PRD**:PRD文件创建后添加
**优先级**: [高/中/低]
创建问题后不要忘记添加“PRD”标签。
问题更新(PRD文件创建后):
## PRD: [功能名称]
**问题**: [1-2句问题描述]
**解决方案**: [1-2句解决方案概述]
**详细PRD**:参见 [prds/[实际-问题-id]-[功能名称].md](https://github.com/vfarcic/dot-ai/blob/main/prds/[实际-问题-id]-[功能名称].md)
**优先级**: [高/中/低]
讨论指南
PRD规划问题
- 问题理解:“此功能为用户解决什么具体问题?”
- 用户影响:“带我走完完整用户旅程—什么将为他们改变?”
- 技术范围:“需要什么核心技术变更?”
- 文档影响:“哪些现有文档需要更新?需要什么新文档?”
- 集成点:“此功能如何与现有系统集成?”
- 成功标准:“如何知道此功能运作良好?”
- 实施阶段:“如何增量交付价值?”
- 风险评估:“主要风险是什么,如何减轻?”
- 依赖项:“此功能依赖于哪些其他系统或功能?”
- 验证策略:“如何测试和验证实施?”
讨论技巧:
- 澄清歧义:如果不清楚,追问直到理解
- 挑战假设:帮助用户思考边缘案例、替代方案和意外后果
- 无情优先排序:基于用户影响帮助区分必备与可有可无
- 考虑用户:始终将对话带回用户价值、体验和结果
- 考虑可行性:虽不深入实施细节,确保范围现实
- 专注主要里程碑:创建5-10个有意义里程碑,而非详尽微任务
- 考虑跨职能:考虑对不同团队、系统和利益相关者的影响
注意:如果任何gh命令失败,显示“命令未找到”,通知用户需要GitHub CLI并提供安装链接:https://cli.github.com/
注意:如果创建GitHub问题失败因为“PRD”标签不存在,首先创建标签(gh label create "PRD" --description "产品需求文档" --color 0052CC),然后重试创建问题。
工作流
- 概念讨论:获取基本想法并验证需求
- 首先创建GitHub问题:简短、稳定概念描述以获取问题ID
- 创建PRD文件:详细文档使用实际问题ID:
prds/[问题-id]-[功能名称].md - 更新GitHub问题:添加PRD文件链接,现在已知文件名
- 逐节讨论:系统化处理每个模板部分
- 里程碑定义:定义5-10个主要里程碑,代表有意义进展
- 审查验证:确保完整性和清晰度
关键:步骤2-4必须按此确切顺序执行,以避免需要问题ID用于文件名的先有鸡还是先有蛋问题。
更新ROADMAP.md(如果存在)
创建PRD后,检查docs/ROADMAP.md是否存在。如果存在,根据PRD优先级将新功能添加到适当时间段部分:
- 高优先级 → 短期部分
- 中优先级 → 中期部分
- 低优先级 → 长期部分
格式:- [简要功能描述] (PRD #[问题-id])
ROADMAP.md更新将在工作流结束时包含在提交中(选项2)。
PRD创建后的下一步
完成PRD后,向用户展示编号选项:
✅ PRD创建成功!
**PRD文件**:prds/[问题-id]-[功能名称].md
**GitHub问题**:#[问题-id]
您希望下一步做什么?
**1. 现在开始处理此PRD**
立即开始实施(如果您准备开始,建议)
**2. 提交并推送PRD供以后使用**
保存PRD,稍后处理(将使用[skip ci]标志)
请输入1或2:
选项1:现在开始处理
如果用户选择选项1,首先提交并推送PRD(同选项2),然后指示他们:
PRD已提交和推送。
要开始处理此PRD,运行 /prd-start [问题-id]
选项2:提交并推送供以后使用
如果用户选择选项2:
# 暂存PRD文件(和ROADMAP.md如果已更新)
git add prds/[问题-id]-[功能名称].md
# 如果docs/ROADMAP.md存在并已更新,包括它:
# git add docs/ROADMAP.md
# 提交带跳过CI标志以避免不必要CI运行
git commit -m "docs(prd-[问题-id]): 创建PRD #[问题-id] - [功能名称] [skip ci]
- 为[简要功能描述]创建PRD
- 定义[X]个主要里程碑
- 记录问题、解决方案和成功标准
- 添加到ROADMAP.md([时间段]部分)
- 准备实施"
# 拉取最新并推送到main
git pull --rebase origin main && git push origin main
确认消息:
✅ PRD已提交并推送到main
PRD现在可在仓库中获取。稍后开始处理,执行:
prd-start [问题-id]
重要注意
- 选项1:当您有时间立即开始实施时最佳
- 选项2:当创建多个PRD或规划未来工作时最佳
- 跳过CI标志:提交仅PRD更改时始终使用
[skip ci] - 问题引用:在提交消息中包含问题编号以进行追溯