mcpField
C
code-review-expert

code-review-expert

github.com/dtyqテスト・品質5.1k35 回インストール4 日前に更新
リポジトリ

code-review-expert について

現在の Git 変更を対象に、SOLID、アーキテクチャ、削除候補、セキュリティ、信頼性を確認する構造化レビュー用スキルです。既定では指摘のみを提示し、明示的な依頼なしに変更を実装しません。

主な機能

  1. 01Git変更範囲の把握
  2. 02SOLIDとアーキテクチャの評価
  3. 03削除候補の特定
  4. 04セキュリティと信頼性の確認
  5. 05重大度別の指摘整理

活用シーン

  1. 01マージ前のコード変更レビュー
  2. 02セキュリティ上重要な箇所や主要経路の確認
  3. 03未使用コードの削除と後続作業の計画

インストール

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

$npx skills add https://github.com/dtyq/magic --skill code-review-expert

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

同梱ファイル

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

agents/
agent.yaml
references/
code-quality-checklist.md
removal-plan.md
security-checklist.md
solid-checklist.md

詳細

コードレビューの専門家

概要

現在の Git の変更を、SOLID、アーキテクチャ、削除候補、セキュリティリスクに重点を置いて、体系的にレビューします。ユーザーが変更の実装を依頼しない限り、レビュー結果のみを出力します。

重要度レベル

レベル名前説明対応
P0重大セキュリティ脆弱性、データ損失のリスク、正確性の不具合マージを必ずブロック
P1高ロジックエラー、重大な SOLID 違反、パフォーマンスの低下マージ前に修正すべき
P2中コードの不自然な点、保守性の懸念、軽微な SOLID 違反この PR で修正するか、フォローアップを作成
P3低スタイル、命名、軽微な提案任意の改善

ワークフロー

1) 事前のコンテキスト確認
  • git status -sb、git diff --stat、git diff を使用して変更範囲を把握します。
  • 必要に応じて、rg または grep を使用して関連するモジュール、使用箇所、契約を探します。
  • エントリーポイント、責任範囲の境界、重要な処理経路(認証、決済、データ書き込み、ネットワーク)を特定します。

エッジケース:

  • 変更なし:git diff が空の場合はユーザーに伝え、ステージ済みの変更または特定のコミット範囲をレビューするか確認します。
  • 大きな差分(500 行超):まずファイルごとに要約し、その後、モジュールまたは機能領域ごとに分けてレビューします。
  • 関心事の混在:ファイル順ではなく、論理的な機能ごとに指摘をまとめます。
2) SOLID とアーキテクチャ上の問題点
  • 具体的な確認項目については references/solid-checklist.md を読み込みます。
  • 次の点を確認します。
    • SRP:無関係な責任を抱えた過剰なモジュール。
    • OCP:拡張ポイントを設けず、振る舞いの追加のたびに頻繁な編集が必要な箇所。
    • LSP:期待を損なうサブクラスや、型チェックを必要とするサブクラス。
    • ISP:未使用のメソッドを含む広範なインターフェース。
    • DIP:低レベルの実装に結び付いた高レベルのロジック。
  • リファクタリングを提案する場合は、凝集度や結合度がどう改善するかを説明し、最小限で安全な分割方法を示します。
  • リファクタリングが容易でない場合は、大規模な書き換えではなく、段階的な計画を提案します。
3) 削除候補と反復計画
  • テンプレートについては references/removal-plan.md を読み込みます。
  • 未使用、重複、または機能フラグで無効化されたコードを特定します。
  • 今すぐ安全に削除可能なものと、計画を立てて延期するものを区別します。
  • 具体的な手順とチェックポイント(テスト/メトリクス)を含むフォローアップ計画を提示します。
4) セキュリティと信頼性の確認
  • 確認範囲については references/security-checklist.md を読み込みます。
  • 次の点を確認します。
    • XSS、インジェクション(SQL/NoSQL/コマンド)、SSRF、パストラバーサル
    • 認可/認証の不備、テナントチェックの欠落
    • 秘密情報の漏えい、ログ/環境変数/ファイル内の API キー
    • レート制限、上限のないループ、CPU/メモリの負荷が高い箇所
    • 安全でないデシリアライゼーション、脆弱な暗号、安全でないデフォルト設定
    • 競合状態:並行アクセス、確認後の実行、TOCTOU、ロックの欠落
  • 悪用可能性と影響の両方を指摘します。
5) コード品質の確認
  • 確認範囲については references/code-quality-checklist.md を読み込みます。
  • 次の点を確認します。
    • エラー処理:握りつぶされた例外、広範すぎる catch、エラー処理の欠落、非同期エラー
    • パフォーマンス:N+1 クエリ、ホットパスでの CPU 負荷の高い処理、キャッシュの欠落、上限のないメモリ使用
    • 境界条件:null/undefined の処理、空のコレクション、数値の境界、オフバイワン
  • サイレントな失敗や本番環境でのインシデントにつながる可能性がある問題を指摘します。
6) 出力形式

レビューは次の形式で構成します。

## Code Review Summary

**Files reviewed**: X files, Y lines changed
**Overall assessment**: [APPROVE / REQUEST_CHANGES / COMMENT]

---

## Findings

### P0 - Critical
(none or list)

### P1 - High
- **[file:line]** Brief title
  - Description of issue
  - Suggested fix

### P2 - Medium
...

### P3 - Low
...

---

## Removal/Iteration Plan
(if applicable)

## Additional Suggestions
(optional improvements, not blocking)

インラインコメント:ファイル固有の指摘には、次の形式を使用します。

::code-comment{file="path/to/file.ts" line="42" severity="P1"}
Description of the issue and suggested fix.
::

問題がない場合:問題が見つからなかった場合は、次の点を明示します。

  • 確認した内容
  • 確認できていない領域(例:「データベースのマイグレーションは検証していません」)
  • 残存リスク、または推奨する追加テスト
7) 次のステップの確認

指摘を提示した後、どのように進めるかをユーザーに確認します。

---

## Next Steps

I found X issues (P0: _, P1: _, P2: _, P3: _).

**How would you like to proceed?**

1. **Fix all** - I'll implement all suggested fixes
2. **Fix P0/P1 only** - Address critical and high priority issues
3. **Fix specific items** - Tell me which issues to fix
4. **No changes** - Review complete, no implementation needed

Please choose an option or provide specific instructions.

重要:ユーザーが明示的に確認するまで、変更を実装してはいけません。このワークフローでは、まずレビューを行います。

リソース

references/
ファイル目的
solid-checklist.mdSOLID の問題点に関するプロンプトとリファクタリングのヒューリスティック
security-checklist.mdWeb/アプリのセキュリティとランタイムのリスクに関するチェックリスト
code-quality-checklist.mdエラー処理、パフォーマンス、境界条件
removal-plan.md削除候補とフォローアップ計画のテンプレート

コメント