Skills: コードレビュースキル
最終更新:2026-08-31
コードレビューは品質の最前線——優れたレビュー Skill は、チームに疲れを知らないシニアレビューアーを加えるようなものです。
1. レビュー観点の設計
(1) コアレビュー観点
| 観点 | チェック項目 | 深刻度 |
|---|---|---|
| セキュリティ | SQL インジェクション、XSS、ハードコーディングされたキー、安全でない依存関係 | 🔴 深刻 |
| パフォーマンス | N+1 クエリ、メモリリーク、不要なループ | 🟡 重要 |
| 可読性 | 命名規約、関数の長さ、コメントの十分性 | 🟢 提案 |
| ベストプラクティス | エラーハンドリング、SOLID 原則、DRY | 🟡 重要 |
| テストカバレッジ | ユニットテスト、境界条件、エラーパス | 🟡 重要 |
(2) 言語固有の観点
MARKDOWN
## Python 追加チェック
- type hints の完全性
- docstring フォーマット(Google/NumPy スタイル)
- f-string vs format/結合
- 例外キャッチのスコープ(bare except の回避)
## TypeScript 追加チェック
- any 型の使用
- 型アサーションの妥当性
- インターフェース定義の完全性
- オプショナルプロパティのアノテーション
2. レビューフローの設計
(1) 標準フロー
TEXT
📖 参照専用
コードレビューフロー
├── 1. 変更の収集
│ ├── git diff の読み込み(変更ファイルリスト)
│ └── レビュー範囲の特定
├── 2. ファイルごとのレビュー
│ ├── ファイルの読み込み
│ ├── Grep で関連コンテキストを検索
│ └── 観点ごとにチェック
├── 3. レポート出力
│ ├── 深刻度順にソート
│ ├── 具体的な修正提案を提示
│ └── コードサンプルを含める
└── 4. 総合評価
├── 総合スコア
└── マージ推奨判定
(2) 差分レビューと全体レビュー
| タイプ | 範囲 | 使用例 |
|---|---|---|
| 差分レビュー | 変更部分のみ | PR/MR レビュー |
| 全体レビュー | モジュール全体 | 新メンバーのコードレビュー、リファクタリング後の検証 |
3. レビューレポートのフォーマット
(1) 標準出力テンプレート
MARKDOWN
## コードレビューレポート
### 📊 概要
- レビュー対象ファイル数:3
- 発見された問題:5(🔴 1 / 🟡 2 / 🟢 2)
- 総合スコア:7/10
- 推奨:⚠️ 深刻な問題を修正後にマージ
### 🔴 深刻な問題
**[SEC-001] SQL インジェクションリスク**
📍 場所:src/auth/login.py:42
📝 文字列結合で SQL クエリを構築している
✅ 提案:
```python
query = "SELECT * FROM users WHERE name = ?"
cursor.execute(query, (username,))
🟡 重要な問題
...
🟢 改善提案
...
### (2) スコアリングシステム
```text
スコアリングルール:
- 🔴 深刻な問題:各 -3 点
- 🟡 重要な問題:各 -1 点
- 🟢 提案:各 -0.5 点
- 基礎スコア:10 点
- 最低スコア:0 点
マージ推奨:
- 8 点以上:✅ マージ推奨
- 5〜7 点:⚠️ 修正後にマージ
- 5 点未満:❌ マージ非推奨
4. レビュー Skill の実践
▶ 例:全観点レビュー Skill
Alice はチームのために標準化されたレビュー Skill を作成しました:
YAML
---
name: full-review
description: "全観点コードレビュー"
triggers:
- keyword: "full-review"
tools:
- Read
- Grep
- Glob
- Bash
---
MARKDOWN
## レビューフロー
1. Glob でレビュー対象ファイル範囲を特定
2. 各ファイルについて観点ごとにチェック:
- セキュリティ:Grep で危険なパターンを検索
- パフォーマンス:Read でアルゴリズムの複雑さを分析
- 可読性:命名と構造をチェック
- テスト:テストカバレッジを確認
3. 集約してレビューレポートを出力
Bob は評価しています:「標準化されたレポートのおかげで、レビュー結果が一目で分かる——赤信号は必ず修正、黄信号は状況次第、緑信号はボーナス。」
❓ よくある質問
Q 厳格すぎるレビューは開発スピードを低下させませんか?
A はい。2段階にすることをお勧めします——PR レビューはセキュリティと主要ロジックのみチェックし、定期的な全体レビューですべての観点をカバーします。
Q AI レビューは人間のレビューに代わりますか?
A 完全には代わりません。AI はパターンマッチングとセキュリティスキャンに優れ、人間はアーキテクチャレビューとビジネスロジックの判断に優れています。両者は補完関係にあります。
Q レビューレポートが長くなりすぎるのを防ぐには?
A 深刻度フィルタリングを設定し、デフォルトでは 🟡 以上の問題のみ出力するようにします。🟢 提案はオプション出力にします。
📖 まとめ
- 5つのレビュー観点:セキュリティ、パフォーマンス、可読性、ベストプラクティス、テストカバレッジ
- 標準フロー:変更収集→ファイルごとレビュー→レポート出力→総合評価
- レポートフォーマット:概要+ランク付けされた問題+スコア+マージ推奨
- スコアリングシステム:10点満点、問題の深刻度に応じて減点
📝 練習問題
- 基礎問題(難易度⭐):SQL インジェクション、XSS、ハードコーディングされたキーのみをチェックするセキュリティレビュー Skill を作成してください。
- 応用問題(難易度⭐⭐):スコアリングとマージ推奨を含む標準レビューレポートを出力する全観点レビュー Skill を作成してください。
- チャレンジ問題(難易度⭐⭐⭐):git diff の変更部分のみをレビューし、言語に応じて自動的にレビュー観点を調整する差分レビュー Skill を作成してください。