mcpField
D
doc-prd-reviewer

doc-prd-reviewer

github.com/vladm3105文档处理1771 次安装1 天前更新
代码仓库

关于 doc-prd-reviewer

doc-prd-reviewer 是一项已弃用的 PRD 内容与一致性审查技能,可检查链接、指标阈值、BRD 对齐、占位内容和完整性。README 建议改用 doc-prd-audit。

主要功能

  1. 01交叉检查 PRD 链接与阈值
  2. 02核对与 BRD 需求的对齐情况
  3. 03查找占位内容和不完整章节
  4. 04检查可追溯标签与命名规范
  5. 05标记需业务审核的客户内容

适用场景

  1. 01修改后复查现有 PRD
  2. 02生成 EARS 前检查 PRD
  3. 03在文档流水线中加入 PRD 审查关卡

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vladm3105/aidoc-flow-framework --skill doc-prd-reviewer

安装后在 Claude Code 中输入/doc-prd-reviewer确认已加载。

详细介绍

doc-prd-reviewer

已弃用(2026-03-02):作为 2 技能模型标准化的一部分,此技能已合并到 doc-prd-audit。所有 PRD 审查需求请使用 doc-prd-audit。此文件仅供参考。

替代项:/doc-prd-audit

迁移:无需执行任何操作。直接使用 doc-prd-audit 替代此技能即可。


旧版文档(仅供参考)

目的

对产品需求文档(PRD)进行全面的内容审查和质量保证。此技能会进行深入的内容分析,而不仅是结构验证,还会检查链接完整性、阈值一致性、与 BRD 的对齐情况,并识别需要人工业务审查的问题。

层级:2(PRD 质量保证)

上游:PRD(来自 doc-prd-autopilot 或 doc-prd)

下游:无(生成 EARS 前的最终 QA 关卡)


何时使用此技能

在以下情况下使用 doc-prd-reviewer:

  • PRD 生成后:doc-prd-autopilot 完成后立即运行
  • 手动编辑 PRD 后:对 PRD 进行手动修改后
  • EARS 前检查:运行 doc-ears-autopilot 前
  • 定期审查:定期检查现有 PRD 的质量
  • CI/CD 集成:在文档流水线中设置自动审查关卡

请勿在以下情况下使用:

  • PRD 尚不存在(请先使用 doc-prd 或 doc-prd-autopilot)
  • 只需要进行结构/架构验证(请使用 doc-prd-validator)
  • 需要生成新的 PRD 内容(请使用 doc-prd)

技能与验证器:主要区别

方面doc-prd-validatordoc-prd-reviewer
重点架构合规性、EARS-Ready 评分内容质量、跨文档一致性
检查项必需章节、字段格式链接完整性、阈值对齐、占位符
自动修复仅修复结构问题修复内容问题(链接、日期、占位符)
输出EARS-Ready 评分(数值)审查评分 + 问题列表
阶段第 4 阶段(验证)第 5 阶段(最终审查)
阻断规则EARS-Ready 低于阈值时阻断审查评分低于阈值时发出标记

审查工作流

flowchart TD
    A[Input: PRD Path] --> B[Load PRD Files]
    B --> C{Sectioned or Monolithic?}

    C -->|Sectioned| D[Load All Section Files]
    C -->|Monolithic| E[Load Single File]

    D --> F[Run Review Checks]
    E --> F

    subgraph Review["Review Checks"]
        F --> G[1. Link Integrity]
        G --> H[2. Threshold Consistency]
      H --> H2[2a. Diagram Contract Compliance]
      H2 --> I[3. BRD Alignment]
        I --> J[4. Placeholder Detection]
        J --> K[5. Traceability Tags]
        K --> L[6. Section Completeness]
        L --> M[7. Customer Content]
        M --> M2[8. Naming Compliance]
        M2 --> M3[9. Structure Compliance]
        M3 --> M4[10. Upstream Drift Detection]
    end

    M4 --> N{Issues Found?}
    N -->|Yes| O[Categorize Issues]
    O --> P{Auto-Fixable?}
    P -->|Yes| Q[Apply Auto-Fixes]
    Q --> R[Re-run Affected Checks]
    P -->|No| S[Flag for Manual Review]
    R --> N
    S --> T[Generate Report]
    N -->|No| T
    T --> U[Calculate Review Score]
    U --> V{Score >= Threshold?}
    V -->|Yes| W[PASS]
    V -->|No| X[FAIL with Details]

审查检查项

1. 链接完整性

验证所有内部文档链接均可正常跳转。

