doc-prd-reviewer

DEPRECATED (2026-03-02): This skill has been merged into doc-prd-audit as part of the 2-skill model standardization. Use doc-prd-audit for all PRD review needs. This file is retained for reference only.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "doc-prd-reviewer" with this command: npx skills add vladm3105/aidoc-flow-framework/vladm3105-aidoc-flow-framework-doc-prd-reviewer

doc-prd-reviewer

DEPRECATED (2026-03-02): This skill has been merged into doc-prd-audit as part of the 2-skill model standardization. Use doc-prd-audit for all PRD review needs. This file is retained for reference only.

Replacement: /doc-prd-audit

Migration: No action required. Simply use doc-prd-audit instead of this skill.

Legacy Documentation (Reference Only)

Purpose

Comprehensive content review and quality assurance for Product Requirements Documents (PRD). This skill performs deep content analysis beyond structural validation, checking link integrity, threshold consistency, BRD alignment, and identifying issues that require manual business review.

Layer: 2 (PRD Quality Assurance)

Upstream: PRD (from doc-prd-autopilot or doc-prd )

Downstream: None (final QA gate before EARS generation)

When to Use This Skill

Use doc-prd-reviewer when:

  • After PRD Generation: Run immediately after doc-prd-autopilot completes

  • Manual PRD Edits: After making manual changes to a PRD

  • Pre-EARS Check: Before running doc-ears-autopilot

  • Periodic Review: Regular quality checks on existing PRDs

  • CI/CD Integration: Automated review gate in documentation pipelines

Do NOT use when:

  • PRD does not exist yet (use doc-prd or doc-prd-autopilot first)

  • Need structural/schema validation only (use doc-prd-validator )

  • Generating new PRD content (use doc-prd )

Skill vs Validator: Key Differences

Aspect doc-prd-validator

doc-prd-reviewer

Focus Schema compliance, EARS-Ready score Content quality, cross-document consistency

Checks Required sections, field formats Link integrity, threshold alignment, placeholders

Auto-Fix Structural issues only Content issues (links, dates, placeholders)

Output EARS-Ready score (numeric) Review score + issue list

Phase Phase 4 (Validation) Phase 5 (Final Review)

Blocking EARS-Ready < threshold blocks Review score < threshold flags

Review Workflow

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]

Review Checks

  1. Link Integrity

Validates all internal document links resolve correctly.

Scope:

  • Navigation links ([Previous: ...] , [Next: ...] )

  • Section cross-references (See Section 8.2 )

  • Index to section links

  • External documentation links (warns if unreachable)

Detection:

Scanning PRD-01 for internal links... ├── PRD-01.0_index.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

Auto-Fix:

  • Remove broken links to non-existent sections

  • Correct path typos if target exists with similar name

  • Update relative paths if file was moved

Error Codes:

Code Severity Description

REV-L001 Error Broken internal link

REV-L002 Warning External link unreachable

REV-L003 Info Link path uses absolute instead of relative

  1. Threshold Consistency

Verifies performance metrics match across all sections.

Scope:

  • Section 5 (Success Metrics) thresholds

  • Section 9 (Quality Attributes) performance targets

  • Section 17/20 (Appendix B.1) timing profile matrix

  • Cross-references to BRD thresholds

Detection:

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

Auto-Fix:

  • Align PRD values to BRD source (authoritative)

  • Update all sections to use consistent value

  • Add comment noting auto-fix with timestamp

Error Codes:

Code Severity Description

REV-T001 Error Threshold mismatch across PRD sections

REV-T002 Error Threshold differs from BRD source

REV-T003 Warning Threshold unit inconsistency (ms vs s)

REV-T004 Info Threshold stricter than BRD (acceptable)

2a. Diagram Contract Compliance

Validates PRD diagram contract requirements defined by ai_dev_ssd_flow/DIAGRAM_STANDARDS.md .

Scope:

  • Required PRD tags: @diagram: c4-l2 , @diagram: dfd-l1 , @diagram: sequence-*

  • Required sequence error/alternate path coverage for critical journeys

  • Intent header fields: diagram_type , level , scope_boundary , upstream_refs , downstream_refs

Error Codes:

Code Severity Description

REV-DC001 Error Missing required PRD diagram tag (c4-l2 , dfd-l1 , or sequence-* )

REV-DC002 Error Required sequence flow missing explicit exception path

REV-DC003 Warning Diagram intent header missing required fields

  1. BRD Alignment

