mcpField
C
code-review

code-review

github.com/jwyniaテスト・品質180499 回インストール35 週間前に更新
リポジトリ

code-review について

code-reviewは、人間のレビュアーとAIエージェント向けの体系的なコードレビュー用スキルです。マージ前の確認、自己レビュー、PRの準備に使えます。正確性、保守性、性能、セキュリティの観点を整理し、コメント分類と準備チェックリストを提供します。

主な機能

  1. 01正確性とエッジケースの確認
  2. 02保守性とコードの問題点の評価
  3. 03性能とセキュリティリスクの確認
  4. 04重大度別のレビューコメント整理
  5. 05PR準備チェックリストの活用

活用シーン

  1. 01マージ前のコード変更をレビュー
  2. 02PR提出前に自己レビュー
  3. 03コード品質を評価し分類したフィードバックを作成

インストール

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

$npx skills add https://github.com/jwynia/agent-skills --skill code-review

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

詳細

コードレビュー診断

体系的なコードレビューにより、本番環境へのリリース前に欠陥の60〜90%を発見でき、保守コストを40%削減できるほか、効果的な知識共有にも役立ちます。このスキルでは、人間のレビュアーとAI エージェントの両方に向けた、構造化されたレビューの指針を提供します。

このスキルを使用するタイミング

次の場合にこのスキルを使用します:

  • マージ前にコードをレビューするとき
  • コードの品質を評価するとき
  • PR 提出に向けてコードを準備するとき
  • レビューを依頼する前にセルフレビューするとき

次の場合はこのスキルを使用しないでください:

  • 新しいコードを書くとき(実装スキルを使用します)
  • アーキテクチャを設計するとき(system-design を使用します)
  • 要件に取り組むとき(requirements-analysis を使用します)

基本原則

PR の規模が大きくなると、レビューの効果は急激に低下します。 400行未満では欠陥検出率が最も高くなります。400〜800行では効果が50%低下します。800行以上では効果が90%低下します。

クイックリファレンス:レビューの効果

要素最適低下
PR の規模400行未満800行超
レビュー時間60分未満90分超
レビュー速度200〜400 LOC/時間500 LOC/時間超
レビュアー2人4人以上(効果が逓減)

品質ピラミッド

レベルチェック内容検出率頻度
1. 自動化Lint、型、単体テスト、セキュリティスキャン60%コミットごと
2. 統合統合テスト、コントラクト、パフォーマンス25%PR ごと
3. 人間によるレビュー設計、ロジック、保守性、コンテキスト15%重要な変更時

レビューの重点領域

1. 正確性

確認事項:

  • 明示された問題を解決していますか?
  • エッジケースに対応していますか?
  • エラー処理は完全ですか?
  • 前提は妥当ですか?

検証項目: テストカバレッジ、ビジネスロジック、データ整合性、並行処理への対応

2. 保守性

確認事項:

  • コードを読めば内容が分かりますか?
  • 容易に変更できますか?
  • 抽象化は適切ですか?
  • 複雑さは妥当ですか?

指標: 明確な命名、単一責任、最小限の結合、高い凝集度

3. パフォーマンス

確認事項:

  • 明らかなボトルネックはありますか?
  • キャッシュは適切ですか?
  • クエリは最適化されていますか?
  • メモリは適切に管理されていますか?

危険信号: N+1 クエリ、上限のないループ、非同期コンテキストでの同期 I/O、メモリリーク

4. セキュリティ

確認事項:

  • 入力は検証されていますか?
  • シークレットは保護されていますか?
  • 認証は確認されていますか?
  • 権限は検証されていますか?

重要なチェック項目: ハードコードされたシークレットがないこと、SQL のパラメーター化、XSS の防止、CSRF トークン

コードの不吉な臭いチェックリスト

