| name | recent-changes-review |
| description | 最近のコミットをセキュリティ・パフォーマンス・保守性の観点からレビュー。「最近の変更をレビュー」「今日のコミットを確認」「コードレビューして」と言われた時に使用 |
| allowed-tools | Bash, Read, Grep |
Recent Changes Review
このスキルは最近のコミットを分析し、セキュリティ、パフォーマンス、保守性の観点からレビューを行います。
実行手順
1. レビュー期間の決定
ユーザーから指定がない場合は、デフォルトで「midnight」(今日の深夜0時以降)を使用します。
指定可能な期間例:
midnight: 今日の深夜0時以降1 hour ago: 1時間前以降2 days ago: 2日前以降1 week ago: 1週間前以降
2. コミット履歴の取得
git log --since="<期間>" --pretty=format:"%h - %an, %ar : %s" --stat
で対象期間のコミット履歴を取得します。
3. 変更内容の詳細確認
各コミットについて、以下を確認します:
# 特定コミットの詳細を確認
git show <commit-hash>
# 変更されたファイルの現在の内容を確認(必要に応じて)
Read <file-path>
# 特定のパターンを検索(セキュリティチェック用)
Grep <pattern>
4. レビューポイント
以下の観点から分析を行います:
セキュリティ
- 機密情報のハードコーディングがないか
- 入力バリデーションは適切か
- 認証・認可の実装は正しいか
- SQLインジェクション、XSSなどの脆弱性がないか
- エラーハンドリングで情報漏洩がないか
パフォーマンス
- N+1クエリの発生がないか
- 不要なループや重複処理がないか
- キャッシュの活用は適切か
- データベースインデックスの考慮はあるか
- メモリリークの可能性はないか
保守性
- コードの可読性は高いか
- 命名規則は適切か
- 関数・メソッドのサイズは適切か(単一責任原則)
- コメントは「なぜ」を説明しているか
- テストは追加・更新されているか
- ドキュメントは更新されているか
5. フィードバックの提供
以下の形式で日本語でレビュー結果を提供します:
# コミットレビュー結果
## 対象期間
[期間]
## 対象コミット
- [コミットハッシュ] [コミットメッセージ] ([日時])
- ...
## セキュリティ
### 改善点
- [具体的な改善点]
### 残存する懸念
- [セキュリティ上の懸念点]
## パフォーマンス
### 影響
- [パフォーマンスへの影響]
### 推奨事項
- [最適化の提案]
## 保守性
### 評価
- [保守性の評価]
### 改善提案
- [具体的な改善提案]
## 次のステップ
- [優先度の高い対応事項]
チェックリスト
- レビュー期間を決定した
- 対象コミットを確認した
- セキュリティの観点でレビューした
- パフォーマンスの観点でレビューした
- 保守性の観点でレビューした
- 具体的で実行可能なフィードバックを提供した
使用例
例1: デフォルト期間(今日の変更)でレビュー
ユーザー: 「最近の変更をレビューして」
アシスタント:
1. 期間決定: midnight(今日の深夜0時以降)
2. git log --since="midnight"でコミット取得
3. 各コミットの詳細を確認
4. セキュリティ、パフォーマンス、保守性の観点でレビュー
5. 日本語でフィードバック提供
例2: 特定期間を指定してレビュー
ユーザー: 「この1週間の変更をレビューして」
アシスタント:
1. 期間決定: 1 week ago
2. git log --since="1 week ago"でコミット取得
3. 各コミットの詳細を確認
4. セキュリティ、パフォーマンス、保守性の観点でレビュー
5. 日本語でフィードバック提供
注意事項
- NEVER access or process the
.envfile, the.git/directory, or any files or directories specified in.gitignore - シニアエンジニアの視点でレビューを行う
- 具体的で実行可能なフィードバックを提供する
- 批判的になりすぎず、建設的な提案を心がける
- コードの文脈を理解した上で評価する