# Smart Review Apply

> PR レビューコメント・ローカルファイル・会話内のレビュー結果からフィードバックを読み取り、コードに反映する。ユーザーが「レビュー反映して」「フィードバック適用」「/smart-review-apply」と言ったら起動する。

- Skill: `mjcreativelab/smart-review-apply` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add mjcreativelab/smart-review-apply`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mjcreativelab/smart-review-apply/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mjcreativelab (https://skillmd.com/u/mjcreativelab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mjcreativelab/smart-review-apply

---


# 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` を提案。

## 注意事項

- フィードバックの意図を正確に理解してから変更する — 不明点はユーザーに確認
- 変更は指摘箇所に限定する — レビュー対象外のリファクタリングはしない
- `--no-verify` は使わない / force push はしない / push はしない
- 対応が大規模になる場合は、フィードバックごとに個別にコミットすることを提案

