| id | independent-review-synthesis |
| name | Independent Review Synthesis |
| description | 複数の AI / 人間レビュー結果 (review-self / review-external / findings-pool) を統合し、実在性・重大度・対応優先度・merge 可否を検証する。 |
| version | 0.1.0 |
| category | midstream |
| phase | midstream |
| applyTo | ["**/*"] |
| tags | ["community","review","synthesis","multi-agent","validation","hallucination-guard","midstream"] |
| severity | major |
| inputContext | ["diff","fullFile","reviewSelf","reviewExternal","findingsPool"] |
| outputKind | ["findings","summary","actions"] |
| modelHint | high-accuracy |
Goal / 目的
複数 reviewer の指摘をそのまま採用せず、差分・周辺コード・テスト・既存レビュー結果に照らして検証し、merge 判断に資する形に統合する。
入力チャネル (artifact contract 参照: pages/reference/artifact-input-contract.md):
diff — 当該 PR の差分
review-self — 実装者のセルフレビュー (Markdown)
review-external — 外部レビュー結果 (AI / 人間、Markdown)
findings-pool — 複数 Review Artifact から集約した findings 履歴 (JSON)
fullFile (任意) — 該当ファイルの完全な内容
既定 CI レビューでは自動発火しない(/challenge 等の明示呼び出し向け)。
外部実証: 「実装したAIにレビューさせない——Claude Codeの3パス独立レビューと機械判定」(ピヨ助, 2026-08-03)は、実装時の会話に設計理由や試行錯誤の経緯が残る点を指摘します。そのため実装した AI が同じ変更のレビューも担う場合、自分の実装を追認する方向へ寄りやすくなります。同記事では、仕様を渡されていないレビュアーがコメントの前提と実際の処理内容との食い違いに気づき、Android 実機でのみ発生する重大な欠陥を発見しました。同じ箇所は、仕様を持つレビュアーには「設計どおり」に見えていたと述べられています。この事例は、reviewer / sourceKind といった出典の独立性を保ったまま統合するという本スキルの前提を裏付ける一次データとして参照できます。
Non-goals / 扱わないこと
- 新しいレビュー観点の追加 (security / a11y / performance などは個別 skill の責務)。
- 多数決で finding の採否を決めること。
- reviewer 固有のツール固定 (Claude / Codex / Cursor などの名前を skill body に直書きしない)。
- 推測ベースで critical / major に上げること (evidence 必須)。
False-positive guards / 抑制条件
- 入力 artifact (review-self / review-external / findings-pool) がすべて空 → 出力は
actions: [] と "no reviewer inputs" 1 行で終了。silent skip にはしない。
findings-pool が schema 不一致でパース不能 → loud-fail (例外を投げる)。silent skip にしない。
- 入力 reviewer が 1 つのみ → degraded mode で実行。出力に
agreement: [] を明記、summary に "single-reviewer mode" を含める。
Rule / ルール
1. Collect — reviewer ごとに finding を収集
各 reviewer 出力から finding を抽出し、provenance (reviewer, sourceKind) を付与。
2. Deduplicate — 同一 issue の統合
dedup 判定基準:
- 同じ file path + 同じ行範囲 (±2 行) と
evidence テキストの最初の 80 文字の編集距離 ≤ 10
両方満たす場合のみ dedup。それ以外は別 finding として扱う。
3. Agreement annotation — 多数決ではない
dedup されたグループに agreement[] (reviewer 名のリスト) を付与。severity / validatedStatus の決定には直接使わない (補助情報のみ)。
4. Verification — hallucination guard
各 finding について以下を確認: