Claude Code Plugins

Community-maintained marketplace

Feedback

pr-review-handler

@nyatinte/dotfiles
1
0

プルリクエストのレビューコメントに体系的に対応するスキル。未解決コメントを取得し、問題を分析し、修正案を提案し、コメント単位でコミットを作成し、手動での返信とresolveをガイドします。GitHubのPRレビューに構造化された整理された対応が必要な場合に使用してください。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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) 修正案を提案:

  • pathline情報を使用して現在のコードを読み込む
  • 詳細な修正提案を生成し、以下を説明:
    • 具体的な問題点
    • なぜ修正が必要か
    • どう修正するか(具体的なコード変更)
    • どのファイルとどの行を修正するか

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を使用して処理済みコメントを追跡