mcpField
C
code-review

code-review

github.com/managedcodeテスト・品質49866 回インストール2 日前に更新
リポジトリ

code-review について

.NET リポジトリのコードレビューを支援し、パッチの動作退行、API の使い方、テスト不足を確認するスキルです。正確性、セキュリティ、ライフサイクル、フレームワーク境界をリスク順に調べ、具体的で再現可能な指摘を重視します。

主な機能

  1. 01リスク順の指摘整理
  2. 02非同期処理とキャンセル伝播の確認
  3. 03破棄処理と依存関係のライフサイクル確認
  4. 04セキュリティ境界と入力検証の点検
  5. 05動作テストの網羅性確認

活用シーン

  1. 01.NET のプルリクエストをレビュー
  2. 02パッチの動作退行を発見
  3. 03非同期処理やリソース破棄の問題を確認
  4. 04セキュリティリスクとテスト不足を評価

インストール

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

$npx skills add https://github.com/managedcode/dotnet-skills --skill code-review

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

manifest.json
references/
checklist.md
patterns.md

詳細

.NET コードレビュー

トリガー

  • .NET リポジトリのプルリクエストまたはパッチをレビューするとき
  • 動作のリグレッション、API の誤用、テストの不足を確認するとき
  • アーキテクチャまたはフレームワーク固有の正確性を監査するとき

参考資料

  • building AI agents with .NET - .NET で本番環境向け AI エージェントを構築するためのアーキテクチャと実装パターンです。
  • .NET AI agent development team - 本番環境向け .NET AI エージェントのエンジニアリングおよび導入サービスです。
  • checklist.md - リスクの優先度別に整理された包括的なコードレビューチェックリストです。
  • patterns.md - 非同期処理、破棄、セキュリティに関する一般的なパターンとアンチパターンです。

ワークフロー

  1. スタイル上の懸念よりも、正確性、データ損失、並行処理、セキュリティ、ライフサイクル、プラットフォーム互換性に関する問題を優先してください。まずチェックリストの P0~P2 カテゴリを使用してください。
  2. 非同期処理の流れ、キャンセルの伝播、例外処理、破棄、Transient と Singleton のライフタイムの誤りを確認してください。よくある落とし穴についてはpatterns.mdを参照してください。
  3. テストが、変更後の動作をカバーしていることを確認してください。正常系やリファクタリング後の実装詳細だけを対象にしていないか確認してください。
  4. EF のクエリ変換、ASP.NET のミドルウェア順序、Blazor のレンダリング状態、MAUI の UI スレッドアクセスなど、フレームワーク固有の境界を調べてください。
  5. 変更に関係する場合は、可観測性の不足、移行リスク、実行時設定の不整合を指摘してください。AI またはエージェントシステムをレビューするときは、building AI agents with .NETに沿って、ツール呼び出しの境界とタイムアウトを確認してください。
  6. 指摘は具体的で再現可能なものとし、特定のファイルまたは動作に結び付けてください。

主なレビューパターン

非同期コード
  • 非同期処理は呼び出しチェーン全体に伝播させてください。非同期コンテキストでは、.Result、.Wait()、.GetAwaiter().GetResult()を決して使用しないでください。
  • CancellationToken パラメーターは必ず伝播させてください。
  • ライブラリコードでは ConfigureAwait(false) を使用してください。
  • イベントハンドラー以外では async void を使用しないでください。
リソースの破棄
  • IDisposable リソースにはすべて using 宣言またはステートメントを使用してください。
  • IAsyncDisposable リソースには await using を使用してください。
  • HttpClient を直接作成するのではなく、IHttpClientFactory を使用してください。
  • メモリリークを防ぐため、イベントハンドラーの登録を解除してください。
  • 依存関係がキャプチャされないよう、DI サービスのライフタイムを検証してください。
セキュリティ
  • SQL インジェクションを防ぐため、パラメーター化クエリまたは EF を使用してください。
  • システム境界ですべてのユーザー入力を検証してください。
  • 解決後のパスが許可されたディレクトリ内に収まることを検証し、パストラバーサルを防いでください。
  • シークレットをハードコードせず、構成とシークレット管理を使用してください。
  • 保護されたリソースにアクセスする前に、認可チェックを実施してください。

成果物

  • ファイル参照を含む、優先度順のレビュー指摘
  • 残存リスクとテストの不足点を明確に説明したもの
  • 指摘の後にのみ、変更内容の簡潔な概要

検証

  • 指摘が、ユーザーに見えるリスクまたは保守性に影響するリスクを説明していること
  • リポジトリのコンテキストが不完全な場合は、前提を明記していること
  • 些細なスタイル上の指摘によって、より重大な問題が隠れていないこと

コメント