范围:

  • 导航链接([Previous: ...]、[Next: ...])
  • 章节交叉引用([See Section 8.2](...))
  • 索引到章节的链接
  • 外部文档链接(无法访问时发出警告)

检测:

Scanning PRD-01 for internal links...
├── PRD-01.md: 17 links found
│   ├── PRD-01.1_document_control.md ✓
│   ├── PRD-01.2_executive_summary.md ✓
│   ├── PRD-01.18_missing_section.md ✗ NOT FOUND
│   └── ...
└── Result: 1 broken link found

自动修复:

  • 移除指向不存在章节的失效链接
  • 如果目标存在名称相似的项,则修正路径拼写错误
  • 如果文件已移动,则更新相对路径

错误代码:

代码严重性描述
REV-L001错误内部链接失效
REV-L002警告外部链接无法访问
REV-L003信息链接路径使用绝对路径而非相对路径

2. 阈值一致性

验证各章节中的性能指标是否一致。

范围:

  • 第 5 节(成功指标)的阈值
  • 第 9 节(质量属性)的性能目标
  • 第 17/20 节(附录 B.1)的时序配置矩阵
  • 与 BRD 阈值的交叉引用

检测:

Comparing thresholds across sections...
├── Operation: auth.p99
│   ├── Section 5 (Success Metrics): 100ms ✓
│   ├── Section 9 (Quality Attributes): 100ms ✓
│   ├── Section 17 (Timing Matrix): 100ms ✓
│   └── BRD-01 (Source): 100ms ✓
├── Operation: authz.p99
│   ├── Section 5: 10ms ✓
│   ├── Section 9: 15ms ✗ MISMATCH
│   ├── Section 17: 10ms ✓
│   └── BRD-01: 10ms ✓
└── Result: 1 inconsistency found

自动修复:

  • 将 PRD 值与 BRD 源值(权威来源)对齐
  • 更新所有章节,确保使用一致的值
  • 添加注释,注明自动修复及时间戳

错误代码:

代码严重性描述
REV-T001错误PRD 各章节之间的阈值不匹配
REV-T002错误阈值与 BRD 源值不同
REV-T003警告阈值单位不一致(ms 与 s)
REV-T004信息阈值比 BRD 更严格(可接受)
2a. 图表契约合规性

验证 ai_dev_ssd_flow/DIAGRAM_STANDARDS.md 中定义的 PRD 图表契约要求。

范围:

  • 必需的 PRD 标签:@diagram: c4-l2、@diagram: dfd-l1、@diagram: sequence-*
  • 关键用户旅程中必需的序列错误路径/替代路径覆盖
  • 意图标头字段:diagram_type、level、scope_boundary、upstream_refs、downstream_refs

错误代码:

代码严重性描述
REV-DC001错误缺少必需的 PRD 图表标签(c4-l2、dfd-l1 或 sequence-*)
REV-DC002错误必需的序列流程缺少明确的异常路径
REV-DC003警告图表意图标头缺少必需字段

3. BRD 对齐

验证 PRD 需求是否准确反映 BRD 来源。

范围:

  • 每项 PRD 需求都映射到一项 BRD 需求
  • 不存在孤立需求(没有 BRD 来源的 PRD 需求)
  • 不存在缺失需求(没有 PRD 映射的 BRD 需求)
  • 范围边界一致

检测:

Verifying PRD requirements map to BRD source...
├── PRD.01.0101 → BRD.01.0101 (Multi-Provider Auth) ✓
├── PRD.01.0102 → BRD.01.0102 (4D Authorization) ✓
├── PRD.01.0103 → BRD.01.0103 (Trust Levels) ✓
├── PRD.01.0109 → ??? ✗ NO BRD MAPPING
├── BRD.01.0110 → ??? ✗ NO PRD MAPPING (deferred)
└── Result: 11/12 aligned, 1 orphan, 1 missing

Scope Alignment:
├── PRD In-Scope vs BRD In-Scope: MATCH ✓
├── PRD Out-Scope vs BRD Out-Scope: MATCH ✓
└── Deferred items: 2 (correctly marked)

需要人工审核:

  • 孤立需求需要说明理由
  • 缺失需求需要明确的延期说明
  • 范围不一致需要业务决策

错误代码:

代码严重性描述
REV-A001错误PRD 需求没有 BRD 来源
REV-A002警告BRD 需求没有 PRD 映射
REV-A003错误范围不一致(PRD 与 BRD)
REV-A004信息需求已正确标记为延期

4. 占位内容检测

识别需要替换的不完整内容。

