code-review-checklist について
code-review-checklistは、セキュリティ、正確性、パフォーマンス、品質、スタイルの順に手動レビューを進めるスキルです。一貫したチェックリストで小規模な変更を確認するレビュアー向けです。
主な機能
- 01優先順位付きのレビュー項目
- 02セキュリティと認証情報の確認
- 03ロジックと境界条件の確認
- 04パフォーマンスとリソースの確認
- 05レビュー結果のテンプレート
活用シーン
- 01小規模なPull Requestのレビュー
- 02差分に含まれる認証情報の確認
- 03エラー処理と境界条件の検証
- 04クエリとリソース効率の評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill code-review-checklistインストール後、Claude Code で/code-review-checklistを入力して読み込まれたか確認します。
詳細
コードレビューのチェックリスト
コード変更をレビューするための体系的なアプローチです。
このスキルを使うタイミング
| 次のような場合にこのスキルを使います… | 次のような場合は別のものを使います… |
|---|---|
| 優先順位順に並んだ手動レビュー用チェックリストを確認する | レビュー全体を委任して実施する → code-review |
| ハードコードされたシークレット、インジェクション、または N+1 クエリのパターンを探す | アンチパターンを重点的にスキャンする → code-antipatterns |
| PR の差分でエラー処理とエッジケースを検証する | 握りつぶされたエラーを直接調査する → code-hidden-failures --track errors |
| 小規模な変更に決定論的なチェックリストを適用する | チェックリストで問題が見つかった後にリファクタリングする → code-refactor |
レビューの優先順位
- セキュリティ(重大) - 脆弱性、シークレット、インジェクション
- 正確性(高) - ロジックエラー、破壊的変更
- パフォーマンス(中) - 非効率、リソースリーク
- 品質(中) - 保守性、読みやすさ
- スタイル(低) - フォーマット、命名(自動化することを推奨)
セキュリティのチェックリスト
シークレットと認証情報
- API キー、パスワード、トークンがハードコードされていない
- ログやエラーメッセージに認証情報が含まれていない
- シークレットが環境変数またはボールトから読み込まれている
インジェクションの脆弱性
- SQL クエリでパラメーター化されたステートメントを使用している
- HTML 出力の前にユーザー入力がサニタイズされている(XSS)
- シェルコマンドにユーザー入力が含まれていない(コマンドインジェクション)
- ファイルパスが検証されている(パストラバーサル)
認証と認可
- 保護されたすべてのエンドポイントで認証チェックを行っている
- 適切にセッションを処理している
- パスワードを安全に処理している(平文ではなくハッシュ化)
データの露出
- 機密データがログに記録されていない
- API レスポンスから内部情報が漏れていない
- エラーメッセージからシステム情報が露出していない
正確性のチェックリスト
ロジック
- エッジケース(null、空、境界値)に対応している
- エラー条件を適切に処理している
- 非同期処理を適切に await している
- 競合状態を考慮している
破壊的変更
- API コントラクトを維持している
- データベースのマイグレーションを元に戻せる
- リスクの高い変更にフィーチャーフラグを設けている
テスト
- 新しいコードにテストがある
- 正常系だけでなく、エラー経路もテストでカバーしている
- 既存のテストが引き続き成功する
パフォーマンスのチェックリスト
効率性
- N+1 クエリがない
- 適切なデータ構造を使用している
- 不要なループや反復処理がない
- コストの高い処理でキャッシュを検討している
リソース
- データベース接続をクローズまたはプールしている
- ファイルハンドルをクローズしている
- メモリーリークがない(イベントリスナーの削除など)
スケール
- 現実的なデータ量でも動作する
- 大量の結果セットにページネーションを使用している
- 外部呼び出しにタイムアウトを設定している
品質のチェックリスト
読みやすさ
- 明確で説明的な名前を使用している
- 関数が単一の処理を行っている
- 過度に複雑な条件分岐がない
- コメントで「何を」ではなく「なぜ」を説明している
保守性
- DRY(コピー&ペーストによる重複がない)
- 適切な抽象化を行っている
- 依存関係に妥当性がある
- 不要なコードがない
一貫性
- プロジェクトのパターンに従っている
- 既存のコードスタイルに合っている
- 定着したユーティリティやヘルパーを使用している
レビューの出力形式
## Review: [PR Title]
**Risk Level**: LOW | MEDIUM | HIGH | CRITICAL
### Critical Issues
1. [Category] Description (file:line)
- Impact: What could go wrong
- Fix: Specific recommendation
### Suggestions
1. [Category] Description (file:line)
- Why: Reasoning
- Consider: Alternative approach
### Positive Notes
- [Recognition of good patterns]
クイックチェック
手早くレビューする場合は、最低限次の点を確認します。
- シークレットや認証情報が含まれていないか?
- SQL インジェクションやコマンドインジェクションがないか?
- エラーケースに対応しているか?
- 新しいコードに対するテストがあるか?
コメント
Markdown 対応