关于 prd-update-progress
prd-update-progress 是依据实现证据更新 PRD 的工作流技能。它分析对话内容,并在必要时检查 Git 变更,提出进度更新建议、指出计划偏差,并将确认后的变更提交保存。
主要功能
- 01确定目标 PRD
- 02分析对话内容和 Git 变更
- 03将证据对应到需求
- 04提出更新建议并等待确认
- 05标记计划偏差和过时示例
- 06提交已确认的进度更新
适用场景
- 01在 PRD 中记录已完成的实现工作
- 02依据代码变更检查未完成需求
- 03查找过时示例或计划偏差
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vtmocanu/ skills --skill prd-update-progress安装后在 Claude Code 中输入/prd-update-progress确认已加载。
详细介绍
摘自 vfarcic/dot-ai
shared-prompts/prd-update-progress.md(MIT,版权所有 (c) 2025 Viktor Farcic)。原作者:Viktor Farcic。
PRD 进度更新斜杠命令
说明
你将协助根据已完成的实现工作更新现有的产品需求文档(PRD)。此命令会分析 Git 提交和代码变更,并结合对话上下文,跟踪 PRD 的完成进度并提出有依据的更新建议。
流程概述
- 识别目标 PRD - 确定要更新的 PRD
- 优先依据上下文分析进度 - 首先使用对话上下文,必要时再通过 Git 分析
- 将变更映射到 PRD 条目 - 智能地将工作与需求关联起来
- 提出更新建议 - 建议勾选已完成项并修改需求
- 用户确认 - 核实建议并处理边界情况
- 更新 PRD - 更新复选框和状态
- 标记偏差 - 当实际工作与计划工作不一致时发出提醒
- 提交进度更新 - 保留进度检查点
- 继续下一项任务 - 提示用户运行 /prd-next
第 1 步:智能识别 PRD
根据对话上下文自动检测目标 PRD:
- 当前工作上下文:查找近期关于特定 PRD 工作、功能或问题的对话
- Git 分支分析:检查当前 Git 分支中的 PRD 标识(功能分支/PRD 编号、问题编号)
- 近期文件活动:识别
prds/目录中近期修改的 PRD 文件 - 待办事项列表上下文:检查 TodoWrite 工具中是否有正在进行的 PRD 特定任务
检测优先级顺序:
- 如果对话中明确提到“PRD #X”或特定 PRD 文件 → 使用该 PRD
- 如果 Git 分支包含 PRD 引用(例如“feature/prd-12-*”)→ 使用 PRD #12
- 如果 TodoWrite 显示有 PRD 特定任务 → 使用对应的 PRD 上下文
- 如果近期只修改了一个 PRD 文件 → 使用该 PRD
- 如果有多个可能的 PRD → 请用户澄清
第 2 步:优先依据上下文分析进度
优先事项:先使用对话上下文,再进行 Git 分析
对话上下文分析(快速 - 优先使用)
如果近期对话清楚地表明工作已完成:
- 近期讨论的实现:“刚完成 X”“已实现 Y”“已构建 Z”
- 待办事项列表上下文:检查 TodoWrite 工具中的已完成/进行中事项
- 提及文件创建:“已创建文件 X”“已添加 Y 功能”
- 测试完成情况:“测试通过”“所有 X 个测试均已完成”
- 用户确认:“可以正常工作”“实现已完成”“准备进入下一步”
有可用的对话上下文时请优先使用——它比解析 Git 更快、更准确
Git 变更分析(备用 - 仅在上下文不明确时使用)
仅当对话上下文不足时才使用 Git 工具:
提交分析
# Get recent commits (last 10-20 commits)
git log --oneline -n 20
# Get detailed changes since last PRD update
git log --since="1 week ago" --pretty=format:"%h %an %ad %s" --date=short
文件变更分析
# See what files were modified recently
git diff --name-status HEAD~10..HEAD
# Get specific changes in key directories
git diff --stat HEAD~10..HEAD
变更分类
识别不同类型的变更:
- 新文件:表示新增功能或组件
- 已修改文件:表明现有功能已更新
- 测试文件:实现经过测试的证据
- 文档文件:表明文档已更新
- 配置文件:表示设置或部署方面的变更
第 3 步:全面分析 PRD 结构
CRITICAL:系统性扫描复选框
必须执行此步骤,以避免遗漏需求:
-
使用 grep 或搜索,扫描 PRD 中的所有未勾选项
-
按类型对每项未勾选的需求进行分类:
- 实现(代码、功能、技术任务)
- 文档(指南、示例、交叉引用)
- 验证(测试示例是否可用、用户流程)
- 用户验收(实际使用、跨客户端测试)
- 发布活动(培训、部署、推广)
- 成功指标(采用情况、分析数据、支持影响)
当前
prd-create编写的 PRD 会将实时验收事项放在关联的acceptanceissue 中,而不是作为 PRD 复选框;实现里程碑合并后,PRD 即视为完成。对于仍包含实时验收复选框的旧版 PRD,在统计完成情况之前,将这些事项移至关联的acceptanceissue 中(绝不使用 sweep 标签),以免/prd-full和/prd-done因此等待;将它们列在 用户验收 类别下,并注明由该 issue 跟踪。 -
仅将 git 变更映射到相应类别
-
谨慎处理——只有直接证据能够证明项目已完成时,才将其标记为完成
基于证据的完成标准
实现需求——满足以下条件时标记为完成:
- 代码文件:表明功能已实现
- 测试文件:证明已进行全面测试
- 集成:组件已正确连接
文档需求——满足以下条件时标记为完成:
- 已创建文件:文档文件已存在
- 已验证示例:命令和示例已测试
- 交叉引用有效:已验证内部链接
验证需求——满足以下条件时标记为完成:
- 已完成手动测试:已端到端测试工作流
- 已验证示例:所有文档示例均可运行
- 已确认用户流程:已验证完整工作流
发布活动——满足以下条件时标记为完成:
- 已完成培训:团队已接受培训
- 已完成部署:功能已上线且可使用
- 已完成推广:用户正在积极使用该功能
谨慎标记完成政策
没有直接证据时,切勿标记为完成:
- ❌ 未经验证,不要假设文档“已经足够好”
- ❌ 没有实际测试证据,不要标记测试已完成
- ❌ 没有推广证明,不要标记发布事项已完成
- ❌ 没有指标,不要标记成功标准已完成
差距分析
系统性识别:
- 缺少证据的需求(仍需完成的工作)
- 需求之外的证据(范围外已完成的工作)
- 缺少验证(已实现但未测试)
- 尚未推广(已就绪但尚未部署或采用)
步骤 4:全面进度报告
必需:完整状态分析
提供全面的分类说明:
## PRD Progress Analysis: [PRD Name]
### ✅ COMPLETED (with evidence):
**Implementation** (X/Y items):
- [x] Item name - Evidence: specific files/changes
- [x] Item name - Evidence: specific files/changes
**Documentation** (X/Y items):
- [x] Item name - Evidence: docs created, examples tested
- [x] Item name - Evidence: cross-references verified
### ⏳ REMAINING WORK:
**Validation** (X items unchecked):
- [ ] Item name - Reason: needs manual testing/validation
- [ ] Item name - Reason: examples not tested
**User Acceptance** (X items unchecked):
- [ ] Item name - Reason: no cross-client testing done
- [ ] Item name - Reason: no user feedback collected
**Launch Activities** (X items unchecked):
- [ ] Item name - Reason: team not trained
- [ ] Item name - Reason: not deployed to production
**Success Metrics** (X items unchecked):
- [ ] Item name - Reason: no usage data available
- [ ] Item name - Reason: adoption not measured
### 🎯 COMPLETION STATUS:
- **Overall Progress**: X% complete (Y of Z total items)
- **Implementation Phase**: 100% complete ✅
- **Validation Phase**: X% complete (what's missing)
- **Launch Phase**: X% complete (what's missing)
谨慎推荐政策
只有在有直接证据时,才建议将项目标记为完成。 清楚列出仍需完成的工作。 除非所有项目确实都已完成,否则不要声称“一切已完成”。
步骤 5:实现与计划分析
偏差检测
当实际实现与计划方案不同时,标记出来:
- 架构变更:采用了与最初计划不同的技术方案
- 范围变更:在实现过程中新增或移除了功能
- 需求演变:开发过程中逐渐明确的用户需求
- 技术发现:编码过程中发现的限制或机会
更新建议
发现偏差时,建议更新 PRD:
- 更新决策日志:记录实现方案变更的原因
- 修改需求:更新需求以匹配实际功能
- 更新架构:修订技术方案文档
- 调整范围:在不同阶段之间移动项目,或更新功能定义
步骤 6:用户确认流程
清晰、透明地展示拟议的更改:
- 证据摘要:展示检测到的工作
- 拟议完成项:列出有证据支持、建议标记为已完成的具体复选框条目
- 剩余工作分析:清楚说明仍未勾选的内容及原因
- 偏差提醒:突出显示计划与实际情况之间的差异
- 如实评估进度:给出切合实际的完成百分比
关键要求:
- 除非所有复选框都已完成,否则绝不声称“一切都已完成”(在关联的
acceptanceissue 中跟踪的实时验收项不属于 PRD 复选框) - 明确说明基于 git 分析的局限性
- 无法验证功能是否有效时,承认验证方面的不足
- 区分实现与验证/发布
更改前请等待用户确认,并妥善处理:
- 部分接受:用户同意部分建议,但不同意其他建议
- 补充背景信息:用户提供 git 历史记录中不可见的信息
- 范围澄清:用户解释看似超出范围的工作
- 未来规划:用户希望根据当前进度调整后续工作
步骤 7:系统化应用更新
应用更新时:
- 仅更新已确认的条目——不要自行假设
- 更新状态部分,使其反映当前阶段
- 保留仍需处理的未勾选条目
- 如实更新完成百分比
步骤 7.5:代码示例验证
根据实现进度更新 PRD 时:
关键要求:始终检查 PRD 中的代码示例是否与当前实现相符
示例影响检测
- 接口变更:函数签名、参数类型、返回格式
- API 演进:方法名称、类结构、数据模型
- 工作流更新:用户交互模式、步骤顺序
- 集成变更:组件之间的连接和通信方式
代码示例更新流程
- 扫描 PRD:找出所有代码片段和示例
- 交叉核对实现:将示例与实际代码进行比较
- 标记过时内容:标记不再匹配的示例
- 评估优先级:确定哪些示例需要立即更新
- 更新示例:修订代码片段,使其与当前实现相符
- 验证示例:测试更新后的示例,确保其有效
需要检查的示例类别
- 函数调用:参数顺序、类型、名称
- 接口定义:TypeScript 接口、类结构
- API 响应:数据格式、字段名称、响应结构
- 工作流步骤:用户交互顺序、工具使用模式
- 配置:设置示例、环境变量、配置文件
更新示例的时机
- 立即更新:接口变更导致现有示例失效时
- 完成前:将实现里程碑标记为完成时
- 评审期间:验证 PRD 准确性时
- 用户反馈时:有人报告示例无法使用时
步骤 8:提交进度更新
成功更新 PRD 后,提交所有更改以保留进度检查点:
提交实现工作
# MANDATORY: Stage ALL files - implementation work AND PRD updates together
# DO NOT selectively add only PRD files - commit everything as one atomic unit
git add .
# Verify what will be committed
git status
# Create comprehensive commit with PRD reference
git commit -m "feat(prd-X): implement [brief description of completed work]
- [Brief list of key implementation achievements]
- Updated PRD checkboxes for completed items
Progress: X% complete - [next major milestone]"
提交信息指南
- 引用 PRD 编号:提交信息中始终包含
prd-X - 描述性摘要:简短、清晰地说明已实现的内容
- 进度说明:注明完成状态和后续步骤
- 以证据为依据:仅在确有实现进展时提交
注意:除非用户明确要求,否则不要推送提交。提交可以保留本地进度检查点,而不会影响远程分支。
步骤 9:根据 PRD 状态确定后续步骤
完成 PRD 更新并提交更改后,根据完成状态为用户提供指引:
如果 PRD 还有未完成的任务
PRD 进度已更新并提交。
要继续处理此 PRD:
- 清除/重置对话上下文
- 运行
/prd-next获取下一个任务
如果 PRD 已 100% 完成
PRD #X 已完成!
要完成收尾:
- 清除/重置对话上下文
- 运行
/prd-done将 PRD 移至已完成文件夹并关闭 GitHub issue