范围:

  • [TODO]、[TBD]、[PLACEHOLDER] 文本
  • 模板日期:YYYY-MM-DDTHH:MM:SS、MM/DD/YYYY
  • 模板姓名:[Name]、[Author]、[Reviewer]
  • 空白章节:``
  • Lorem ipsum 或示例文本

检测:

Scanning for placeholder text...
├── [TODO]: 0 found ✓
├── [TBD]: 1 found
│   └── PRD-01.10_customer_content.md:42: "[TBD: Marketing copy]"
├── YYYY-MM-DDTHH:MM:SS: 0 found ✓
├── [Name]: 0 found ✓
├── Empty sections: 0 found ✓
└── Result: 1 placeholder found

自动修复:

  • 将 YYYY-MM-DDTHH:MM:SS 替换为当前日期时间
  • 将 [Name] 替换为元数据中的文档作者
  • 删除空的注释占位符
  • 标记 [TODO]/[TBD],以便人工补全

错误代码:

代码严重性描述
REV-P001错误发现 [TODO] 占位符
REV-P002错误发现 [TBD] 占位符
REV-P003警告模板日期尚未替换
REV-P004警告模板姓名尚未替换
REV-P005警告章节内容为空

5. 可追溯性标签

验证 @brd:、@depends: 和 @discoverability: 标签。

范围:

  • 所有 @brd: BRD.XX.XX.XX 标签都引用有效的 BRD ID
  • @depends: PRD-XX 引用的 PRD 均存在
  • @discoverability: PRD-XX 引用的 PRD 均存在
  • 标签格式符合约定

检测:

Validating traceability tags...
├── @brd tags: 15 found
│   ├── BRD.01.0101 ✓ (exists in BRD-01)
│   ├── BRD.01.0102 ✓
│   ├── BRD.01.9901 ✗ NOT FOUND in BRD
│   └── ...
├── @depends tags: 2 found
│   ├── PRD-06 ✓ (exists)
│   └── PRD-07 ✓ (exists)
├── @discoverability tags: 2 found
│   ├── PRD-02 ✗ (planned, not yet created)
│   └── PRD-03 ✗ (planned, not yet created)
└── Result: 1 invalid @brd, 2 forward references (acceptable)

自动修复:

  • 移除无效的 @brd 标签
  • 如果存在近似匹配项,则更正标签 ID 中的拼写错误
  • 为前向引用添加 (planned) 后缀

错误代码:

代码严重性描述
REV-TR001错误@brd 标签引用了不存在的 BRD ID
REV-TR002警告@depends 引用了不存在的 PRD
REV-TR003信息@discoverability 是前向引用
REV-TR004警告标签格式错误

6. 章节完整性

验证所有必需章节都包含实质性内容。

范围:

  • 每个章节的最低字数(可配置)
  • 章节标题齐全
  • 表格包含数据行(不能只有表头)
  • Mermaid 图表能正确渲染

检测:

Checking section completeness...
├── Section 1 (Document Control): 150 words ✓
├── Section 2 (Executive Summary): 280 words ✓
├── Section 10 (Customer Content): 45 words ⚠ THIN
├── Section 17 (Appendices): 820 words ✓
├── Table check: 12 tables, all have data rows ✓
├── Mermaid check: 3 diagrams, all valid ✓
└── Result: 16/17 complete, 1 thin section

最低字数(可配置):

章节最低字数
执行摘要100
问题陈述75
功能需求200
质量属性100
客户内容100
风险评估75
附录200

错误代码:

代码严重性描述
REV-S001错误完全缺少必需章节
REV-S002警告章节未达到最低字数
REV-S003警告表格没有数据行
REV-S004错误Mermaid 图表语法错误

7. 客户内容审查

标记第 10 节,要求进行强制性业务/营销审查。

范围:

  • 第 10 节(面向客户的内容)存在
  • 内容具有实质性(不是占位内容)
  • 营销用语恰当
  • 面向客户的文本中不包含技术术语

检测:

Reviewing customer-facing content (Section 10)...
├── Section exists: ✓
├── Word count: 180 words ✓
├── Placeholder check: PASS ✓
├── Technical jargon scan:
│   ├── "4D Matrix" - technical term found
│   ├── "OIDC" - acronym may need explanation
│   └── "mTLS" - technical term found
└── Result: FLAG for marketing review (3 technical terms)

需要人工审查:

  • 第 10 节的所有内容都需要业务部门批准
  • 技术术语需要替换为客户易懂的表达
  • 信息传达需符合品牌指南

错误代码:

