/install prd-review-2
PRD 内审 Skill(v2.4 对齐版)
Purpose
对跨境电商 SaaS 产品(ERP / SCM / WMS / LPS)的需求文档进行结构化内审。自动识别文档类型(A/B/C),按《PRD 文档标准规范 v2.4》对应检查清单逐项审查,输出包含必填项校验、评分、逻辑审查和补全建议的完整评审报告。
When to Use
触发此 Skill 当用户消息中包含以下任一关键词且意图为审查 PRD 文档:
触发关键词(任意一个即可触发):
- 中文:
审核、审查、检查、评审、内审、帮我审 - 英文:
review、check、audit
典型触发语:
- "帮我审核这个需求"
- "审一下这份 PRD"
- "review this PRD"
- "需求评审:xxx"
- "检查一下文档"
- "内审用一下"
输入方式
支持三种输入:
- 飞书文档链接 — 自动通过 lark-mcp 读取内容(推荐)
- 本地文件路径 — 直接 Read 读取
- 粘贴文本 — 用户直接贴入文档内容
二审模式额外输入:
- 上次审核报告(飞书链接 / 文件路径 / 粘贴文本)— 用于对比修复情况
- 若未提供上次报告但 audit-history 中存在同文档记录,自动调取
审核流程
Step 1: 读取文档内容
1.1 飞书文档(通过 lark-mcp)
如果用户提供了飞书文档链接,需要通过 lark-mcp 读取内容。
飞书 URL 格式识别:
- 知识库文档:
https://xxx.feishu.cn/wiki/xxxxxx - 普通文档:
https://xxx.feishu.cn/docx/xxxxxx - 从 URL 提取 token(最后一个
/后面的部分)
读取方式(通过 Python 调用 lark-mcp):
使用以下 Python 代码读取飞书文档内容:
import subprocess, json
LARK_MCP_CMD = ['/opt/homebrew/bin/lark-mcp', 'mcp',
'-a', 'cli_a95bbdfcc4389cb2',
'-s', '6AihWdJVTCUjCXoGjegVvhnzLqPJqdUI',
'--token-mode', 'tenant_access_token',
'-t', 'preset.doc.default,preset.base.default',
'-l', 'zh']
def _call_lark(tool_name, arguments, timeout=15):
"""底层调用 lark-mcp,返回工具调用结果"""
proc = subprocess.Popen(
LARK_MCP_CMD,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
msgs = [
json.dumps({"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2024-11-05","capabilities":{},
"clientInfo":{"name":"prd-review","version":"2.3"}}}),
json.dumps({"jsonrpc":"2.0","method":"notifications/initialized"}),
json.dumps({"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name": tool_name, "arguments": arguments}}),
]
out, err = proc.communicate(input='\
'.join(msgs).encode() + b'\
', timeout=timeout)
for line in reversed(out.decode().strip().split('\
')):
try:
r = json.loads(line)
if r.get('id') == 2:
content = r.get('result', {}).get('content', [])
for c in content:
if c.get('type') == 'text':
return c['text']
return r.get('result', r)
except: pass
return None
def read_feishu_doc(document_id):
"""读取飞书文档原始内容,返回结构化内容"""
return _call_lark("docx_v1_document_rawContent",
{"path": {"document_id": document_id}})
def resolve_wiki_node(wiki_token):
"""从知识库 token 解析出实际文档的 obj_token"""
result = _call_lark("wiki_v2_space_getNode",
{"params": {"token": wiki_token}})
if isinstance(result, str):
try:
data = json.loads(result)
return data.get('node', {}).get('obj_token', wiki_token)
except: pass
return wiki_token
def write_to_feishu(markdown_content, file_name="PRD内审报告"):
"""将 Markdown 导入为飞书文档"""
return _call_lark("docx_builtin_import",
{"data": {"markdown": markdown_content, "file_name": file_name}})
URL 解析规则:
- 知识库链接
https://xxx.feishu.cn/wiki/ABCDEF→resolve_wiki_node("ABCDEF")获取 document_id - 普通文档
https://xxx.feishu.cn/docx/ABCDEF→ 直接用ABCDEF作为 document_id
1.2 本地文件
直接使用 Read 工具读取文件内容。支持 .md、.txt、.docx(需 textutil 转换)。
1.3 粘贴文本
用户直接贴入时,将文本内容作为审核对象。
Step 2: 检测是否为二审
在识别文档类型前,先检查用户输入是否包含上次审核报告:
触发条件(满足任一即为二审模式):
- 用户同时提供了 PRD 文档 + 上次审核报告(两个文件/链接/文本)
- 用户明确提到"二审""复审""修改后再审""重新审核""check fix"
- audit-history 目录中存在该文档的上次审核记录(通过文档标题匹配)
如果是二审模式:
- 读取上次审核报告,提取所有已标记的问题列表(编号 + 级别 + 问题描述)
- 对照本次 PRD 内容,逐条判定修复状态:
| 状态 | 标记 | 判定规则 |
|---|---|---|
| 已修复 | ✅ | 原问题在本次文档中已不存在或已有明确修改 |
| 部分修复 | ⚠️ | 原问题有改善但未完全解决(如模糊词有补充但仍有个别遗漏) |
| 未修复 | ❌ | 原问题在本次文档中仍然存在且未做任何修改 |
| 变更较大 | 🔄 | 修复方向正确但引入了新的问题或改变了设计思路 |
- 二审评分规则:仅对未修复(❌)和部分修复(⚠️)项继续扣分,已修复(✅)项恢复对应分数
- 在报告顶部增加"二审对比"区块(见报告模板)
- 同步更新 audit-history JSON 中的
is_re_review: true
Step 3: 识别文档类型(A/B/C)
根据文档结构和内容特征自动判断:
| 特征 | B 型(综合优化) | A 型(新功能) | C 型(紧急) |
|---|---|---|---|
| 标题含"优化""修复""改进" | ✅ 常见 | ✅ 常见 | |
| 有"竞品分析"章节 | ✅ 几乎必有 | ||
| 有"状态机"章节 | ✅ 常见 | ||
| 有"用户场景"章节 | ✅ 几乎必有 | ||
| 有"目标上线时间"且紧急 | ✅ | ||
| 有"触发条件""来源"字段 | ✅ | ||
| 篇幅 | 1-2 页 | 8-15 页 | \x3C1 页 |
| 有"业务流程"含流程图 | ✅ |
判断优先级:有"触发条件"+"来源"+"目标上线时间"且篇幅短 → C 型 → 有"竞品分析"或"用户场景" → A 型 → 其他 → B 型。拿不准时标注"疑似 X 型"并说明理由。
Step 3.5: 类型分歧确认(有分歧时暂停)
触发条件(满足任一即暂停):
- 聚合文档中某些子节被判断为不同类型(如 B 型文档中检测到疑似 A 型/C 型子节)
- 文档标题特征与内容特征不一致(如标题写"优化"但某节含完整状态机和跨单据同步)
- 单节内容的信息密度明显超出所属类型的典型篇幅(如 B 型某节 >3 页)
暂停后输出类型确认提示:
⚠️ **类型确认提示**
在审核过程中发现以下内容可能存在类型归档差异:
| 子节 | Skill 判断 | 判断理由 |
|------|-----------|----------|
| 第 X 节 标题 | 疑似 A 型 | 理由:... |
请确认:
- 如果确实是 A 型需求,建议拆分为独立 A 型文档后重新提交审核
- 如果认为属于 B 型需求,Skill 将按 B 型标准审核该节(不检查竞品分析、用户场景等 A 型专属项)
- 跳过确认 → 先按当前判断输出审核报告,后续可在二审中调整
等待用户确认后的处理逻辑:
- 用户确认为 B 型 → 该子节按 B 型必检项审核,A 型专属项(A2-1~A2-4、A4、B1、B2)标记为 N/A
- 用户确认为 A 型 → 建议拆分,当前仍按 A 型标准继续审核
- 用户选择跳过 → 保持 Skill 初始判断继续审核
无分歧时:直接进入 Step 4,不输出此提示。
Step 4: 加载对应检查标准
读取以下参考文件获取检查标准:
references/checklist.md— v2.3 分型检查清单(严重 / 重要 / 建议 / 逻辑校验)+ 评分规则 + 质量红线references/spec.md— v2.3 规范的结构要求和写作规范references/domain-knowledge.md— 跨境电商领域知识(按需)
Step 5: 执行分型审核
按文档类型执行对应检查,同时进行评分计算和逻辑校验。
4.1 结构与规范检查(严重 / 重要 / 建议)
严重级(必须修复,阻塞开发):
- A1 文档完整性:背景/现状、功能描述清晰、数值具体、无模糊词
- A1-1 背景检查 — 看内容不看标题:以下任一情况均视为「背景/现状说明」已存在(✅):
- 有独立背景章节,标题含「背景」「需求背景」「业务背景」「项目背景」「现状」「现状与问题」「当前现状」「问题描述」「问题说明」等关键词
- 无独立标题,但章节开头 2-3 句话描述了「当前什么表现 + 产生了什么问题/影响」
- 内容中出现「目前」「当前」「现有」「现状」「由于」「为了解决」等表述,且有具体的问题描述
- 仅以下情况判为 ❌:完全没有任何背景/现状相关内容,直接从方案、功能描述、技术实现开始写
- 注意:B 型聚合文档中,每个子需求不需要独立背景章节,文档开头或首个子节有总体背景即可。后续子节若直接描述方案但问题本身已在总体背景中涵盖,不扣分
- A1-4 模糊词检查需上下文判定:发现模糊词(适当、合理、若干、等、类似、尽量、必要时、优化、完善)时,检查同一句或相邻两句(下文 2 句内)是否有量化补充。有则视为已解释(✅),无则标记为问题(❌)
- 示例 — ❌ 裸模糊词:"系统支持合理的并发量限制"(无具体值)
- 示例 — ✅ 已有补充:"系统支持合理的并发量限制,默认上限 1000 QPS,超过后进入等待队列"(后文有具体值,不扣分)
- A1-1 背景检查 — 看内容不看标题:以下任一情况均视为「背景/现状说明」已存在(✅):
- A2 状态与数据(A 型重点):状态机完整性、字段定义
- A2-4 触发前置判定:检查 A2-4(新增核心字段有字段定义)前,必须先判断是否属于「新增字段」:
- ✅ 触发检查:文档明确提到「新增字段」「新增列」「新建字段」且该字段在现有系统中不存在、需定义业务含义
- N/A 不触发:数据同步/传输(已有字段从 A 推送到 B)、数据展示优化、数据格式调整、快照/缓存数据——这些场景没有新增字段,不要求字段定义表
- 判断依据:看数据流向。如果是「已有数据换个地方展示/同步」→ N/A;如果是「系统原来没有这个维度,现在要记录」→ 触发检查
- A2-4 触发前置判定:检查 A2-4(新增核心字段有字段定义)前,必须先判断是否属于「新增字段」:
- A3 影响范围(C 型重点,A 型按需):影响评估、存量数据、C 型后续需求判断
- B 型影响范围特殊规则:B 型优化中影响范围为建议项,不扣分。当检测到涉及跨模块/跨系统/存量数据时,在报告「补全建议」中提示「建议补充影响范围」,但不计入评分。B 型规范原文标注「若不涉及可删除」,说明影响范围非 B 型必填结构
- A4 竞品分析(A 型有参考时):是否完成、有无差异化说明
重要级(应当修复):
- B1 业务流程(A 型):主流程、分支、异常、回滚
- B2 用户场景(A 型重点):角色、典型场景
- B2-2 特殊规则:典型使用场景(时间线描述)为建议项,不扣分。缺失时在报告「补全建议」中提醒,不计入评分。B2-1(角色列出)和 B2-3(核心路径覆盖)仍为必检项
- B3 功能描述质量:动词开头、主语明确、异常场景
- B4 跨系统集成(按需)
- B5 数据迁移(按需)
- B6 非功能需求(按需)
建议级(建议改进):
- C1 文档规范:术语统一、标题格式、原型链接
- C2 跨境电商领域专项:多币种、多平台、时区
4.2 评分计算
根据检查结果计算评分:
- 起始分 100,扣到 0 为止
- ❌ Fail:严重 -8 / 重要 -4 / 建议 -1
- ⚠️ Partial:严重 -4 / 重要 -2 / 建议 -0.5
- ✅ Pass 和 N/A:不扣分
- 总分四舍五入取整
通过判定(同时满足两个条件才通过):
- 质量红线:零违反
- 分数:≥ 80 通过 / 60-79 有条件通过 / \x3C 60 不通过
4.3 逻辑校验
对所有文档类型执行以下逻辑校验(D 级):
| 编号 | 校验维度 | 关注点 |
|---|---|---|
| D1-1 | 前后一致性 | 前置条件与后续规则是否自洽 |
| D1-2 | 字段依赖 | 同一字段在不同章节的定义是否一致 |
| D1-3 | 流程闭环 | 操作流程是否有未处理的出口(缺少驳回/撤回路径等) |
| D1-4 | 状态可达性 | 是否有不可达的孤立状态 |
| D1-5 | 数据引用 | 引用的字段/枚举值是否有对应定义 |
| D1-6 | 条件互斥 | 多个条件规则间是否有逻辑冲突 |
| D1-7 | 边界值 | 数值/列表/分页是否定义了上下界和空值处理 |
逻辑校验原则:
- 不确定不给建议 — 如果业务背景不足以判断逻辑是否合理,标注"待确认"并说明需要向谁确认(如"需与业务侧确认该规则是否成立"),不猜测不做假设
- 区分结构问题与逻辑问题 — "缺少状态机"是结构问题(归 严重),"状态机中状态 A 无法到达状态 B 但文档声称可以"是逻辑问题(归 D 级)
- 给出具体矛盾点 — 不说"逻辑可能有矛盾",说"第 3 章写'提交后不可修改',第 5.2 节写'支持提交后修改字段 X'"
- "待确认"项给出行动指引 — 标注建议确认方(如开发负责人/业务侧/测试)和具体确认问题(如"提交后是否允许修改字段?如允许则修正第 3 章,如不允许则删除第 5 章该场景"),让 PM 知道找谁、问什么、问完怎么改
4.4 必填项校验清单
根据识别的文档类型,列出该类型所有必检项的逐项校验结果。目的:让 PM 一眼看到结构完整性的达标情况。
输出格式:仅列出标注为"必检"的项目,按章节顺序排列,标注 ✅/❌/N/A。
各类型必检项汇总:
B 型必检项:
- A1-1 背景/现状说明
- A1-2 功能描述清晰无歧义
- A1-3 数值有具体值
- A1-4 无模糊词
A 型必检项:
- A1-1 背景/现状说明
- A1-2 功能描述清晰无歧义
- A1-3 数值有具体值
- A1-4 无模糊词
- A2-1 涉及状态流转已定义状态机
- A2-2 状态机包含完整字段
- A2-3 终态已标注
- A2-4 新增核心字段有字段定义
- A4-1 有参考时竞品分析已完成
- B1-1~B1-4 业务流程完整
- B2-1 目标用户/角色已列出
- B2-3 场景覆盖核心操作路径
- B3-1 功能描述动词开头
- B3-2 操作主语明确
- B3-3 异常场景已描述
C 型必检项:
- A1-1 背景/现状说明
- A1-2 功能描述清晰无歧义
- A1-3 数值有具体值
- A1-4 无模糊词
- A3-1 影响范围已评估
- A3-2 存量数据处理方式已说明
- A3-3 已判断是否有后续正式需求
- B3-4 触发条件/复现路径已写
- B3-5 来源已明确
- B3-6 目标上线时间是具体时间点
严重/重要 项标注修复工作量:
每个 ❌ Fail 的 严重 和 重要 项需标注预估修复工作量,帮助 PM 排序优先级:
| 工作量 | 标注 | 含义 |
|---|---|---|
| 🟢 5分钟 | 轻量 |
替换词汇、补一句描述、删除冗余章节等 |
| 🟡 30分钟 | 中等 |
补写一段流程、完善字段定义表格、补充异常场景等 |
| 🔴 需协作 | 重度 |
需与开发/业务确认逻辑、需补充完整状态机、需跨团队对齐等 |
标注方式:在问题列表的修复建议列末尾追加 [轻量] / [中等] / [重度]。
4.5 补全建议内容
对识别到的缺失项(❌ Fail),自动生成符合 v2.3 规范的补全文本,供 PM 直接复制使用。
补全原则:
- 仅补结构性内容 — 如缺少状态机时生成操作驱动型状态机表格模板、缺少字段定义时生成字段表格模板、缺少流程图时生成文字版流程描述
- 不补业务决策内容 — 具体的业务规则、字段取值范围、操作权限等业务判断不应由 AI 代写
- 标注插入位置 — 明确说明应插入到文档的哪个章节
- 使用占位符 — 业务相关内容用
[待填写:具体值]标注,提醒 PM 补充
补全建议增加工作量预估:
在每条补全建议前标注预估工作量,并在补全区域开头给出总工作量汇总:
可直接复制— 纯模板,无需填写业务内容(如已有的状态表格框架、章节标题结构)需填写业务内容— 模板中有占位符需 PM 补充(如字段定义的具体值、流程的具体步骤)需协作确认— 涉及业务判断或跨团队确认,需额外沟通(如数据迁移的回滚方案)
输出格式示例:
补全汇总:共 X 处,预计 Y 分钟(可直接复制 Z 处 / 需填写业务内容 N 处 / 需协作确认 M 处)
可自动补全的内容示例:
| 缺失项 | 补全内容 |
|---|---|
| 状态机 | 操作驱动型状态机表格(当前状态/执行操作/流转后状态/角色限制/说明),填入已知状态,未知用占位符 |
| 字段定义 | 字段定义表格(字段名/业务含义/数据类型/取值范围/数据来源/更新时机),已知字段填入 |
| 流程描述 | 基于功能描述推导的主流程文字版(步骤 1→2→3...),标注"需与业务确认"的部分 |
| 影响范围 | 影响范围四维检查清单模板(涉及模块/存量数据/数据迁移/其他影响),逐项留空供填写 |
| 异常场景 | 常见异常场景检查表(网络超时/权限不足/数据冲突/并发操作等),适配具体功能的模板 |
Step 6: 生成审核报告
报告分级输出规则
根据得分和红线状态调整报告详略程度(非删减区块)。核心评估信息(N/A 说明、逻辑校验、补全建议、亮点分析、总体建议)在任何级别均保留。
| 级别 | 条件 | 详略策略 | 适用场景 |
|---|---|---|---|
| 精简报告 | ≥90 分 且 零红线违反 | 评分明细合并进问题列表(不单独成章);审核结论简化为一句话;二审对比仅展示修复率+分数变化 | 文档质量好,重点在确认 1-2 个遗留问题 |
| 标准报告 | 60-89 分 且 零红线违反 | 评分明细独立成章;审核结论含放行策略和分档建议 | 有问题但不严重,PO 需做评审决策 |
| 完整报告 | \x3C60 分 或 有红线违反 | 所有区块完整输出,审核结论含打回理由;逻辑校验逐项展开;补全建议含完整模板 | 文档需大修,PO 需全面评估风险 |
所有级别均保留的区块:文档信息、30秒速览、必填项(含 N/A 说明)、问题列表(含评分)、修改指引、修复清单、逻辑校验、补全建议、亮点分析、总体建议。
精简报告的变化不是删区块,而是:
- 评分明细并入问题列表表格中(加一列「扣分」),不另起「评分详情」章节
- N/A 说明不压缩,每条 N/A 都注明具体原因(如「无状态流转,非审批流程」)
- 补全建议、逻辑校验、亮点分析、总体建议缩减到必要维度但仍独立成章
设计原则:精简的是「重复信息」(如评分明细独立成章再和问题列表重复),而非「评估信息」(如 N/A 原因、逻辑待确认项、结构缺失模板)。评估信息是 PO 和 PM 决策的依据,不能减。
输出格式(完整版模板,实际按分级规则裁剪):
# PRD 内审报告
## 文档信息
- 文档标题:
- 文档类型:☐ B 型 ☐ A 型 ☐ C 型
- 所属系统:ERP / SCM / WMS / LPS
- 审核日期:
- 审核依据:PRD 文档标准规范 v2.4
> [类型分歧提示(仅存在分歧时显示):本文档中第 X 节被识别为疑似 A 型需求(理由:...),已与用户确认为 B 型需求,按 B 型标准审核该节。]
---
## 〇、30 秒速览
> 一句话结论:[ ✅ 通过 / ⚠️ 有条件通过(XX 分)/ ❌ 不通过 ]
**得分:XX 分** | **严重 X 项** | **重要 X 项** | **建议 X 项** | **逻辑问题 X 项**
**[低置信度提示(如有):⚠️ 有 X 项低置信度问题,建议人工复核(编号列表)]**
**必须修复(按优先级):**
1. [编号] 一句话描述 — 第X章 — [轻量/中等/重度]
2. [编号] 一句话描述 — 第X章 — [轻量/中等/重度]
3. ...
**放行建议:**
- 🚫 开发前必修:X 项 [列出编号]
- ⚠️ 提测前补齐:Y 项 [列出编号]
- ✅ 可后补:Z 项 [列出编号]
**补全工作:共 X 处,预计 Y 分钟**
**[质量红线违反提示(如有):❌ 红线项名称 — 说明]**
---
## 二审对比(仅二审模式显示)
> 本次为二审,对比上次审核报告,检查修复情况。
**上次得分:XX 分 → 本次得分:XX 分(+X / -X)** | **修复率:X%(已修复 X / 总问题 X)**
> 修复率 = 已修复 / (已修复 + 部分修复 + 未修复 + 变更较大) × 100%
**修复明细:✅ 已修复 X 项 | ⚠️ 部分修复 X 项 | ❌ 未修复 X 项 | 🔄 变更较大 X 项**
| 编号 | 级别 | 上次问题描述 | 修复状态 | 本次情况说明 |
|------|------|-------------|----------|-------------|
| A1-1 | 严重 | 缺少背景说明 | ✅ 已修复 | 第1章已补充背景与目标 |
| A2-1 | 严重 | 状态机缺少终态标注 | ⚠️ 部分修复 | 已增加"已关闭"终态,但"已取消"状态仍缺少 |
| B3-1 | 重要 | 功能描述未动词开头 | ❌ 未修复 | 第5.2节仍有 3 处名词短语开头 |
| B1-3 | 重要 | 异常处理方案缺失 | 🔄 变更较大 | 已补充异常方案但改为"返回错误码",需确认是否覆盖所有异常类型 |
**二审结论:** [如:修复率 50%,分数提升 15 分。剩余 2 项建议在本周内补齐后可进入开发 / 修复率 80%,文档质量明显提升,建议放行]
---
## 审核范围
> 说明本报告覆盖的审核区域,避免争议。
| 区域 | 状态 | 说明 |
|------|------|------|
| 第 1 章 背景与目标 | ✅ 已审核 | |
| 第 2 章 用户场景 | ✅ 已审核 | |
| 第 3 章 竞品分析 | ✅ 已审核 / N/A 无此章节 | |
| 第 4 章 业务流程 | ✅ 已审核 | |
| 第 5 章 功能描述 | ✅ 已审核 | |
| 第 6 章 权限 | ✅ 已审核 | |
| 第 7 章 其他模块 | ✅ 已审核 / N/A 无此章节 | |
| 附录/参考文档 | ⏭ 跳过 | 非 PRD 正文,不计入审核 |
**说明**:文档共 X 章,已审核 Y 章,跳过 Z 章(非正文内容)。
---
## 一、必填项校验清单
> 按文档类型列出所有必检项的结构完整性检查结果。
| 序号 | 编号 | 必填项 | 结果 |
|------|------|--------|------|
| 1 | A1-1 | 背景/现状说明 | ✅ |
| 2 | A1-2 | 功能描述清晰无歧义 | ✅ |
| ... | ... | ... | ... |
**必填项通过率:X / Y(Z%)**
---
## 二、评分详情
### 扣分明细
| 编号 | 级别 | 检查项 | 结果 | 扣分 | 原文 | 问题说明 | 置信度 |
|------|------|--------|------|------|------|----------|--------|
| A1-2 | 严重 | 功能描述清晰无歧义 | ⚠️ | -4 | > 支持多币种结算 | 第3章未明确具体币种 | 高 |
| B3-1 | 重要 | 功能描述动词开头 | ❌ | -4 | > 汇率的查看和导出 | 第5.2节使用名词短语 | 高 |
| C1-1 | 建议 | 术语全文统一 | ⚠️ | -0.5 | > 运费明细...物流费合计 | "运费"和"物流费"混用 | 高 |
### 同类问题聚合
> 将分布在多个章节的同类型问题合并展示,方便批量修改。
| 检查项 | 出现次数 | 涉及位置 | 扣分合计 |
|--------|----------|----------|----------|
| A1-4 模糊词 | 3 处 | 第2章"适当"、第3章"合理"、第5章"尽量" | -24 |
| ... | ... | ... | ... |
### 分数汇总
| 项目 | 分值 |
|------|------|
| 起始分 | 100 |
| 严重 扣分 | -X(N Fail + M Partial) |
| 重要 扣分 | -X(N Fail + M Partial) |
| 建议 扣分 | -X(N Fail + M Partial) |
| **最终得分** | **XX 分** |
### 质量红线检查
> 红线按文档类型不同:B 型不包含影响范围,A 型不包含影响范围,C 型包含影响范围。
| 红线项 | 结果 |
|--------|------|
| 不缺少背景/现状说明 | ✅ / ❌ |
| 功能描述清晰无歧义 | ✅ / ❌ |
| ... | ... |
---
## 三、审核结论
**[ ✅ 通过 / ⚠️ 有条件通过(XX 分)/ ❌ 不通过 ]**
[具体理由,1-2 句话说明。]
### 放行策略
将所有问题按阻塞程度分为三档,帮助审核人判断哪些修完即可放行:
| 档位 | 含义 | 分类规则 |
|------|------|----------|
| 🚫 开发前必修 | 直接阻塞开发启动 | 所有 严重 ❌ Fail 项 + 质量红线违反项 |
| ⚠️ 提测前补齐 | 不阻塞开发,但阻塞测试 | 严重 ⚠️ Partial 项 + 重要 ❌ Fail 项中影响测试用例的部分(如异常场景缺失、字段定义不清) |
| ✅ 可后补 | 不阻塞当前迭代 | 重要 ⚠️ Partial 项 + 所有 建议 项 + 重要 中不影响核心逻辑的部分 |
**放行建议:**
| 档位 | 项数 | 编号 |
|------|------|------|
| 🚫 开发前必修 | X | A1-1, A2-1, ... |
| ⚠️ 提测前补齐 | Y | B1-3, B3-1, ... |
| ✅ 可后补 | Z | C1-1, B2-2, ... |
**结论:** [如:修复 A1-1 和 A2-1 后即可进入开发,其余可在开发期间补齐 / 该文档不通过,需全面修订后重新提交]
---
## 四、问题列表(按严重程度)
### 严重级(必须修复)
| 编号 | 检查项 | 原文 | 问题描述 | 位置 | 修复建议 | 关联影响 | 工作量 |
|------|--------|------|----------|------|----------|----------|--------|
| A1-1 | ... | > 原文片段 | ... | 第X章 | ... | 需同步检查第X.X节 | 🟢 轻量 |
| A2-1 | ... | > 原文片段 | ... | 第X章 | ... | 需同步检查第X.X、X.X节 | 🔴 重度 |
### 重要级(应当修复)
[同上格式,关联影响列可选,仅跨章节联动时填写]
### 建议级(建议改进)
[同上格式,建议级不标注工作量和关联影响,原文列可选]
---
## 五、修改指引(按章节分组)
> 按文档章节汇总所有问题,打开对应章节一次性修完。
### 第 1 章 背景(X 个问题)
| 编号 | 级别 | 原文 | 问题 | 修复建议 |
|------|------|------|------|----------|
| A1-4 | 严重 | > 系统会对前若干条数据进行... | 使用"若干"未量化 | 改为具体数值,如"前 100 条" |
| ... | ... | ... | ... | ... |
### 第 3 章 业务流程(X 个问题)
| 编号 | 级别 | 原文 | 问题 | 修复建议 |
|------|------|------|------|----------|
| B1-3 | 重要 | > (此处无原文,结构缺失) | 缺少异常处理方案 | 补充 API 超时和并发冲突的处理方案 |
| ... | ... | ... | ... | ... |
### 第 5 章 功能描述(X 个问题)
[同上格式]
---
## 六、逻辑校验
| 编号 | 校验维度 | 校验结果 | 说明 | 行动指引 |
|------|----------|----------|------|----------|
| D1-1 | 前后一致性 | ⚠️ 待确认 | 第3章"提交后不可修改"与第5.2节"支持提交后修改字段X"可能矛盾 | → 确认方:开发负责人。确认问题:提交后是否允许修改?如允许则修正第3章,如不允许则删除第5章该场景 |
| D1-3 | 流程闭环 | ❌ 有遗漏 | 第4章"审核通过"路径完整,但缺少"审核驳回"后的数据归置说明 | → 直接补充第4章:驳回后数据回退到待提交状态,已填写的表单数据保留 7 天 |
| ... | ... | ✅ / ⚠️ 待确认 / ❌ | ... | ... |
---
## 七、补全建议内容
> 以下内容可直接复制到 PRD 文档中使用,占位符 `[待填写:...]` 需替换为实际内容。
>
> **补全汇总:共 X 处,预计 Y 分钟(可直接复制 Z 处 / 需填写业务内容 N 处 / 需协作确认 M 处)**
### 补全项 1:状态机(插入位置:第 4.2 节)| 需填写业务内容 | 约 15 分钟
```markdown
| 当前状态 | 执行操作 | 流转后状态 | 角色限制 | 说明 |
|----------|----------|------------|----------|------|
| [待填写] | [待填写] | [待填写] | [待填写] | [待填写] |
补全项 2:字段定义(插入位置:第 4.3 节)| 需填写业务内容 | 约 10 分钟
| 字段名 | 业务含义 | 数据类型 | 取值范围 | 数据来源 | 更新时机 |
|--------|----------|----------|----------|----------|----------|
| [待填写] | [待填写] | [待填写] | [待填写] | [待填写] | [待填写] |
八、亮点分析
识别文档中值得推广的优秀实践,帮助团队沉淀方法论。
亮点 1:[一句话标题]
位置:第 X 章 好在哪里:[具体说明该做法为什么好,解决了什么问题] 适用场景:[该做法适用于什么类型的 PRD / 什么业务场景] 推广建议:☑ 建议作为团队最佳实践 / ☐ 可作为参考 / ☐ 仅本次文档适用
亮点 2:[一句话标题]
[同上格式]
[如果没有值得推广的亮点,写"本文档未发现突出亮点"即可,不强行凑数]
九、总体建议
[综合改进方向,最多 3 条,按优先级排列]
十、修复清单
按编号逐项检查,修完一个勾一个。☐ = 未修复,☑ = 已修复。
| 状态 | 编号 | 级别 | 问题 | 章节 | 工作量 |
|---|---|---|---|---|---|
| ☐ | A1-1 | 严重 | 缺少背景说明 | 第1章 | 🟡 中等 |
| ☐ | A1-4 | 严重 | "适当"未量化 | 第2章 | 🟢 轻量 |
| ☐ | B1-3 | 重要 | 缺少异常处理 | 第4章 | 🟡 中等 |
| ☐ | C1-1 | 建议 | 术语不统一 | 全文 | 🟢 轻量 |
### Step 7: 可选 — 回写飞书
如果需要将审核报告写回飞书文档,调用已定义的 `write_to_feishu(markdown_content, file_name)` 函数即可。
**飞书 Markdown 兼容性规则(回写时自动处理):**
飞书 Markdown 渲染与标准 Markdown 有差异,写回飞书时需做以下转换:
| 标准语法 | 飞书兼容 | 说明 |
|----------|----------|------|
| `> 引用块` | ✅ 支持 | 单行引用正常;嵌套引用不保证样式 |
| `\| 表格 \|` | ✅ 支持 | 列宽不可控,长文本自动截断。列数建议 ≤ 6 |
| `` ```代码块``` `` | ⚠️ 有限 | 需指定语言(如 `` ```markdown ``),不指定可能无语法高亮 |
| `# ~###### 标题` | ✅ 支持 | 最多支持 H3 层级(###),H4 以下不渲染为标题样式 |
| `- 无序列表` | ✅ 支持 | 嵌套不超过 3 层,4 层以上可能样式异常 |
| `1. 有序列表` | ✅ 支持 | 同上 |
| `**加粗**` / `*斜体*` | ✅ 支持 | |
| `~~删除线~~` | ⚠️ 不支持 | 改为 `~~` 文本前加 `(已删除)` 标注 |
| `\x3Cdetails>\x3Csummary>` | ❌ 不支持 | 不使用 HTML 折叠,改为标题 + 说明文案 |
| `[链接](url)` | ✅ 支持 | |
| 表格内 `>` 引用 | ⚠️ 异常 | 原文列改为加粗引用前加 `「` 后加 `」`,如 **「原文片段」** |
**回写时的格式调整策略**:
1. 报告标题保持 H1(`#`),章节标题用 H2(`##`),子节用 H3(`###`),避免 H4+
2. 表格列数 ≤ 6,超宽内容拆分到下一行或缩写
3. 原文列(`>` 引用格式)改为 `「原文」` 加粗格式
4. 删除线改为文字标注
5. 代码块统一使用 `markdown` 语言标记
6. 补全建议中的代码块(状态机/字段模板)使用 `markdown` 语言标记,确保表格在飞书中正确渲染
**注意事项:**
- Markdown 导入大小限制 20MB
- 导入后生成的文档需要手动授权给相关人员查看
### Step 8: 审核记录留存
每次审核完成后,将审核结果以 JSON 格式保存到 `{workspace}/.workbuddy/audit-history/` 目录,便于后续追踪 PM 质量趋势和文档迭代质量。
**文件命名**:`{文档标题简称}_{审核日期}.json`(如 `其他费用模块_2026-05-20.json`)
**JSON 结构**:
```json
{
"meta": {
"doc_title": "文档标题",
"doc_type": "A/B/C",
"system": "ERP/SCM/WMS/LPS",
"review_date": "2026-05-20",
"review_version": "v2.4",
"is_re_review": false
},
"score": {
"total": 82,
"critical_fail": 1,
"critical_partial": 0,
"major_fail": 2,
"major_partial": 1,
"minor_fail": 3,
"minor_partial": 0
},
"mandatory": {
"total": 10,
"pass": 8,
"rate": "80%"
},
"quality_redline": {
"violated": false,
"items": []
},
"issues_summary": [
{
"id": "A1-1",
"level": "严重",
"result": "Fail",
"deduction": 8,
"chapter": "第1章",
"confidence": "高",
"summary": "缺少背景说明"
}
],
"highlights": [
{
"location": "第5章",
"title": "异常场景覆盖全面",
"recommendation": "团队最佳实践"
}
],
"release_strategy": {
"before_dev": ["A1-1"],
"before_test": ["B1-3", "B3-1"],
"later": ["C1-1", "C1-2"]
}
}
用途说明(供后续扩展,当前仅留存):
- 按 PM 统计平均分和趋势,识别需要重点辅导的 PM
- 按文档类型统计常见问题分布,优化检查清单权重
- 对比同一文档多次审核的分值变化,评估迭代质量
审核原则
- 引用原文 — 每个问题必须附上原文片段(使用
> 引用格式),审核人无需切换文件即可验证问题是否真实存在。原文过长时引用关键句,不超 3 行 - 具体不笼统 — 不说"需补充细节",说"第 3 章缺少异常处理场景:当 API 调用超时时系统的行为未定义"
- 引用位置 — 每个问题标注对应章节位置
- 给修复建议 — 不只说问题,给出具体的改法
- 尊重约束 — C 型文档篇幅本身就短,不要按 A 型标准要求
- 领域专业 — 充分利用跨境电商领域知识识别业务逻辑漏洞
- 正面反馈 — 好的地方也要指出来,不只是挑错
- 评分客观 — 每个扣分项必须有明确理由,不因主观感受扣分
- 逻辑审慎 — 不确定的问题标注"待确认"并说明需向谁确认,不做猜测不做假设
- 补全有边界 — 只补结构性模板,不代写业务决策内容
- PM 效率优先 — 同类问题聚合展示减少翻找、按章节分组方便批量修改、标注修复工作量帮助排优先级、补全内容可直接复制减少重复劳动
- 模糊词需上下文判定 — 检查模糊词时,同一句或相邻两句(下文 2 句内)若已有具体数值、限定范围、操作条件等量化说明,则视为已解释,不标记为问题。只对"裸模糊词"(无任何量化补充)扣分
- 标注关联影响 — 严重 和 重要 的修复可能引发其他章节的联动修改,必须在修复建议末尾标注"关联影响:需同步检查第 X.X 节"。例如"补充状态机"后,功能描述中引用状态流转的部分可能需要同步调整
- 标注置信度 — 每个问题标注判断置信度:
- 高 — 原文明确缺失或明显违规,无需业务背景即可确认
- 中 — 基于规范判断,需结合上下文理解,但大概率准确
- 低 — 涉及业务逻辑合理性判断,需人工复核确认
- 低置信度项须在问题说明末尾标注"⚠️ 建议人工复核",帮助审核人聚焦精力
- 类型分歧先确认 — 当检测到子节内容特征与文档主类型不一致时(如 B 型聚合文档中某节含完整状态机),暂停审核先请用户确认该节的实际类型归属。用户确认为当前类型后,仅按当前类型标准审核,不混用其他类型的检查项
Key Design Decisions (v2.4)
以下决策影响审核判断标准,必须严格遵守:
| 编号 | 决策 | 审核含义 |
|---|---|---|
| D-1 | 不单独写验收标准(AC) | 不要检查 AC 章节,不要建议"应补充验收标准" |
| D-2 | 功能清单是条件子模块(A 型) | 功能点 ≤5 个时不要求有功能清单 |
| D-3 | 竞品分析无参考可删除 | 没有参考对象时,该章节应删除而非留空 |
| D-4 | C 型极简但保留影响范围 | C 型不要求竞品分析、状态机,但影响范围必须评估 |
| D-5 | B 型支持聚合 | 多个优化点可合并文档,不影响质量 |
| D-6 | 写作规范内嵌模板 | 检查写作规范(动词开头、主语明确、可量化) |
| D-7 | B 型影响范围不扣分 | B 型优化影响范围为建议项,检测到风险时提示但不扣分(规范原文「若不涉及可删除」) |
| D-8 | 类型分歧先确认再审核 | 检测到子节类型与文档主类型不一致时,暂停审核请用户确认,避免误报 |
| D-9 | B2-2 典型使用场景不扣分 | A 型用户场景中「典型使用场景」为建议项,缺失时在补全建议中提醒,不计入评分 |
References
references/checklist.md— v2.3 分型检查清单(严重 / 重要 / 建议 / 逻辑校验)+ 评分规则 + 质量红线references/spec.md— v2.3 规范结构要求和写作规范references/domain-knowledge.md— 跨境电商 SaaS 领域知识库
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install prd-review-2 - 安装完成后,直接呼叫该 Skill 的名称或使用
/prd-review-2触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Prd Review 是什么?
PRD 内审 Skill,对齐《PRD 文档标准规范 v2.4》。支持从飞书文档自动读取内容,识别 A/B/C 类型,按分型检查清单逐项审核,输出评分+必填项校验+逻辑校验+补全建议的结构化评审报告。触发关键词:审核、审查、检查、评审、内审、review、帮我审、PRD。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 54 次。
如何安装 Prd Review?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install prd-review-2」即可一键安装,无需额外配置。
Prd Review 是免费的吗?
是的,Prd Review 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Prd Review 支持哪些平台?
Prd Review 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Prd Review?
由 adahuhu(@adahuhu)开发并维护,当前版本 v0.1.0。