Validates PRD requirements accurately reflect BRD source.

Scope:

  • Every PRD requirement maps to a BRD requirement

  • No orphaned requirements (PRD without BRD source)

  • No missing requirements (BRD without PRD mapping)

  • Scope boundaries match

Detection:

Verifying PRD requirements map to BRD source... ├── PRD.01.01.01 → BRD.01.01.01 (Multi-Provider Auth) ✓ ├── PRD.01.01.02 → BRD.01.01.02 (4D Authorization) ✓ ├── PRD.01.01.03 → BRD.01.01.03 (Trust Levels) ✓ ├── PRD.01.01.09 → ??? ✗ NO BRD MAPPING ├── BRD.01.01.10 → ??? ✗ 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)

Manual Review Required:

  • Orphaned requirements need justification

  • Missing requirements need explicit deferral note

  • Scope mismatches need business decision

Error Codes:

Code Severity Description

REV-A001 Error PRD requirement without BRD source

REV-A002 Warning BRD requirement without PRD mapping

REV-A003 Error Scope mismatch (PRD vs BRD)

REV-A004 Info Requirement correctly marked as deferred

  1. Placeholder Detection

Identifies incomplete content requiring replacement.

Scope:

  • [TODO] , [TBD] , [PLACEHOLDER] text

  • Template dates: YYYY-MM-DDTHH:MM:SS , MM/DD/YYYY

  • Template names: [Name] , [Author] , [Reviewer]

  • Empty sections: <!-- Content here -->

  • Lorem ipsum or sample text

Detection:

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

Auto-Fix:

  • Replace YYYY-MM-DDTHH:MM:SS with current datetime

  • Replace [Name] with document author from metadata

  • Remove empty comment placeholders

  • Flag [TODO] /[TBD] for manual completion

Error Codes:

Code Severity Description

REV-P001 Error [TODO] placeholder found

REV-P002 Error [TBD] placeholder found

REV-P003 Warning Template date not replaced

REV-P004 Warning Template name not replaced

REV-P005 Warning Empty section content

  1. Traceability Tags

Validates @brd: , @depends: , and @discoverability: tags.

Scope:

  • All @brd: BRD.XX.XX.XX tags reference valid BRD IDs

  • @depends: PRD-XX references exist

  • @discoverability: PRD-XX references exist

  • Tag format follows convention

Detection:

Validating traceability tags... ├── @brd tags: 15 found │ ├── BRD.01.01.01 ✓ (exists in BRD-01) │ ├── BRD.01.01.02 ✓ │ ├── BRD.01.99.01 ✗ 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)

Auto-Fix:

  • Remove invalid @brd tags

  • Correct typos in tag IDs if close match exists

  • Add (planned) suffix to forward references

Error Codes:

Code Severity Description

REV-TR001 Error @brd tag references non-existent BRD ID

REV-TR002 Warning @depends references non-existent PRD

REV-TR003 Info @discoverability is forward reference

REV-TR004 Warning Tag format malformed

  1. Section Completeness

Verifies all required sections have substantive content.

Scope:

  • Minimum word count per section (configurable)

  • Section headers present

  • Tables have data rows (not just headers)

  • Mermaid diagrams render properly

Detection:

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

Minimum Word Counts (configurable):

Section Minimum Words

Executive Summary 100

Problem Statement 75

Functional Requirements 200

Quality Attributes 100

Customer Content 100

Risk Assessment 75

Appendices 200

Error Codes:

Code Severity Description

REV-S001 Error Required section missing entirely

REV-S002 Warning Section below minimum word count

REV-S003 Warning Table has no data rows

REV-S004 Error Mermaid diagram syntax error

  1. Customer Content Review

Flags Section 10 for mandatory business/marketing review.

Scope:

  • Section 10 (Customer-Facing Content) exists

  • Content is substantive (not placeholder)

  • Marketing language appropriate

  • No technical jargon in customer-facing text

Detection:

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)

Manual Review Required:

  • All Section 10 content requires business sign-off

  • Technical terms need customer-friendly alternatives

  • Messaging alignment with brand guidelines

Error Codes:

Code Severity Description

REV-C001 Error Section 10 missing

REV-C002 Warning Section 10 is placeholder content

REV-C003 Info Technical jargon in customer content

REV-C004 Flag Requires marketing/business review

  1. Naming Compliance

Validates element IDs and threshold tags follow doc-naming standards.

