existing-pattern-conformance-listed
Install: claude install-skill s977043/river-review
## Pattern declaration
Primary pattern: Reviewer
Secondary patterns: Inversion
Why: 先行実装との突合は grep による決定論的特定が主だが、同種の先行実装が存在しない新規領域では実行を止めるゲートが必要。
## Goal / 目的
- 新しい追加 / 変更が、**同種の先行実装をまず grep で特定**し、そこに在る防御・バリデーション・エラー処理・定数 / 規約・共通化ロジック・概念定義を**欠落・重複・食い違いなく継承**しているかを確認する。
- 「既存に同じことをする実装があるのに、それを参照せず独自に書いて防御やバリデーションが抜けた / 重複した / 規約から外れた」パターンを検出する。
外部実証: [「CodeGraph(AI向け効率化ツール)は「間接呼び出しの見落とし」を防ぐ。でも、自分たちのレビューが長引いた原因はそれじゃなかった」](https://zenn.dev/thegatebreaker/articles/codegraph_trial_review_gap)(TheGateBreaker, 2026-07-30)は、重複ロジック 4 箇所に対するコールグラフツールの適用結果を報告します。検出できたのは中心関数を直接呼び出していた 2 箇所のみでした。残る 2 箇所は同じ判定条件をそれぞれの場所で独立に再実装しており、呼び出し関係が無いためコールグラフ上では中心関数とつながっていませんでした。著者は間接呼び出しの見落としと独立した重複を別の障害モードと位置づけ、重複が疑われる場合はまず grep で確認する従来手順を維持しています。この実測は、先行実装を grep で特定してから突合するという本スキルの検出ロジックを裏付ける一次データとして参照できます。
## Non-goals / 扱わないこと
- 設計の良し悪しそのもの(既存が間違っていれば従う必要はない。意図的差分は根拠の明文で許容)。
- リファクタ後の caller 残骸(`cross-file-leakage` の領域)。
- 宣言と実装の自己矛盾(`self-contradiction` の領域)。
## Pre-execution Gate / 実行前ゲート
このスキルは以下の条件がすべて満たされない限り `NO_REVIEW` を返す。
- [ ] 差分に、リポジトリ内で**同レイヤ・同責務・同概念の先行実装が grep で実在確認できる**追加 / 変更を含む(防御・バリデーション・エラー処理・規約・共通化ロジック・概念定義を持つ同種コード / 設計 / migration)。「存在しうる」という推測では発火させず、**先行実装を grep で1件以上特定できたときのみ**レビューに進む
- [ ] inputContext に diff が含まれ、`code_search`(grep)が利用可能である
ゲート不成立時の出力: `NO_REVIEW: existing-pattern-conformance — 先行実装と突合すべき変更が検出されない`
## False-positive guards / 抑制条件
- grep で同種の先行実装が見つからない(真に新規領域)の場合は指摘しない。
- **grep ヒットが同名でも、別スコープ・別責務・別概念であれば「先行実装」ではない**。同名の関数 / 定数 / 型でも、別レイヤ・別ド