关于 prd-implementation-precheck
prd-implementation-precheck 是在编码前检查 PRD 中实现风险和缺口,并引导后续实现与验证的技能。它帮助团队尽早解决会实质影响实现的决策,在没有阻塞项时避免不必要的确认。
主要功能
- 01定位 PRD 及其引用文件
- 02概述意图并报告检查发现
- 03检查范围、依赖、行为和风险
- 04核对数据、状态、错误及 UX 边界
- 05将提案与代码库模式对照
- 06验证改动或说明未执行的检查
适用场景
- 01在开始实现前检查 PRD
- 02发现缺失的边缘情况要求
- 03与用户解决架构或行为阻塞项
- 04报告实现后的测试情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zhaono1/ agent-playbook --skill prd-implementation-precheck安装后在 Claude Code 中输入/prd-implementation-precheck确认已加载。
附带文件README.md
详细介绍
PRD 实施前检查
概述
简要检查 PRD,指出重大问题,然后开始实施。仅当缺失的选择会对行为、架构、数据或外部副作用产生重大影响时,才询问用户。
工作流
- 找到 PRD 及其引用的文件。
- 检查 PRD,并用 1-2 句话概述其意图。
- 列出发现的问题和疑问,并将阻塞项放在最前面。如果没有重大阻塞项,说明假设并继续。
- 如果存在阻塞项,先与用户确认,再开始实施。
- 进行验证(运行测试或手动检查),或说明未执行的验证。
检查清单
基本检查
- 范围:识别范围过大的变更;建议采取更小、更有针对性的方法。
- 一致性:指出与现有模式或架构的冲突;提出替代方案。
- 依赖项:指出缺失的钩子、提供方或数据源,以及不明确的归属。
- 行为:确认流程和边界情况是否有明确说明;针对缺漏提出疑问。
- 风险:指出性能、回归或迁移风险。
- 测试:检查成功标准和测试覆盖;如果表述含糊,要求提供具体信息。
边界情况覆盖检查
确认 PRD 是否涵盖以下边界情况(缺失项标记为 ⚠️):
数据边界
- 空值/空输入处理 - 输入为空或值为 null 时会发生什么?
- 边界值 - 是否定义了最小值/最大值限制?达到边界时会发生什么?
- 重复数据 - 如何检测和处理重复数据?
- 数据格式 - 是否验证输入格式?如何处理特殊字符?
状态边界
- 状态转换 - 是否定义了所有有效的状态转换?
- 无效转换 - 非法状态变更时会发生什么?
- 并发修改 - 如何处理同时进行的编辑?
- 回滚场景 - 操作能否撤销?如何撤销?
错误边界
- 网络故障 - API 调用失败时会发生什么?
- 超时行为 - 是否定义了超时时间?重试策略是什么?
- 部分失败 - 如果 3 个步骤中的第 2 步失败,第 1 步会如何处理?
- 错误消息 - 是否定义了面向用户的错误消息?
用户体验边界
- 空状态 - 没有数据时,用户会看到什么?
- 加载状态 - 如何显示正在加载?
- 成功反馈 - 用户如何得知操作已成功?
- 权限不足 - 用户缺少权限时会发生什么?
代码库一致性检查
扫描代码库,确认 PRD 与现有模式一致:
# Check if PRD's proposed patterns match existing code
grep -r "pattern_from_prd" src/ --include="*.ts"
- 删除策略 - PRD 是否符合现有的软删除/硬删除模式?
- 错误处理 - PRD 是否采用相同的错误显示机制?
- 组件复用 - PRD 是否利用现有组件?
- API 模式 - PRD 是否遵循现有的 API 约定?
输出格式
预检查报告模板
## PRD Precheck Report
### Summary
{1-2 sentence summary of what the PRD aims to achieve}
### ✅ Covered Edge Cases
- {List edge cases that are well-defined in the PRD}
### ⚠️ Missing Edge Cases
| Edge Case | Category | Suggested Default | Needs Confirmation |
|-----------|----------|-------------------|-------------------|
| Empty list display | UX | Use existing EmptyState | No |
| Concurrent edit | State | Last write wins | **Yes** |
### 🔴 Blockers
- {Critical issues that must be resolved before implementation}
### 🟡 Warnings
- {Non-critical issues that should be addressed}
### Questions for User
1. {Specific question about missing edge case}
2. {Specific question about ambiguous requirement}
---
**Proceed as-is, or update the PRD?**
输出要求
- 提供简洁的预检查报告,列出疑问和风险。
- 仅当答案会对实施产生重大影响时,才询问“按当前方案继续,还是更新 PRD?”
- 如果没有阻塞项,说明假设并继续,无需进行多余的确认。
评论
支持 Markdown