代码严重性描述
REV-C001错误缺少第 10 节
REV-C002警告第 10 节是占位内容
REV-C003信息客户内容中包含技术术语
REV-C004标记需要营销/业务审查

8. 命名规范合规性

验证元素 ID 和阈值标签是否符合 doc-naming 标准。

范围:

  • 元素 ID 使用 PRD.NN.xxxx 格式
  • 元素类型代码符合 PRD 的有效代码(01-09、11、22、24)
  • 阈值标签使用 @threshold: PRD.NN.key 格式
  • 不包含旧版模式(US-NNN、FR-NNN、AC-NNN、F-NNN)

检测:

Validating naming compliance (per doc-naming skill)...
├── Element IDs: 24 found
│   ├── PRD.01.0101 ✓ (valid format, code 01 valid for PRD)
│   ├── PRD.01.0905 ✓ (valid format, code 09 valid for PRD)
│   ├── PRD.01.2501 ✗ (code 25 not valid for PRD - EARS only)
│   └── ...
├── Threshold tags: 8 found
│   ├── @threshold: PRD.01.perf.auth.p99 ✓
│   ├── @threshold: perf.auth.p99 ✗ (missing PRD.NN prefix)
│   └── ...
├── Legacy patterns: 2 found
│   ├── US-001 ✗ (deprecated - use PRD.NN.09.SS)
│   └── FR-003 ✗ (deprecated - use PRD.NN.01.SS)
└── Result: 3 naming violations

自动修复:

  • 将旧版模式转换为统一格式
  • 为缺少前缀的阈值标签添加 PRD.NN
  • 建议正确的元素类型代码

错误代码:

代码严重性描述
REV-N001错误元素 ID 格式无效
REV-N002错误元素类型代码对 PRD 无效
REV-N003错误检测到旧版模式(US-NNN、FR-NNN 等)
REV-N004错误阈值标签缺少文档引用
REV-N005警告阈值键格式不符合标准

参考:完整命名规则请参阅 doc-naming 技能。


9. 结构合规性(关键)

验证 PRD 是否遵循强制性的嵌套文件夹规则。

嵌套文件夹规则:所有 PRD 无论大小都必须放在嵌套文件夹中。

必需结构:

PRD 类型必需位置
单体docs/02_PRD/PRD-NN_{slug}/PRD-NN_{slug}.md
分节docs/02_PRD/PRD-NN_{slug}/PRD-NN.0_index.md、PRD-NN.1_*.md 等

检测:

Validating folder structure...
├── PRD Location: docs/02_PRD/PRD-01_f1_iam/PRD-01_f1_iam.md
├── Expected Folder: PRD-01_f1_iam ✓
├── Parent Path: docs/02_PRD/ ✓
├── Nested Structure: Valid ✓
└── Result: PASS

失败检测:

Validating folder structure...
├── PRD Location: docs/02_PRD/PRD-02_f2_session.md
├── Expected: docs/02_PRD/PRD-02_f2_session/PRD-02_f2_session.md
├── Nested Structure: INVALID ✗
└── Result: FAIL - PRD not in nested folder

自动修复:

  1. 创建嵌套文件夹 docs/02_PRD/PRD-NN_{slug}/
  2. 将 PRD 文件移入该文件夹
  3. 更新所有内部链接(导航、交叉引用)
  4. 更新上游 BRD 链接:../01_BRD/ → ../../01_BRD/
  5. 将所有词汇表链接更新为正确路径

错误代码:

代码严重性描述
REV-STR001错误PRD 未放在嵌套文件夹中(阻止继续)
REV-STR002错误PRD 文件夹名称与 PRD ID 不匹配
REV-STR003警告单体 PRD 应拆分为多个章节(>25KB)
REV-STR004错误嵌套文件夹中的 BRD 链接路径不正确

此项检查会阻止后续流程——PRD 必须通过结构验证,才能继续其他检查。


10. 上游漂移检测(强制缓存)

检测上游源文档是否在 PRD 创建或上次更新后发生了修改。漂移缓存为必需项——审阅者每次审阅后都必须创建或更新缓存。

目的:识别可能未反映当前 BRD 文档的过时 PRD 内容。上游文档(BRD 规范、业务需求)发生变更时,可能需要更新 PRD 以保持一致。

范围:

  • @ref: 标签目标(BRD 文档、技术规范)
  • @brd: 标签引用
  • 可追溯性章节中的上游工件链接
  • 任何指向 ../01_BRD/ 或源文档的 Markdown 链接

10.1 漂移缓存文件(必需)