Scope:

  • Element IDs use PRD.NN.TT.SS format

  • Element type codes valid for PRD (01-09, 11, 22, 24)

  • Threshold tags use @threshold: PRD.NN.key format

  • No legacy patterns (US-NNN, FR-NNN, AC-NNN, F-NNN)

Detection:

Validating naming compliance (per doc-naming skill)... ├── Element IDs: 24 found │ ├── PRD.01.01.01 ✓ (valid format, code 01 valid for PRD) │ ├── PRD.01.09.05 ✓ (valid format, code 09 valid for PRD) │ ├── PRD.01.25.01 ✗ (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

Auto-Fix:

  • Convert legacy patterns to unified format

  • Add missing PRD.NN prefix to threshold tags

  • Suggest correct element type codes

Error Codes:

Code Severity Description

REV-N001 Error Invalid element ID format

REV-N002 Error Element type code not valid for PRD

REV-N003 Error Legacy pattern detected (US-NNN, FR-NNN, etc.)

REV-N004 Error Threshold tag missing document reference

REV-N005 Warning Threshold key format non-standard

Reference: See doc-naming skill for complete naming rules.

  1. Structure Compliance (CRITICAL)

Validates PRD follows the mandatory nested folder rule.

Nested Folder Rule: ALL PRDs MUST be in nested folders regardless of size.

Required Structure:

PRD Type Required Location

Monolithic docs/02_PRD/PRD-NN_{slug}/PRD-NN_{slug}.md

Sectioned docs/02_PRD/PRD-NN_{slug}/PRD-NN.0_index.md , PRD-NN.1_*.md , etc.

Detection:

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

Failure Detection:

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

Auto-Fix:

  • Create the nested folder docs/02_PRD/PRD-NN_{slug}/

  • Move the PRD file(s) into the folder

  • Update all internal links (navigation, cross-references)

  • Update upstream BRD links: ../01_BRD/ → ../../01_BRD/

  • Update any glossary links to correct path

Error Codes:

Code Severity Description

REV-STR001 Error PRD not in nested folder (blocking)

REV-STR002 Error PRD folder name doesn't match PRD ID

REV-STR003 Warning Monolithic PRD should be sectioned (>25KB)

REV-STR004 Error BRD link path incorrect for nested folder

This check is BLOCKING - PRD must pass structure validation before other checks proceed.

  1. Upstream Drift Detection (Mandatory Cache)

Detects when upstream source documents have been modified after the PRD was created or last updated. The drift cache is mandatory - the reviewer MUST create/update it after every review.

Purpose: Identifies stale PRD content that may not reflect current BRD documentation. When upstream documents (BRD specifications, business requirements) change, the PRD may need updates to maintain alignment.

Scope:

  • @ref: tag targets (BRD documents, technical specifications)

  • @brd: tag references

  • Traceability section upstream artifact links

  • Any markdown links to ../01_BRD/ or source documents

10.1 Drift Cache File (MANDATORY)

Location: docs/02_PRD/{PRD_folder}/.drift_cache.json

IMPORTANT: The reviewer MUST:

  • Read the cache if it exists (for hash comparison)

  • Create the cache if it doesn't exist

  • Update the cache after every review with current hashes

Cache Schema:

{ "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.0_index.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 Detection Algorithm (Three-Phase)

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 Hash Calculation (MANDATORY BASH EXECUTION)

CRITICAL: You MUST execute actual bash commands to compute hashes. DO NOT write placeholder values like verified_no_drift or pending_verification .

10.3.1 Compute File Hash

Execute this bash command for each upstream document:

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

Store result in drift cache as: "hash": "sha256:<64_hex_characters>"

10.3.2 Hash Format Validation

Check Requirement

Prefix Must be sha256:

Length Exactly 64 hex characters after prefix

Characters [0-9a-f] only

REJECTED VALUES (re-compute immediately if found):

  • sha256:verified_no_drift

  • sha256:pending_verification

  • pending_verification

  • sha256:TBD

  • Any value where hex portion != 64 characters

10.3.3 Verification After Cache Write

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 Section Hash Computation

For anchor-specific tracking, extract section content first then hash:

Extract section and compute hash

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

10.4 Error Codes

Code Severity Description Trigger

REV-D001 Warning Upstream document modified after PRD creation mtime > PRD date (no cache)

REV-D002 Warning Referenced content has changed hash mismatch (with cache)

REV-D003 Info Upstream document version incremented version field changed

REV-D004 Info New content added to upstream file size increased >10%

REV-D005 Error Critical modification (>20% change) hash diff >20%

REV-D006 Info Cache created (first review) no prior cache existed

REV-D009 Error Invalid hash placeholder detected hash is verified_no_drift , pending_verification , or invalid format

10.5 Report Output

9. Upstream Drift Detection (5/5)

Cache Status

FieldValue
Cache File.drift_cache.json
Cache Status✅ Updated
Detection ModeHash Comparison
Documents Tracked2

Upstream Document Analysis

Upstream DocumentHash StatusLast ModifiedChange %Status
BRD-01.0_index.md✅ Match2026-02-10T15:34:260%Current
BRD-01.7_functional_requirements.md✅ Match2026-02-10T15:34:210%Current

Drift Summary

StatusCountDetails
✅ Current2All upstream documents synchronized
⚠️ Warning0No drift detected
❌ Critical0No major changes

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

10.6 Configuration

Setting Default Description

cache_enabled

true Mandatory - always create/update cache

drift_threshold_days

7 Days before timestamp drift becomes Warning

critical_change_pct

20 Percentage change for critical drift

track_sections

true Track individual section hashes for anchored refs

max_history_entries

10 Maximum review_history entries to retain

Review Score Calculation

Scoring Formula:

Category Weight Calculation

Link Integrity 10% (valid_links / total_links) × 10

Threshold Consistency 10% (consistent_thresholds / total_thresholds) × 10

BRD Alignment 18% (aligned_requirements / total_requirements) × 18

Placeholder Detection 10% (no_placeholders ? 10 : 10 - (placeholder_count × 2))

Traceability Tags 10% (valid_tags / total_tags) × 10

Section Completeness 10% (complete_sections / total_sections) × 10

Customer Content 5% (exists && substantive ? 5 : 0)

Naming Compliance 10% (valid_ids / total_ids) × 10

Structure Compliance 12% (nested_folder_valid ? 12 : 0) - BLOCKING

Upstream Drift 5% (fresh_refs / total_refs) × 5

Total: Sum of all categories (max 100)

Note: Structure Compliance is a blocking check. If structure validation fails (REV-STR001), the review cannot pass regardless of other scores.

Thresholds:

  • PASS: ≥ 90 (configurable)

  • WARNING: 80-89

  • FAIL: < 80

Command Usage

Basic Usage

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

Options

Option Default Description

--min-score

90 Minimum passing review score

--auto-fix

true Apply automatic fixes

--no-auto-fix

false Disable auto-fix (report only)

--check

all Specific checks to run (comma-separated)

--skip

none Checks to skip (comma-separated)

--verbose

false Detailed output per check

--report

true Generate markdown report

--report-path

auto Report location (auto = alongside document)

--version

auto Review version (auto = auto-increment)

Examples

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

Configuration

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

Output Report

File Naming & Versioning

Pattern: PRD-NN.R_review_report_vNNN.md

Nested Folder Rule: ALL PRDs use nested folders (PRD-NN_{slug}/ ) regardless of size. This ensures review reports, fix reports, and drift cache files are organized with their parent document.

Location: Inside the PRD nested folder: docs/02_PRD/PRD-NN_{slug}/

Versioning Rules:

  • First Review: Creates PRD-NN.R_review_report_v001.md

  • Subsequent Reviews: Auto-increments version (v002, v003, etc.)

  • Same-Day Reviews: Each review gets unique version number

Example Directory:

docs/02_PRD/PRD-01_f1_iam/ ├── PRD-01.0_index.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

Report Structure

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

CheckStatusScoreIssues
Link IntegrityPASS15/150
Threshold ConsistencyPASS20/200
BRD AlignmentPASS23/252 deferred
Placeholder DetectionPASS15/150
Traceability TagsPASS10/100
Section CompletenessPASS10/100
Customer ContentFLAG2/5Needs review
TotalPASS95/100

Issues Detail

Flagged for Manual Review

FileLineIssueCode
PRD-01.10_customer_content.md42Technical jargon: "4D Matrix"REV-C003
PRD-01.10_customer_content.md58Technical jargon: "OIDC"REV-C003
PRD-01.10_customer_content.md-Requires marketing reviewREV-C004

Auto-Fixes Applied

FileLineFixCode
PRD-01.1_document_control.md15Date: YYYY-MM-DDTHH:MM:SS → 2026-02-08T14:30:00REV-P003

Deferred Items (Acceptable)

RequirementReasonNote
BRD.01.01.10Device TrustMarked P3, next cycle
BRD.01.01.12Time-Based AccessMarked 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)

Delta Reporting

When previous reviews exist, include score comparison:

Score Comparison (v002 → v003)

MetricPrevious (v002)Current (v003)Delta
Overall Score9195+4
Errors20-2
Warnings53-2
Issues Resolved-4-
New Issues-0-

See REVIEW_DOCUMENT_STANDARDS.md for complete versioning requirements.

Integration with doc-prd-autopilot

This skill is automatically invoked during Phase 5 of doc-prd-autopilot :

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

Autopilot Integration:

In doc-prd-autopilot config

review: enabled: true skill: doc-prd-reviewer options: min_score: 90 auto_fix: true flag_customer_content: true

Standalone vs Integrated Use

Use Case Command Notes

After autopilot Automatic Invoked as Phase 5

Manual PRD edit /doc-prd-reviewer PRD-01

Run explicitly

Pre-EARS check /doc-prd-reviewer PRD-01

Verify before EARS

Periodic audit /doc-prd-reviewer all

Review all PRDs

Error Recovery

Common Issues

Error Cause Resolution

PRDNotFoundError

PRD path invalid Check path or PRD ID

BRDNotFoundError

BRD source missing Verify BRD exists for alignment check

LowScoreError

Score below threshold Fix flagged issues

Recovery Commands

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

Related Skills

Skill Relationship

doc-naming

Naming standards for Check #8

doc-prd-autopilot

Invokes this skill in Phase 5

doc-prd-validator

Structural validation (Phase 4)

doc-prd-fixer

Applies fixes based on review findings

doc-prd-audit

Wrapper that combines this reviewer output with validator findings

doc-prd

PRD creation rules

doc-brd-audit

BRD source validation (unified quality gate)

doc-ears-autopilot

Downstream consumer

Version History

Version Date Changes

2.0 2026-03-02 DEPRECATED: Merged into doc-prd-audit as part of 2-skill model standardization. Use doc-prd-audit instead.

1.9 2026-03-01 2-Skill BRD Model: Updated BRD validation references from doc-brd-validator to doc-brd-audit (unified quality gate)

1.8 2026-02-27 Hash Computation Fix: Replaced Python pseudocode with mandatory bash sha256sum execution; Added hash validation (REV-D009); Reject placeholder values (verified_no_drift , pending_verification )

1.7 2026-02-26 Migrated frontmatter to metadata schema; documented relationship with doc-prd-audit wrapper

1.6 2026-02-11 Numbering Fix: Corrected Check #10 subsections from 9.1-9.6 to 10.1-10.6 (drift cache, detection algorithm, hash calculation, error codes, report output, configuration)

1.5 2026-02-11 Structure Compliance: Added Check #9 for nested folder rule enforcement (REV-STR001-STR004); Shifted Upstream Drift to Check #10; Added structure compliance to scoring (12% weight, blocking); Updated workflow diagram to 10 checks

1.4 2026-02-10T17:00:00 Mandatory drift cache: Reviewer MUST create/update .drift_cache.json after every review; Three-phase detection algorithm; SHA-256 hash computation; Hash comparison mode when cache exists; REV-D006 code for cache creation; Cache schema with review_history tracking

1.3 2026-02-10 Added Check #9: Upstream Drift Detection - detects when BRD documents modified after PRD creation; REV-D001-D005 error codes; drift configuration; Added doc-prd-fixer to related skills

1.2 2026-02-10 Added review versioning support (_vNNN pattern); Delta reporting for score comparison

1.1 2026-02-08 Added Check #8: Naming Compliance (doc-naming integration)

1.0 2026-02-08 Initial skill creation with 7 review checks

Implementation Plan Consistency (IPLAN-004)

  • Treat plan-derived outputs as valid source mode and verify intent preservation from implementation plan scope/objectives.

  • Validate upstream autopilot precedence assumption: --iplan > --ref > --prompt .

  • Flag objective/scope conflicts between plan context and artifact output as blocking issues requiring clarification.

  • Do not introduce legacy fallback paths such as docs-v2.0/00_REF .

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

security-audit

No summary provided by upstream source.

Repository SourceNeeds Review
Security

doc-prd-audit

No summary provided by upstream source.

Repository SourceNeeds Review
Security

doc-brd-audit

No summary provided by upstream source.

Repository SourceNeeds Review
Security

doc-bdd-audit

No summary provided by upstream source.

Repository SourceNeeds Review