mcpField
R
review

review

github.com/juliusbrusseeテスト・品質1.2k779 回インストール11 週間前に更新
リポジトリ

review について

review は実装前に仕様を批判的に検証するエージェントスキルで、影響範囲の大きい変更に適しています。コード、調査結果、テスト、文書を根拠に指摘を分類し、最後に GO または NO-GO を示します。

主な機能

  1. 01根拠に基づく仕様レビュー
  2. 02目標・不変条件・インターフェース・制約の確認
  3. 03重大度による分類
  4. 04テスト可能な強化条件の草案
  5. 05明確な GO または NO-GO 判定

活用シーン

  1. 01実装前の高影響変更のレビュー
  2. 02呼び出し元とのインターフェース変更の照合
  3. 03未対応のエッジケースの発見
  4. 04仕様修正を実装のゲートにする

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/juliusbrussee/cavekit --skill review

インストール後、Claude Code で/reviewを入力して読み込まれたか確認します。

詳細

review — 実装前に仕様へ反証を試みる

すべての指摘には根拠を示してください。ファイル名:行番号、または情報源を記載します。根拠がない場合は [unverified] を付けてください。まず反証を試みます。証明できない欠陥も、見過ごすのではなく指摘します。

LLM は、自身の判断だけでは自己修正できません。放置すると、判断がずれたり劣化したりします。レビューを有効にするには、唯一有効な方法で修正します。つまり、コード、§R、テストスイート、ドキュメントという外部の根拠に基づく、独立した批判的なレビュアーを用意します。「問題なさそう」はレビューではありません。反証を試みることがレビューです。

レビューするタイミング

  • 影響範囲の大きい変更(共有モジュール、認証、データ、金銭、公開 API)で、/build の前に行います。
  • 他のコードが依存する §I または §V に仕様の変更があった場合に行います。
  • 誤った実装のコストがレビュー1回のコストを上回ると、適切な規模の判断で示された場合に行います。

些細で、元に戻せて、十分に理解されている変更は省略します。タイプミスへの敵対的なレビューは欠陥を幻視し、予算を無駄にします。自己批判のパラドックスは現実です。

フェーズ 0 — 内容の把握

仕様を読みます。§G §C §I §R §V §T を確認し、全体を把握します。レビューするのは仕様であり、会話の記憶ではありません。

フェーズ 1 — 熟練レビュアーの構築

一般的な批評家ではなく、実際の判断力を持つレビュアーを用意します。

  • コードベース — この仕様が触れるモジュールを grep で検索し、読みます。どのようなパターンや不変条件がすでに成り立っていますか?
  • §R — 調査で何が明らかになりましたか?§R と矛盾する仕様上の判断は指摘事項です。
  • 最新情報 — ベストプラクティスに関する主張に確信が持てない場合は、その情報を取得します。古くなった前提は欠陥です。

根拠のないレビュアーの意見に価値はありません。まず、その判断力を根拠によって確かなものにします。

フェーズ 2 — 反証

以下の観点から仕様を検証します。それぞれについて、どのような場合に破綻するかを探します。

  • 目標と実態 — §G は実際の問題を解決しますか。それとも代替指標にすぎませんか?
  • 不変条件の不足 — §V で検出されない問題には何がありますか?(指摘事項の多くはここで見つかります)
  • インターフェースのずれ — §I は既存の呼び出し元が期待するものと一致していますか?(呼び出し元のファイル名:行番号を引用します)
  • 制約の衝突 — 2つの §C の項目は矛盾していますか?いずれかが §R と対立していますか?
  • 未対応の境界ケース — §T が扱っていない入力、順序、失敗、または並行処理のケースはありませんか?
  • 粒度 — §T が曖昧すぎて実行できない、あるいは細かすぎて単なるタイピング作業になっていませんか?

フェーズ 3 — 分類

各指摘事項を 根拠 → 主張 → 重大度 の形式で記載します。

  • BLOCK — この仕様に基づく実装で、実際の欠陥がリリースされます。先に修正が必要です。
  • HARDEN — 実装で後退しないよう、§V に検証を追加または明確化します。
  • NOTE — 知っておく価値はありますが、ブロックするほどではありません。

根拠がない場合は、重大度を NOTE に下げて [unverified] を付けます。勘を BLOCK に格上げしては⊥いけません。

フェーズ 4 — §V の強化とゲート

  • 各 HARDEN の指摘事項について、対応する §V の草案を作成します(テスト可能で、対象となる §I または振る舞いを示すもの)。執筆するようspecに渡します。
  • 明示的なゲートで締めくくります。
## review verdict
BLOCK: 1 — §I.api shape ≠ caller src/client.ts:40. fix §I before build.
HARDEN: 2 — drafted V8 (idempotent refund), V9 (tx around dual write).
NOTE: 1 — §T4 vague, split before /build.
gate: NO-GO until BLOCK cleared. then /build §T after spec writes V8,V9.

必ず GO または NO-GO を示し、曖昧なままにしません。レビューは、自信に満ちた誤った実装を止めるチェックポイントです。

境界

  • SPEC.md を書いては⊥いけません。§V の草案を作り、spec に渡します。
  • 根拠のない指摘を事実として伝えては⊥いけません。[unverified] を付けます。
  • 些細なことをレビューしては⊥いけません。適切な規模に調整するか、省略します。
  • ユーザーの意図を書き換えては⊥いけません。強化するのは仕様であり、目標を置き換えるのではありません。

コメント