メソッドレベル
臭いしきい値対処
長いメソッド50行超メソッドを抽出
長いパラメーターリスト5個超のパラメーターパラメーターオブジェクト
重複コード類似する行が10行超共通部分を抽出
デッドコード呼び出されていない削除
クラスレベル
臭い症状対処
神クラス1000行超、20個超のメソッドクラスを分割
機能の羨望他クラスのデータを過剰に使用メソッドを移動
データの塊同じパラメーター群クラスを抽出
アーキテクチャレベル
臭い検出方法対処
循環依存依存関係の循環インターフェースを導入
不安定な依存関係変化しやすいモジュールへの依存依存関係逆転

コメントのガイドライン

コメントの種類

[BLOCKING] - マージ前に必ず修正

  • セキュリティ上の脆弱性、データ破損のリスク、API の破壊的変更

[MAJOR] - マージ前に修正するべき

  • テスト不足、パフォーマンスの問題、コードの重複

[MINOR] - 後続の対応で修正可能

  • スタイルの不統一、ドキュメントの誤字、命名の改善

[QUESTION] - 明確化を求める

  • 設計上の決定、ビジネスロジック、外部依存関係
効果的なコメントのパターン
Observation + Impact + Suggestion

Example:
"This method is 200 lines long [observation].
This makes it hard to understand and test [impact].
Consider extracting helper methods [suggestion]."
避けること
  • 曖昧なコメント:「ここは改善できるかもしれません」
  • 個人的なコメント:「これは好きではありません」
  • 細かすぎるコメント:「コメントの末尾に句点がありません」
  • 過剰な指摘:細かなスタイル上の問題を50件以上

レビュー準備状況のチェックリスト

レビューを依頼する前に
  • 機能が完全に実装されている
  • すべてのテストが作成され、合格している
  • 自己レビューを実施している
  • コメントアウトされたコードやデバッグ用の記述がない
  • カバレッジのしきい値を満たしている
  • リントエラーがない
  • ビルドが成功する
  • ドキュメントを更新している
  • PR の説明で問題と解決策を説明している
PR の説明に含める内容
  • 問題の説明(なぜこの変更が必要か)
  • 解決方法(どのように解決するか)
  • テスト方針(どのように検証したか)
  • 破壊的変更(ある場合)
  • レビューで重点的に確認する箇所(特に注意して見るべき箇所)

複雑度のしきい値

循環的複雑度
範囲分類対応
1-10単純問題なし
11-20中程度リファクタリングを検討
21-50複雑リファクタリングが必要
> 50テスト不能分解が必須
認知的複雑度
範囲分類
< 7明快
7-15許容範囲
> 15分かりにくい — リファクタリングが必要

アンチパターン

判を押すだけのレビュー

徹底的なレビューを行わずに承認すること。「LGTM」と 1 分未満で返信すること。 対策: 最低レビュー時間を設け、コメントを必須とし、ランダム監査を実施します。

細部への過剰な指摘

実際の問題を見落としながら、スタイルに関するコメントを 50 件以上付けること。 対策: スタイルチェックを自動化し、ロジックと設計に注目して、軽微なコメントを制限します。

一括レビュー

圧倒されるような、2000 行を超える PR。 対策: 小さな PR を積み重ね、フィーチャーフラグを使い、ドラフトの段階で早めにレビューします。

セキュリティスキャンの分類

深刻度の分類
レベル定義SLA
Criticalリモートコード実行が可能直ちに修正
Highデータ侵害の可能性がある24 時間以内に修正
Medium影響が限定的スプリント内に修正
Lowリスクが最小限都合のよいときに修正

レビューメトリクス

効率
メトリクス目標
最初のレビューまでの時間< 4 時間
レビューサイクル数< 3
PR 作成からマージまでの時間< 24 時間
品質
メトリクス目標
欠陥検出率> 80%
マージ後の欠陥PR あたり < 0.5 件
レビューカバレッジ100%

関連スキル

  • github-agile - PR ワークフローと GitHub 連携
  • task-decomposition - PR が大きすぎる場合に分解する
  • requirements-analysis - 要件が不明確な場合に使用する

コメント