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. 01PRDのリンクとしきい値の相互確認
  2. 02BRD要件との整合性チェック
  3. 03プレースホルダーと未完了セクションの検出
  4. 04トレーサビリティタグと命名の確認
  5. 05顧客向け内容の業務レビューを提示

活用シーン

  1. 01編集後の既存PRDの再確認
  2. 02EARS生成前の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 対応スコアコンテンツ品質、ドキュメント間の一貫性
チェック項目必須セクション、フィールド形式リンクの整合性、しきい値の整合性、プレースホルダー
自動修正構造上の問題のみコンテンツ上の問題(リンク、日付、プレースホルダー)
出力EARS 対応スコア(数値)レビュースコア+問題一覧
フェーズフェーズ 4(検証)フェーズ 5(最終レビュー)
ブロック条件EARS 対応スコアがしきい値未満の場合はブロックレビュースコアがしきい値未満の場合はフラグを付ける

レビューワークフロー

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エラーBRDのソースがないPRD要件
REV-A002警告PRDに対応付けられていないBRD要件
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 の参照先が存在すること
  • @discoverability: PRD-XX の参照先が存在すること
  • タグの形式が規約に従っていること

検出:

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-S001Error必須セクションが完全に欠落しています
REV-S002Warningセクションが最小語数を下回っています
REV-S003Warning表にデータ行がありません
REV-S004ErrorMermaid 図の構文エラー

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-C001Errorセクション 10 がありません
REV-C002Warningセクション 10 がプレースホルダーの内容です
REV-C003Info顧客向けコンテンツに技術用語が含まれています
REV-C004Flagマーケティング/ビジネスレビューが必要です

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-N001Error要素 ID の形式が無効です
REV-N002ErrorPRD で無効な要素タイプコードです
REV-N003Errorレガシーパターンが検出されました(US-NNN、FR-NNN など)
REV-N004Errorしきい値タグにドキュメント参照がありません
REV-N005Warningしきい値キーの形式が標準に準拠していません

参照:命名規則の詳細については、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-STR001ErrorPRD がネストフォルダ内にありません(ブロッキング)
REV-STR002ErrorPRD フォルダ名が PRD ID と一致しません
REV-STR003Warningモノリシック PRD はセクション分割する必要があります(>25KB)
REV-STR004Errorネストフォルダに対する 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 検出アルゴリズム(3 フェーズ)
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 個の 16 進文字があること
文字[0-9a-f] のみ

無効な値(見つかった場合は直ちに再計算してください):

  • sha256:verified_no_drift
  • sha256:pending_verification
  • pending_verification
  • sha256:TBD
  • 16 進数部分が 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 date(キャッシュなし)
REV-D002警告参照先の内容が変更されたハッシュ不一致(キャッシュあり)
REV-D003情報上流文書のバージョンが更新されたversion フィールドの変更
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各チェックの詳細な出力
--reporttrueMarkdown レポートを生成します
--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. 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]

オートパイロットとの統合:

# 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-01EARS の前に検証します
定期監査/doc-prd-reviewer allすべての PRD をレビューします

エラーからの復旧

よくある問題
エラー原因解決方法
PRDNotFoundErrorPRD のパスが無効ですパスまたは PRD ID を確認します
BRDNotFoundErrorBRD のソースがありません整合性チェック用の 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-namingチェック #8 の命名規則
doc-prd-autopilotフェーズ 5 でこのスキルを呼び出します
doc-prd-validator構造検証(フェーズ 4)
doc-prd-fixerレビュー結果に基づいて修正を適用します
doc-prd-auditこのレビュー出力と検証結果を統合するラッパー
doc-prdPRD 作成ルール
doc-brd-auditBRD ソース検証(統合品質ゲート)
doc-ears-autopilot後続の利用側

バージョン履歴

バージョン日付変更内容
2.02026-03-02非推奨:2 スキルモデルの標準化の一環として doc-prd-audit に統合されました。代わりに doc-prd-audit を使用してください。
1.92026-03-012 スキル 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フロントマターを metadata スキーマに移行しました。doc-prd-audit ラッパーとの関係を記載しました
1.62026-02-11番号の修正:チェック #10 のサブセクションを 9.1~9.6 から 10.1~10.6 に修正しました(ドリフトキャッシュ、検出アルゴリズム、ハッシュ計算、エラーコード、レポート出力、設定)
1.52026-02-11構造準拠:ネストしたフォルダのルール適用に関するチェック #9 を追加しました(REV-STR001-STR004)。上流ドリフトをチェック #10 に移動しました。スコアリングに構造準拠を追加しました(重み 12%、ブロッキング)。ワークフロー図を 10 チェックに更新しました
1.42026-02-10T17:00:00ドリフトキャッシュの必須化:レビュアーはレビューのたびに .drift_cache.json を作成/更新する必要があります。3 フェーズの検出アルゴリズムを追加しました。SHA-256 ハッシュ計算を追加しました。キャッシュがある場合のハッシュ比較モードを追加しました。キャッシュ作成用の REV-D006 コードを追加しました。review_history の追跡を含むキャッシュスキーマを追加しました
1.32026-02-10チェック #9「上流ドリフト検出」を追加しました。PRD 作成後に BRD ドキュメントが変更された場合に検出します。REV-D001-D005 エラーコード、ドリフト設定、関連スキルへの doc-prd-fixer の追加を行いました
1.22026-02-10レビューのバージョン管理(_vNNN パターン)を追加しました。スコア比較用の差分レポートを追加しました
1.12026-02-08チェック #8「命名準拠」を追加しました(doc-naming との統合)
1.02026-02-087 つのレビュー項目で初期スキルを作成

実装計画との整合性(IPLAN-004)

  • 計画から導出された出力を有効なソースモードとして扱い、実装計画のスコープ/目標が維持されていることを検証します。
  • 上流オートパイロットの優先順位の前提を検証します:--iplan > --ref > --prompt。
  • 計画のコンテキストと成果物の出力の間に目標/スコープの矛盾がある場合、明確化が必要なブロッキング問題として指摘します。
  • docs-v2.0/00_REF のようなレガシーなフォールバックパスを導入しないでください。

コメント