| name | pr-review-handler |
| description | プルリクエストのレビューコメントに体系的に対応するスキル。未解決コメントを取得し、問題を分析し、修正案を提案し、コメント単位でコミットを作成し、手動での返信とresolveをガイドします。GitHubのPRレビューに構造化された整理された対応が必要な場合に使用してください。 |
PRレビューハンドラー
概要
プルリクエストのレビューコメントを構造化された体系的な方法で処理します。このスキルは、GitHubから未解決のレビューコメントを取得し、各問題を分析し、詳細な修正案を提案し、コメントごとのコミット作成をガイドし、手動返信による人間味のあるコミュニケーションをサポートします。
このスキルを使用する場合
以下の場合にこのスキルを使用:
- ユーザーがPRレビューコメントに対応する必要がある
- 複数のレビューコメントを整理して処理する必要がある
- レビューコメントを個別のコミットで対応したい
- 人間的なコミュニケーションを保ちながらレビュー問題の修正ガイダンスが必要
ワークフロー
PRレビューを体系的に処理するには、/resolve-reviewコマンドを使用します。
このスキルは/resolve-reviewコマンドと統合されており、以下のワークフローを自動的に実行します:
1. 未解決コメントの取得
/resolve-reviewコマンドがscripts/get_unresolved_reviews.shを使用して未解決のレビュースレッドを取得します。
未解決コメントが存在しない場合は、ユーザーに通知して終了。
2. 各コメントを個別に処理
各未解決コメントに対して:
a) コメントのコンテキストを表示:
- コメント番号:
[1/5] - ファイルと行:
src/utils/helper.ts:42 - レビュアー:
@username - コメント本文(マークダウン形式)
- 関連コード(diffHunkまたはファイルを読み込んで取得)
b) 問題を分析:
- レビュアーは何を懸念しているか?
- なぜこれが問題なのか?
- 影響は何か?
c) 修正案を提案:
pathとline情報を使用して現在のコードを読み込む- 詳細な修正提案を生成し、以下を説明:
- 具体的な問題点
- なぜ修正が必要か
- どう修正するか(具体的なコード変更)
- どのファイルとどの行を修正するか
d) ユーザーが修正を実装:
- ユーザーがエディタで提案された変更を手動で実装
- ユーザーが必要に応じて変更をテスト
e) コメント単位でコミットを作成:
ユーザーが実装を確認した後、焦点を絞ったコミットを作成:
git add <修正したファイル>
git commit -m "fix: <簡潔な説明>
PR #<番号>の@reviewerからのレビューコメントに対応
<修正の詳細説明>
"
重要: 履歴を明確にし追跡しやすくするため、1つのレビューコメントにつき1つのコミットを作成。
f) ユーザーが手動で返信:
GitHubで手動で返信を投稿するようユーザーに通知します。これにより、コードレビューの会話における人間味が保たれます。
返信テンプレートの例:
- "Fixed in
! Thanks for catching this." - "ご指摘の手法を使って更新しました。良い指摘です!"
- "推奨通りにリファクタリングしました。レビューありがとうございます!"
手動返信により人間的な温かみと個人的なコミュニケーションが維持されることを強調します。
3. すべてのコメントに対して繰り返し
ステップ2a-2fを繰り返して、すべての未解決コメントを処理します。
4. 最終サマリー
すべてのコメント処理後、以下を表示:
- 処理したコメントの総数
- 作成したコミット数
- 変更をプッシュするリマインダー:
git push - オプション: REVIEW_NOTES_{PR番号}.md追跡ファイルを作成
スラッシュコマンド統合
このスキルは/resolve-reviewコマンドと統合されています。
使用方法
/resolve-review [PR番号またはURL]
/resolve-reviewコマンドは以下を自動的に実行します:
- 現在のブランチまたは指定されたPRの未解決コメントを取得
- 各コメントを順番に表示し、修正案を提案
- コメント単位でのコミット作成をガイド
- ユーザーの手動返信を促進
スクリプト
get_unresolved_reviews.sh
GitHub GraphQL APIを使用して未解決のレビュースレッドを取得します。
注意: このスクリプトは/resolve-reviewコマンドから自動的に呼び出されます。直接実行する必要は通常ありません。
手動使用方法(上級者向け):
./scripts/get_unresolved_reviews.sh <owner> <repo> <pr番号>
出力: 完全なコメント詳細を含む未解決レビュースレッドのJSON配列
要件: 認証済みのgh CLIツール
リファレンス
workflow.md
PRレビューを体系的に処理するための段階的な手順を含む詳細なワークフロードキュメント。
github_api.md
レビュースレッド用のGitHub GraphQL APIリファレンス。クエリ構造とフィールドドキュメントを含む。
重要な注意事項
- コメント単位のコミット: 履歴を明確にするため、常に1つのレビューコメントにつき1つのコミットを作成
- 人間的な返信: 返信を自動化しない - コミュニケーション品質を保つため、ユーザーが手動で返信すべき
- 順次処理: 混乱を避けるため、コメントは一度に1つずつ処理
- コンテキストが重要: 修正案を提案する際は、常に関連するコードのコンテキストを表示
- 進捗追跡: オプションでREVIEW_NOTES_{PR番号}.mdを使用して処理済みコメントを追跡