smart-review-applylisted
Install: claude install-skill mjcreativelab/mjcreativelab-agent-prompts
# Smart Review Apply
レビューフィードバックを読み取り、コードに反映する。
## オプション
- `-f <path>`: フィードバックをローカルファイルから読み取る(例: `-f reviews/review.md`)
- `-p <プロンプト>`: 適用方針に関する追加指示(例: `-p セキュリティ指摘のみ対応して`)
## ツール選択
GitHub API 操作には **GitHub MCP ツール**を優先。git 操作は Bash。
## 手順
### 1. フィードバック元の特定
以下の優先順位で自動判定(`-f` 指定時はそれを使用):
1. **PR レビューコメント**: 現在のブランチに PR があるか `list_pull_requests`(owner, repo, head: `<branch>`, state: `open`)で確認。PR があれば `pull_request_read` でレビューコメントを取得
2. **会話コンテキスト**: 直前の `/smart-review` 結果が会話内にあればそれを使用
3. **ローカルファイル**: `-f` で指定されたファイルを Read で読み取り
いずれも見つからない場合 → ユーザーにフィードバック元を確認。
### 2. フィードバックの分析・分類
各フィードバックを以下に分類:
| 分類 | 説明 |
|------|------|
| 🔴 要修正 | バグ・セキュリティ問題など必ず対応が必要 |
| 🟡 提案 | 改善提案、対応はユーザー判断 |
| 💬 質問 | 実装意図の確認、コードで回答が必要な場合あり |
| ✅ 承認 | 対応不要の肯定コメント |
### 3. 対応方針の提示
フィードバックごとに対応方針を提示する(例: [assets/feedback-response-example.md](assets/feedback-response-example.md) 参照)。
`-p` の指示があれば対応範囲をフィルタリング(例: セキュリティ指摘のみ)。フィルタ判定は次を優先する:
- 指摘文面(原文ラベル、例: `🔴 セキュリティ:` / `🔴 バグ:`)に `-p` の語と合致するキーワードが含まれるか
- 見出しの絵文字分類だけでは判断できない(🔴 はバグ・セキュリティ両方を含む)ため、語単位でマッチさせる
ユーザーの承認を得る。個別にスキップ指定も受け付ける。
### 4. 変更の実施
承認された対応方針に基づいてコードを修正:
- 各フィードバックに対応する変更を実施
- 変更後、対応したフィードバックをチェック済みとして進捗を報告
### 5. PR レビューへの返信(PR レビュー元の場合)
PR レビューコメントからの対応の場合、各コメントに対応状況を返信:
- 修正済み → `add_reply_to_pull_request_comment` で「対応しました」+ 変更概要を返信
- スキップ → 理由を返信
- 質問への回答 → 回答を返信
### 6. 完了報告
対応結果のサマリーを表示:
```
## 対応結果
- 🔴 要修正: 3件 → 3件対応済み
- 🟡 提案: 2件 → 1件対応、1件スキップ
- 💬 質問: 1件 → 返信済み
```
コミットする場合は `/smart-commit` を提案。
## 注