PRD 多视角评估
功能概述
- 对输入的 PRD 文档进行多端格式解析(PDF/Markdown/飞书)。
- 基于五个视角(产品、后端、前端、测试/QA、设计)的评分标准逐项评分。
- 自动统计各视角得分、等级,并总结跨视角风险与建议。
- 生成结构化 Markdown 报告并保存为
PRD_评估报告_<YYYYMMDD>_<HHMMSS>.md。
系统上下文要求
- 执行顺序:遵循“Step0 加载通用规则 → Step1 加载本技能 Prompt → Step2 执行任务 → Step3 输出完整产物”流程,只有在确认基础规则后才能进入技能逻辑。
- 语言协议:思考与回复全程使用简体中文,除代码/专有名词外不得夹杂其他语言,避免翻译腔。
- 思考模式:每个阶段均需显式经历“理解 → 上下文检索 → 规划 → 反思”,确保决策有据可追溯。
- 输入完整性:在实际评审前,必须完成输入清单核验(全量枚举目录、章节),并结合分批读取策略确认所有内容已覆盖。
- 输出规范:所有中间过程与最终报告需采用结构化 Markdown,展示思考过程、进度条与完整性声明。
- 分批策略:遇到大文件或长任务时,必须分批读取、处理与写入,各批记录进度并在整合阶段执行完整性验证,禁止省略或压缩信息。
输入清单核验与对账(强制)
- 任何目录或多文件输入,必须先
list_dir完整枚举,按结果生成“输入目录完整枚举”表,严禁主观筛选。 - 为全部输入项建立追踪表(⬜ 待分析 / ✅ 已完成),读取结束后输出“读取完成对账”表并确认覆盖率 100%。
- 若发现遗漏,立即补读并更新对账,确保“输入完整性检查清单”与产出章节一一映射。
分块处理与进度追踪
- 当 PRD 超过 3000 字或包含 5+ 功能模块时,需制定“分块处理计划”,记录每块范围、预期产出与状态。
- 执行过程遵循“分批执行 → 整合汇总 → 完整性验证”三步,逐批更新进度条(
█/░)并说明阶段切换。 - 分批处理完成后必须生成最终合并产物,并依据“分批写入完成检查”“输出进度追踪”模板确认内容齐备。
完整性声明与输出校验
- 全量分析结束后,输出“输入完整性声明”,列出输入总数、覆盖率、遗漏项及分块信息。
- 报告写入前后均需自检:章节齐全、表格无截断、得分计算可复核,必要时引用原文证据。
文档获取
- PDF:使用
read_file读取 PDF,必要时配合 OCR/文本提取,保证正文可扫描。 - Markdown/本地文件:用
read_file直接读取。 - 飞书链接:
- 识别 URL(
https://*.feishu.cn/docx/*/https://*.feishu.cn/wiki/*)。 - 执行
feishu2md download --output ./output_md/ <URL>。 - 若出现
Authentication token expired,先运行feishu2md auth完成授权,再重新下载。 - 下载完成后读取生成的 Markdown。
- 识别 URL(
使用流程
业务线选择(强制)
在与用户开始交互时,必须首先询问业务线,必须使用以下单选可交互的方式让用户选择:
请选择业务线(使用 ↑/↓ 箭头导航,空格键确认):
国际销售客户 国际销售合同
国际销售价格 国际销售订单 国际渠道PSI 国际分销模块 国际销售激励返利 印度销售 印度零售 国际渠道零售
操作说明:
- 使用 ↑/↓ 箭头键在选项间导航
- 使用空格键确认当前选中的选项
- 按 Enter 键完成选择
重要:
- 只有在用户明确选择业务线后,才能继续进行后续的 PRD 评估流程
- 选择结果需要记录在评估报告的基本信息部分
- 当前选中的选项会高亮显示
严禁操作:
- 绝对禁止将本技能的
references/目录下的任何文件拷贝到项目工作目录。 - 绝对禁止在用户项目目录下创建副本或缓存这些文件。
- 如需阅读文件内容,请使用
read_file工具直接读取技能基础路径下的原始文件。
重要: 本技能的 '评分标准' 文件位于技能基础路径的 references/ 子目录下。在读取这些文件时,必须使用技能基础路径的绝对路径(通过 SKILL.md 文件所在目录确定)拼接 references/ 子目录,而非当前工作目录的相对路径。
获取技能基础路径的方法:
- 技能基础路径 =
SKILL.md文件所在的目录路径 - 评分标准 文件路径 =
{技能基础路径}/references/{评分标准文件名}
- 收集上下文:必须通读 PRD 全文,记录版本/范围/依赖。对于超长文档,可分段分章节阅读并做摘要,但每个章节都要覆盖,不能只凭局部摘要进行评审。必要时拆分章节并建立索引,确保有证据指向原文位置。
- 按视角评分:依次遍历 评分标准 中各视角检查项,针对 PRD 的证据逐项判定,按照评分标准中的得分要求进行评分。
说明中需引用章节、链接或附件编号。
- 条目状态记录:每个 评分标准 条目都要同步记录
状态 = ✅ 通过 / ⚠️ 待补充 / ❌ 未通过,并在最终报告中逐条输出。 - 定位要求:每条结论或扣分说明必须包含
章节/页码 + 原文摘录 + 问题描述 + 期望补充信息,示例:PRD 3.3 规则配置与 3.4 明细逻辑冲突,需在 3.3 同步更新枚举口径。
- 条目状态记录:每个 评分标准 条目都要同步记录
- 记录问题:对得分 < 满分 的条目记录问题、影响与建议,可按视角/类别聚合。
- 问题描述模板:统一输出
章节/页码 + 引述原文(必要时可 paraphrase) + 发现的问题 + 期望补充/修正 + 影响,例如:3.5 明细列表仅描述字段,无“最大支持 xx 行 + 刷新频率”,无法估算性能。
- 问题描述模板:统一输出
- 统计得分:
- 视角加权得分:对每个条目求和,得到该视角的总得分。
- 视角标准化:每个视角的展示分数与满分严格按照评分标准给出的分数计算。
- 全局得分固定 100 分: 全局得分固定100分。
- 汇总洞察:提炼跨视角共性风险(数据口径、依赖同步等),并按优先级排序。
- 输出报告:使用模板撰写 Markdown,调用
write_file保存。
大文件分批读取策略
触发条件:
文件行数: ">1000行"
文件大小: ">50KB"
分批读取规则:
1. 首次读取: read_file(offset=1, limit=500) → 了解结构
2. 后续读取: 按需读取特定范围,或分批读取全部
3. 禁止行为: 仅读取开头就假设后续内容
读取完整性检查:
- 确认已读取文件全部行数(通过full_length字段)
- 如未读完,必须继续读取或说明原因
三步处理流程(强制)
┌─────────────────────────────────────────────────────┐
│ Step 1: 分批执行 │
│ - 大文件分批读取 │
│ - 大任务分批处理 │
│ - 大输出分批写入 │
│ - 每批独立完成,记录进度 │
└─────────────────┬───────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Step 2: 整合汇总 │
│ - 收集所有分批结果 │
│ - 去重与合并 │
│ - 处理跨批次依赖 │
└─────────────────┬───────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Step 3: 完整性验证 │
│ - 核对输入项全部覆盖 │
│ - 核对输出项无遗漏 │
│ - 输出完整性声明 │
└─────────────────────────────────────────────────────┘
禁止的读取行为
❌ 绝对禁止:
1. 仅读取文件开头就假设后续内容
2. 凭记忆或假设文件内容,不实际读取
3. 跳过"不重要"的章节不读取
4. 因文件过长而只读取部分
5. 忽略工具返回的完整信息
✅ 正确做法:
1. 大文件分批读取,确保覆盖全部内容
2. 每次读取记录已读范围和剩余范围
3. 所有章节客观读取,不主观筛选
4. 读取完成后确认full_length已全部覆盖
评分清单与标准
评分标准选择(基于业务线)
根据用户选择的业务线,使用不同的评分标准:
- 国际渠道零售:使用
零售产品 PRD 综合评分标准(100分制).md - 其他业务线:使用
销售产品 PRD 综合评分标准(100分制).md
评分标准文件位于技能基础路径的 references/ 子目录下。
评分说明
- 零售产品评分标准:采用 100 分制,各考核项有明确的分值分配,按实际完成情况打分。
- 销售产品评分标准:采用 100 分制,各考核项有明确的分值分配,按实际完成情况打分。
- 每个考核项根据评分标准中的描述进行打分,满分即为该考核项的分值。
评分标准 引用(逐视角维护)
所有 评分标准 文件位于技能基础路径的 references/ 子目录下。使用时需先获取技能基础路径(即 SKILL.md 文件所在目录),然后拼接子路径:
- 零售产品评分标准:
{技能基础路径}/references/零售产品 PRD 综合评分标准(100分制).md - 销售产品评分标准:
{技能基础路径}/references/销售产品 PRD 综合评分标准(100分制).md
使用说明:
- 打开对应 评分标准,按章节(如“用户价值(P0)”、“技术方案准备度(P0)”)依次评估。
- 根据业务线选择对应的评分标准文件。
- 打开对应 评分标准,按章节(如"用户价值(P0)"、"技术方案准备度(P0)")依次评估。
- 在个人记录表中登记每个条目的得分、引用证据、责任人、整改建议。
- 若 评分标准 更新,直接编辑上述文件;skill 读取最新内容,无需再修改
SKILL.md。
汇总与输出
评分聚合
- 在报告中汇总每个视角的
得分(0-100) / 满分(100) / 等级。 - 对低于 0.6*满分 的视角,至少列出 2 条高优先级问题及责任方建议。
- 给出“优先改进项 Top 3”,说明影响、责任人、截止时间。
- 评分标准 逐条输出:每个视角需附“条目级打分表”,列出 评分标准 每一项的
条目名称 / 证据 / score / 状态(✅/⚠️/❌),确保通过/未通过/待补充全部可追溯;输出时必须按照 P0 / P1 分段展示,P0 优先级表格置顶,其次 P1, P2 优先级不展示明细,严禁混排或省略任意优先级的条目。
报告结构
# PRD 多视角评估报告
## 基本信息
- 文档名称:
- 评审时间:
- 评审人:
- 版本/范围:
### 输入目录完整枚举
|序号|输入项|类型|状态|备注|
|---|---|---|---|---|
|1|[prdxx](https://mi.feishu.cn/xxx)|飞书 Wiki|✅|通过 `feishu_doc` 一次性拉取全文|
### 读取完成对账
|输入项|状态|说明|
|---|---|---|
|同上|✅|文档为单文件,未触发分页,已完整审阅|
### 分块处理计划与进度
|块|范围|预期产出|状态|
|---|---|---|---|
|K1|第1-2章 背景、目标、产品介绍|锁定业务目标、痛点、关键解法|✅|
|K2|第3章 产品方案|拆解后台规则、APP 上报、任务联动|✅|
|K3|第4-7章 交付、上线、附录|提炼上线策略、埋点、高危元素、评审记录|✅|
进度:██████████ 100%
## 视角得分概览
| 视角 | 得分 | 满分 | 等级 |
|------|------|------|--------|------|
| 产品 | XX | 100 | 优秀 |
| 后端 | XX | 100 | 良好 |
| 前端 | XX | 100 | 一般 |
| 测试/QA | XX | 100 | 风险 |
| 设计 | XX | 100 | 良好 |
| **全局(0-100)** | XX | 100 | XX |
> 注:全局得分 = (Σ视角得分) ,用同一等级表判定整体质量。
## 视角详情
### 产品视角
- **亮点**:
- **主要问题**:逐条使用 `位置(章节/页码/表单 ID) + 原文摘录或 paraphrase + 具体冲突/缺口 + 影响` 格式描述,如 `3.3 规则配置允许多选,但 3.4 明细逻辑限制单选 → 交互冲突,需统一`。
- **建议**:指出需补齐的字段/性能/同步/依赖信息,并写明期望提供者与截止时间。
- **条目级打分**:
| 条目 | 证据 | score | 状态 | 定位说明 |
|------|------|-------|------|---------|
| 产品-1 用户价值 | PRD 第2章 | 2 | ✅ | `2.1 背景:缺少 ROI 数据` |
| ... | ... | ... | ⚠️ | ... |
> **批注**:证据列需写 `章节/页码/链接`,定位说明列需给出 `原文摘录 + 问题 + 期望补充`,使读者能直接定位 PRD 原文。
### 后端视角
...
## 高优先级改进项
1. [问题 + 影响 + 责任人 + 截止]
2. ...
文件保存
- 命名:
PRD_评估报告_<YYYYMMDD>_<HHMMSS>.md。 - 保存路径:在用户执行技能时的当前工作目录下的
./reports/子目录中。 - 实现要求:在写入报告前,检查当前工作目录下是否存在
reports目录,如果不存在则创建该目录。 - 使用
write_file将完整的 Markdown 报告写入保存路径中。
数据库保存
- 调用时机:在保存 Markdown 报告后立即调用,此步骤必须执行,不可遗漏。
- 脚本路径:
scripts/submit_prd_score.py(相对于技能基础路径)。 - 调用方式:
# Check if python command is available, if not use python3 if command -v python &> /dev/null; then python scripts/submit_prd_score.py <prdDocName> <prdLink> <submitter> <businessLine> <productScore> <backendScore> <frontendScore> <qaScore> <designScore> <globalScore> <globalLevel> elif command -v python3 &> /dev/null; then python3 scripts/submit_prd_score.py <prdDocName> <prdLink> <submitter> <businessLine> <productScore> <backendScore> <frontendScore> <qaScore> <designScore> <globalScore> <globalLevel> else echo "Error: Neither python nor python3 is available in the system." fi - 参数说明:
prdDocName:从 PRD 文件名或报告"基本信息"部分提取prdLink:用户提供或文档中的链接(如飞书 URL),非必填项,只有当用户传入飞书文档时才有链接地址,对于 md 或 prd 格式的文件该参数传空字符串submitter:评审人(从报告"基本信息"获取)businessLine:业务线(从用户选择的业务线获取,必填字段)productScore:产品视角得分(0-100)backendScore:后端视角得分(0-100)frontendScore:前端视角得分(0-100)qaScore:测试/QA视角得分(0-100)designScore:设计视角得分(0-100)globalScore:全局总分(0-100)globalLevel:等级(优秀/良好/一般/风险)
- 错误处理:脚本执行失败时静默处理,仅打印日志信息,不影响报告生成和主流程。
- 接口地址:
http://10.38.219.120:80/fullstack/api/prd/score/submit