位置:docs/02_PRD/{PRD_folder}/.drift_cache.json

重要:审阅者必须:

  1. 如果缓存存在,则读取缓存(用于比较哈希值)
  2. 如果缓存不存在,则创建缓存
  3. 每次审阅后都使用当前哈希值更新缓存

缓存架构:

{
  "schema_version": "1.0",
  "document_id": "PRD-01",
  "document_version": "1.0",
  "last_reviewed": "2026-02-10T17:00:00",
  "reviewer_version": "1.4",
  "upstream_documents": {
    "../../01_BRD/BRD-01_f1_iam/BRD-01.md": {
      "hash": "sha256:a1b2c3d4e5f6g7h8i9j0...",
      "last_modified": "2026-02-10T15:34:26",
      "file_size": 50781,
      "version": "1.0",
      "sections_tracked": ["#7-functional-requirements", "#8-non-functional-requirements"]
    },
    "../../01_BRD/BRD-01_f1_iam/BRD-01.7_functional_requirements.md": {
      "hash": "sha256:k1l2m3n4o5p6q7r8s9t0...",
      "last_modified": "2026-02-10T15:34:21",
      "file_size": 4730,
      "version": "1.0",
      "sections_tracked": ["#authentication", "#authorization"]
    }
  },
  "review_history": [
    {
      "date": "2026-02-10T16:30:00",
      "score": 97,
      "drift_detected": false,
      "report_version": "v002"
    }
  ]
}

10.2 检测算法(三个阶段)
PHASE 1: Load Cache (if exists)
=========================================
1. Check for .drift_cache.json in PRD folder
2. If exists:
   - Load cached hashes and metadata
   - Set detection_mode = "hash_comparison"
3. If not exists:
   - Set detection_mode = "timestamp_only"
   - Will create cache at end of review

