mcpField
C
code-review

code-review

github.com/carvalabテスト・品質38 回インストール
リポジトリ

code-review について

開発者のセルフレビューや相互レビューに使うコードレビュー用スキルです。変更を文脈に沿って調査し、確認した問題を修正したうえで、言語別の品質チェックで検証します。

主な機能

  1. 01差分と変更ファイルの確認
  2. 02設計・正確性・セキュリティの評価
  3. 03プロジェクト固有ルールの確認
  4. 04確認済みの問題を修正・検証
  5. 05lint・ビルド・テストの実行
  6. 06構造化されたレビュー報告

活用シーン

  1. 01マージ前の変更レビュー
  2. 02完了した機能のセルフレビュー
  3. 03複雑なバグ修正の確認
  4. 04リファクタリング前のコード確認

MCP 対応

レビュー時にKavakの実践規範を確認するため、`kavak-platform/platform_docs_search` MCPツールの利用を推奨します。

インストール

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

$npx skills add https://github.com/carvalab/k-skills --skill code-review

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

同梱ファイル

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

references/
checklist.md
common-issues-go.md
common-issues.md
feedback-guide.md
logging-metrics-review.md
security-owasp.md
self-review-workflow.md
severity-guide.md

詳細

コードレビュー

最近の変更に対して、シニアレベルの徹底的なコードレビューを実施します。複雑なロジック、アーキテクチャ、エッジケースを人が重点的にレビューします。スタイルのチェックは自動ツールに任せます。

関連スキル:

  • kavak-documentation - Kavak 固有のパターン、ロギング/メトリクスの標準、GitLab CI テンプレートを確認します
  • レビュー時に Kavak のベストプラクティスを確認するには、kavak-platform/platform_docs_search MCP ツールを使用します

クイックスタート

# 1. Get review range
BASE_SHA=$(git rev-parse HEAD~1)  # or: git merge-base main HEAD
HEAD_SHA=$(git rev-parse HEAD)

# 2. See what changed
git diff --stat $BASE_SHA..$HEAD_SHA
git diff --name-only $BASE_SHA..$HEAD_SHA --diff-filter=ACMR

# 3. After review, run quality gates (detect project type)

言語別の品質ゲートコマンド:

言語Lintビルドテスト
Gogolangci-lint rungo build ./...go test ./...
Node/TSnpm run lintnpm run buildnpm test
Pythonruff check .python -m py_compilepytest
Java./mvnw checkstyle:check./mvnw compile./mvnw test

レビューのタイミング

このワークフローは、セルフレビューとピアレビューの両方に適用されます。

必須: タスクの完了後、機能の実装後、マージ前。

有用: 行き詰まったとき(新たな視点を得るため)、リファクタリング前(ベースラインを確認するため)、複雑なバグの修正後。

レビューの心構え

  • 急がず、徹底的に - 結論を出す前に、関連するコードをすべて読みます
  • 証拠に基づく - 実行パスをたどり、バグがあると決めつけません
  • 指摘するだけでなく、修正する - 問題を特定し、解決します
  • 範囲を絞る - 効果的なレビューのため、一度にレビューするのは400行未満にします

ワークフロー

1. 差分の範囲を特定する

変更されたファイルをすべて特定します。

git diff --name-only HEAD~1 --diff-filter=ACMR

リスト内の各ファイルについて、実際の差分ハンクがないものはスキップします。

2. 意図と要件を把握する

コードをレビューする前に、コードが何をすべきかを把握します。

  • 元のタスク/課題:何が依頼されましたか?
  • プロダクトへの影響:ユーザーに何を提供しますか?
  • 受け入れ基準:「完了」とは何ですか?

次のように確認します。「実装は要件を満たしていますか?」

3. 各ファイルをレビューする

変更されたファイルと各差分ハンクについて、既存のコードベースの文脈に照らして評価します。

必須: Critical/Major の問題を指摘する前に、実行パス全体をエンドツーエンドでたどります。問題を防ぐ防御的なコードがないことを確認します。エラーパス、キャンセル、エッジケースを考慮します。