PHASE 2: Detect Drift
=========================================
For each upstream reference in PRD:

  A. Extract reference:
     - @ref: tags → [path, section anchor]
     - @brd: tags → [BRD ID, requirement ID]
     - Links to ../01_BRD/ → [path]
     - Traceability table upstream artifacts → [path]

  B. Resolve and validate:
     - Resolve path to absolute file path
     - Check file exists (skip if covered by Check #1)
     - Get file stats: mtime, size

  C. Compare (based on detection_mode):

     IF detection_mode == "hash_comparison":
       - Compute SHA-256 hash of current file content
       - Compare to cached hash
       - IF hash differs:
           - Calculate change_percentage
           - Flag as CONTENT_DRIFT (REV-D002)
           - IF change > 20%: Flag as CRITICAL (REV-D005)

     ELSE (timestamp_only):
       - Compare file mtime > PRD last_updated
       - IF mtime > PRD date:
           - Flag as TIMESTAMP_DRIFT (REV-D001)

  D. Check version field (if YAML frontmatter):
     - Extract version from upstream doc
     - Compare to cached version
     - IF version incremented: Flag REV-D003

PHASE 3: Update Cache (MANDATORY)
=========================================
1. Compute SHA-256 hash for ALL upstream documents
2. Create/update .drift_cache.json with:
   - Current hashes
   - Current timestamps
   - Current file sizes
   - Review metadata
3. Append to review_history array

10.3 哈希计算(必须执行 BASH 命令)

关键:必须执行实际的 bash 命令来计算哈希值。不要写入 verified_no_drift 或 pending_verification 之类的占位值。

10.3.1 计算文件哈希值

对每份上游文档执行此 bash 命令:

sha256sum <file_path> | cut -d' ' -f1

将结果存入漂移缓存,格式为:"hash": "sha256:<64_hex_characters>"

10.3.2 哈希格式验证
检查项要求
前缀必须为 sha256:
长度前缀后必须恰好有 64 个十六进制字符
字符只能包含 [0-9a-f]

拒绝的值(如发现,应立即重新计算):

  • sha256:verified_no_drift
  • sha256:pending_verification
  • pending_verification
  • sha256:TBD
  • 十六进制部分长度不等于 64 个字符的任何值
10.3.3 写入缓存后的验证
# Verify all hashes in cache are valid
grep -oP '"hash":\s*"sha256:[0-9a-f]{64}"' .drift_cache.json
# Must return valid matches for all upstream docs
10.3.4 章节哈希计算

对于锚点特定的跟踪,先提取章节内容,再计算哈希值:

# Extract section and compute hash
sed -n '/^## Section Name/,/^## /p' <file_path> | head -n -1 | sha256sum | cut -d' ' -f1

10.4 错误代码
代码严重性描述触发条件
REV-D001警告PRD 创建后上游文档已修改mtime > PRD 日期(无缓存)
REV-D002警告引用的内容已更改哈希值不匹配(有缓存)
REV-D003信息上游文档版本号已递增版本字段已更改
REV-D004信息上游新增了内容文件大小增加 >10%
REV-D005错误发生重大修改(变更 >20%)哈希差异 >20%
REV-D006信息已创建缓存(首次审阅)之前不存在缓存
REV-D009错误检测到无效的哈希占位符哈希值为 verified_no_drift、pending_verification 或格式无效

10.5 报告输出
## 9. Upstream Drift Detection (5/5)

### Cache Status

| Field | Value |
|-------|-------|
| Cache File | `.drift_cache.json` |
| Cache Status | ✅ Updated |
| Detection Mode | Hash Comparison |
| Documents Tracked | 2 |

### Upstream Document Analysis

| Upstream Document | Hash Status | Last Modified | Change % | Status |
|-------------------|-------------|---------------|----------|--------|
| BRD-01.md | ✅ Match | 2026-02-10T15:34:26 | 0% | Current |
| BRD-01.7_functional_requirements.md | ✅ Match | 2026-02-10T15:34:21 | 0% | Current |

### Drift Summary

| Status | Count | Details |
|--------|-------|---------|
| ✅ Current | 2 | All upstream documents synchronized |
| ⚠️ Warning | 0 | No drift detected |
| ❌ Critical | 0 | No major changes |

**Cache updated**: 2026-02-10T17:00:00

10.6 配置
设置默认值描述
cache_enabledtrue必需——始终创建或更新缓存
drift_threshold_days7时间戳漂移达到警告级别前的天数
critical_change_pct20重大漂移的变更百分比
track_sectionstrue跟踪锚点引用的单个章节哈希值
max_history_entries10保留的 review_history 条目数上限

评审评分计算

评分公式:

类别权重计算方式
链接完整性10%(valid_links / total_links) × 10
阈值一致性10%(consistent_thresholds / total_thresholds) × 10
BRD 对齐度18%(aligned_requirements / total_requirements) × 18
占位符检测10%(no_placeholders ? 10 : 10 - (placeholder_count × 2))
可追溯性标签10%(valid_tags / total_tags) × 10
章节完整性10%(complete_sections / total_sections) × 10
客户内容5%(exists && substantive ? 5 : 0)
命名合规性10%(valid_ids / total_ids) × 10
结构合规性12%(nested_folder_valid ? 12 : 0) - 阻断性检查
上游偏移5%(fresh_refs / total_refs) × 5

总计:所有类别得分之和(最高 100 分)

注意:结构合规性是阻断性检查。如果结构验证失败(REV-STR001),无论其他得分如何,评审都无法通过。

阈值:

  • 通过:≥ 90(可配置)
  • 警告:80-89
  • 失败:< 80

命令用法

基本用法
# Review specific PRD
/doc-prd-reviewer PRD-01

# Review PRD by path
/doc-prd-reviewer docs/02_PRD/PRD-01_f1_iam/

# Review all PRDs
/doc-prd-reviewer all
选项
选项默认值描述
--min-score90评审通过的最低分数
--auto-fixtrue应用自动修复
--no-auto-fixfalse禁用自动修复(仅报告)
--checkall要运行的特定检查(以逗号分隔)
--skipnone要跳过的检查(以逗号分隔)
--verbosefalse显示每项检查的详细输出
--reporttrue生成 Markdown 报告
--report-pathauto报告位置(auto = 与文档放在同一目录)
--versionauto评审版本(auto = 自动递增)
示例
# Review with verbose output
/doc-prd-reviewer PRD-01 --verbose

# Report only (no auto-fix)
/doc-prd-reviewer PRD-01 --no-auto-fix

# Run only specific checks
/doc-prd-reviewer PRD-01 --check links,placeholders

# Skip customer content check
/doc-prd-reviewer PRD-01 --skip customer

# Lower threshold for draft review
/doc-prd-reviewer PRD-01 --min-score 80

配置

# config/prd_reviewer.yaml
prd_reviewer:
  version: "1.0"

  scoring:
    min_score: 90
    weights:
      link_integrity: 15
      threshold_consistency: 20
      brd_alignment: 25
      placeholder_detection: 15
      traceability_tags: 10
      section_completeness: 10
      customer_content: 5

  checks:
    links:
      enabled: true
      check_external: false
      auto_fix: true
    thresholds:
      enabled: true
      source_priority: brd  # brd or prd
      auto_fix: true
    alignment:
      enabled: true
      allow_orphans: false
      require_deferral_notes: true
    placeholders:
      enabled: true
      patterns:
        - "[TODO]"
        - "[TBD]"
        - "[PLACEHOLDER]"
        - "YYYY-MM-DDTHH:MM:SS"
        - "[Name]"
      auto_fix_dates: true
      auto_fix_names: true
    traceability:
      enabled: true
      allow_forward_refs: true
      auto_fix_typos: true
    completeness:
      enabled: true
      min_words:
        executive_summary: 100
        problem_statement: 75
        functional_requirements: 200
        quality_attributes: 100
        customer_content: 100
        risk_assessment: 75
        appendices: 200
    customer:
      enabled: true
      flag_always: true
      jargon_patterns:
        - "OIDC"
        - "mTLS"
        - "JWT"
        - "4D Matrix"

  output:
    report_format: markdown
    report_path: auto  # auto = alongside reviewed document
    versioning:
      enabled: true
      pattern: "_vNNN"  # e.g., _v001, _v002
      auto_increment: true
    include_line_numbers: true
    include_fix_diff: true
    include_delta_report: true  # Compare with previous version

输出报告

文件命名与版本控制

格式:PRD-NN.R_review_report_vNNN.md

嵌套文件夹规则:所有 PRD 均使用嵌套文件夹(PRD-NN_{slug}/),无论大小。这样可以确保评审报告、修复报告和偏移缓存文件与其父文档一同整理。

位置:PRD 嵌套文件夹内:docs/02_PRD/PRD-NN_{slug}/

版本控制规则:

  1. 首次评审:创建 PRD-NN.R_review_report_v001.md
  2. 后续评审:版本号自动递增(v002、v003 等)
  3. 同日评审:每次评审都会获得唯一版本号

目录示例:

docs/02_PRD/PRD-01_f1_iam/
├── PRD-01.md
├── PRD-01.R_review_report_v001.md    # First review
├── PRD-01.R_review_report_v002.md    # After fixes
└── PRD-01.R_review_report_v003.md    # Final review
报告结构
# PRD Review Report: PRD-01 (v003)

**Review Date**: 2026-02-08T14:30:00
**Review Version**: v003
**PRD**: PRD-01 (F1 Identity & Access Management)
**Status**: PASS
**Review Score**: 95/100

---

## Summary

| Check | Status | Score | Issues |
|-------|--------|-------|--------|
| Link Integrity | PASS | 15/15 | 0 |
| Threshold Consistency | PASS | 20/20 | 0 |
| BRD Alignment | PASS | 23/25 | 2 deferred |
| Placeholder Detection | PASS | 15/15 | 0 |
| Traceability Tags | PASS | 10/10 | 0 |
| Section Completeness | PASS | 10/10 | 0 |
| Customer Content | FLAG | 2/5 | Needs review |
| **Total** | **PASS** | **95/100** | |

---

## Issues Detail

### Flagged for Manual Review

| File | Line | Issue | Code |
|------|------|-------|------|
| PRD-01.10_customer_content.md | 42 | Technical jargon: "4D Matrix" | REV-C003 |
| PRD-01.10_customer_content.md | 58 | Technical jargon: "OIDC" | REV-C003 |
| PRD-01.10_customer_content.md | - | Requires marketing review | REV-C004 |

### Auto-Fixes Applied

| File | Line | Fix | Code |
|------|------|-----|------|
| PRD-01.1_document_control.md | 15 | Date: YYYY-MM-DDTHH:MM:SS → 2026-02-08T14:30:00 | REV-P003 |

### Deferred Items (Acceptable)

| Requirement | Reason | Note |
|-------------|--------|------|
| BRD.01.0110 | Device Trust | Marked P3, next cycle |
| BRD.01.0112 | Time-Based Access | Marked P3, next cycle |

---

## Recommendations

1. **Section 10 Review**: Schedule marketing review for customer-facing content
2. **Technical Terms**: Consider adding glossary link for "4D Matrix", "OIDC"
3. **Deferred Items**: Confirm P3 priority with stakeholders

---

**Generated By**: doc-prd-reviewer v1.1
**Report Location**: docs/02_PRD/PRD-01_f1_iam/PRD-01.R_review_report_v003.md
**Previous Review**: v002 (Score: 91/100)
差异报告

如果存在之前的评审,则包含得分比较:

## Score Comparison (v002 → v003)

| Metric | Previous (v002) | Current (v003) | Delta |
|--------|-----------------|----------------|-------|
| Overall Score | 91 | 95 | +4 |
| Errors | 2 | 0 | -2 |
| Warnings | 5 | 3 | -2 |
| Issues Resolved | - | 4 | - |
| New Issues | - | 0 | - |

完整的版本控制要求请参阅 REVIEW_DOCUMENT_STANDARDS.md。


与 doc-prd-autopilot 集成

此技能会在 doc-prd-autopilot 的第 5 阶段自动调用:

flowchart LR
    A[Phase 4: Validation] --> B[Phase 5: Final Review]
    B --> C{doc-prd-reviewer}
    C --> D[Phase 6: Continue]

Autopilot 集成:

# In doc-prd-autopilot config
review:
  enabled: true
  skill: doc-prd-reviewer
  options:
    min_score: 90
    auto_fix: true
    flag_customer_content: true

单独使用与集成使用

使用场景命令备注
自动流程之后自动在第 5 阶段调用
手动编辑 PRD/doc-prd-reviewer PRD-01显式运行
EARS 检查之前/doc-prd-reviewer PRD-01在 EARS 之前验证
定期审计/doc-prd-reviewer all评审所有 PRD

错误恢复

常见问题
错误原因解决方法
PRDNotFoundErrorPRD 路径无效检查路径或 PRD ID
BRDNotFoundError缺少 BRD 源文件确认存在用于对齐检查的 BRD
LowScoreError得分低于阈值修复已标记的问题
恢复命令
# Re-run after fixes
/doc-prd-reviewer PRD-01

# Run with lower threshold (for drafts)
/doc-prd-reviewer PRD-01 --min-score 75

# Skip failing check temporarily
/doc-prd-reviewer PRD-01 --skip alignment

相关技能

技能关系
doc-namingCheck #8 的命名规范
doc-prd-autopilot在 Phase 5 调用此技能
doc-prd-validator结构验证(Phase 4)
doc-prd-fixer根据审查结果应用修复
doc-prd-audit包装器,将此审查器的输出与验证器结果相结合
doc-prdPRD 创建规则
doc-brd-auditBRD 源验证(统一质量门禁)
doc-ears-autopilot下游使用方

版本历史

版本日期变更
2.02026-03-02已弃用:作为 2-skill 模型标准化的一部分,已合并到 doc-prd-audit。请改用 doc-prd-audit。
1.92026-03-012-Skill BRD 模型:将 BRD 验证引用从 doc-brd-validator 更新为 doc-brd-audit(统一质量门禁)
1.82026-02-27哈希计算修复:将 Python 伪代码替换为必须执行的 bash sha256sum;添加哈希验证(REV-D009);拒绝占位值(verified_no_drift、pending_verification)
1.72026-02-26将 frontmatter 迁移到 metadata 架构;记录与 doc-prd-audit 包装器的关系
1.62026-02-11编号修复:将 Check #10 的子节从 9.1-9.6 更正为 10.1-10.6(漂移缓存、检测算法、哈希计算、错误代码、报告输出、配置)
1.52026-02-11结构合规性:添加 Check #9,用于强制执行嵌套文件夹规则(REV-STR001-STR004);将上游漂移移至 Check #10;将结构合规性纳入评分(权重 12%,阻断项);将工作流图更新为 10 项检查
1.42026-02-10T17:00:00强制漂移缓存:审查器每次审查后都必须创建/更新 .drift_cache.json;三阶段检测算法;SHA-256 哈希计算;存在缓存时采用哈希比较模式;用于创建缓存的 REV-D006 代码;包含 review_history 跟踪的缓存架构
1.32026-02-10添加 Check #9:上游漂移检测——检测 PRD 创建后 BRD 文档是否发生修改;REV-D001-D005 错误代码;漂移配置;将 doc-prd-fixer 添加到相关技能
1.22026-02-10添加审查版本控制支持(_vNNN 模式);提供分数比较的差异报告
1.12026-02-08添加 Check #8:命名合规性(集成 doc-naming)
1.02026-02-08初始技能创建,包含 7 项审查检查

实施计划一致性(IPLAN-004)

  • 将基于计划的输出视为有效的源模式,并根据实施计划的范围/目标验证意图是否得到保留。
  • 验证上游自动驾驶的优先级假设:--iplan > --ref > --prompt。
  • 将计划上下文与产出物输出之间的目标/范围冲突标记为需要澄清的阻断问题。
  • 不要引入 docs-v2.0/00_REF 等旧版回退路径。

评论

支持 Markdown