4. レビュー項目

次の項目に重点を置きます。アーキテクチャ(パターンへの適合、結合の回避)、正確性(エッジケース、エラー処理)、セキュリティ(入力検証、シークレット、OWASP)、パフォーマンス(N+1 クエリ、メモリ)、ロギング/メトリクス(カーディナリティの急増)。スタイルのチェックはリンターに任せます。

11項目すべてを含む完全なチェックリスト:references/checklist.md ロギングとメトリクスの標準:references/logging-metrics-review.md

5. プロジェクトのルールを確認する

必須: 次のファイルやフォルダーにあるルールを確認し、遵守します。

  • .claude/CLAUDE.md または CLAUDE.md(ルート)
  • .cursor/rules/ フォルダー
  • AGENTS.md
  • そこに定義されているすべてのパターンと規約に従います
6. 問題を報告して修正する

確認済みの問題ごとに、次を記載します。

  • ファイル:<path>:<line-range>
  • 問題:1行の要約
  • 修正:簡潔な変更案

重要度:

  • Critical(P0):セキュリティの脆弱性、データ損失、クラッシュ
  • Major(P1):重大なバグ、パフォーマンスの問題、アーキテクチャ違反
  • Minor(P2):コードスタイル、軽微な改善
  • Enhancement(P3):あると望ましい改善

必須:問題を特定したら、すべて直ちに修正します。

  1. 優先度の高いものから開始します(Critical → Major → Minor)
  2. 問題ごとに次を実行します。
    • コードを修正する
    • 修正によって問題が発生しないことを確認する
    • チェックポイントコミット:git add -A && git commit -m "fix: brief description"
  3. すべての問題が解決するまで続けます
7. 品質ゲートを実行する

すべての問題を修正した後、プロジェクトの種類に応じて lint → build → test を実行します(「クイックスタート」の表を参照)。

いずれかのゲートに失敗した場合は、直ちに修正してコミットします。

8. 最終レポート

次の構成で出力します。

### Strengths

[What's well done - be specific with file:line references]

### Issues Found & Fixed

- **Critical**: [count] - [brief list]
- **Major**: [count] - [brief list]
- **Minor**: [count] - [brief list]

### Quality Gates

- Lint: ✓/✗
- Typecheck: ✓/✗
- Build: ✓/✗
- Tests: ✓/✗

### Assessment

**Ready to proceed?** [Yes / Yes with notes / No - needs fixes]
**Reasoning:** [1-2 sentence technical assessment]

問題がない場合:「コードレビューが完了しました。問題は見つかりませんでした。すべての品質ゲートに合格しました。作業を進める準備ができています。」

参考資料

参考資料目的
references/checklist.md詳細なレビュー用チェックリスト
references/severity-guide.md問題の重大度を分類する方法
references/common-issues.mdよくある問題(TypeScript/Node)
references/common-issues-go.mdよくある問題(Go)
references/security-owasp.mdOWASP Top 10 セキュリティチェックリスト
references/feedback-guide.md建設的なフィードバックの方法
references/logging-metrics-review.mdログ形式とメトリクスのカーディナリティ基準
references/self-review-workflow.md開発中の自動セルフレビュー

ベストプラクティス

  1. 推測しない - 問題を指摘する前に、関連するコードをすべて読む
  2. すぐに修正する - 報告するだけでなく、修正してコミットする
  3. チェックポイントコミット - ロールバックしやすいように、修正ごとに個別にコミットする
  4. まず検証する - バグがあると主張する前に、実行経路をたどる
  5. プロジェクトルールを優先する - .cursor/rules/ と AGENTS.md を必ず確認する
  6. 速やかに対応する - チームメイトの作業を妨げないよう、速やかにレビューする
  7. 範囲を限定する - 効果的にレビューするため、一度にレビューするのは400行未満にする

原則:レビュー → 修正 → 検証 → コミット。問題を特定するだけで修正しないレビューは不完全です。

コメント