mcpField
P
pr-review

pr-review

github.com/jellydnテスト・品質12651 回インストール4 日前に更新
リポジトリ

pr-review について

pr-review は、GitHub のプルリクエストレビューコメントを扱い、承認された対応を実施してテストで検証するスキルです。PR の URL または番号を指定でき、現在のブランチに紐づくオープンな PR も検出できます。

主な機能

  1. 01URL、番号、ブランチによる PR 特定
  2. 02gh によるレビューコメントの取得
  3. 03コメントの分類と解決状況の追跡
  4. 04承認済み変更の実施とチェック
  5. 05コメント抽出と優先度付きレポート作成

活用シーン

  1. 01GitHub PR の対応可能なフィードバックへの対処
  2. 02ブランチの PR コメントの確認と検証
  3. 03レビューコメントから優先度付きタスクリストを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jellydn/my-ai-tools --skill pr-review

インストール後、Claude Code で/pr-reviewを入力して読み込まれたか確認します。

同梱ファイルscripts/extract-pr-comments.js

詳細

PR レビューコメントの修正

PR レビューコメントで要求された変更を実装して修正します。

使用方法

/pr-review <PR_URL>      # Review PR by URL (expects full GitHub URL)
/pr-review <PR_NUMBER>   # Review PR by number (expects number, e.g., 123)
/pr-review               # Auto-detect PR from current branch
📋 引数の処理

このコマンドは、$ARGUMENTS から PR 識別子を受け取ります。

  1. PR URL:GitHub PR の完全な URL(例:https://github.com/owner/repo/pull/123)
  2. PR 番号:PR 番号のみ(例:123)
  3. 引数なし:現在の Git ブランチに関連付けられた PR を自動検出します

$ARGUMENTS が指定されている場合は、それを PR 識別子として使用します。それ以外の場合は、以下を使って現在のブランチの PR を自動検出します。

gh pr view --json number,url -q '.number'

これは現在のブランチにあるオープンな PR から PR 番号を抽出し、後続のコマンドで使用します。

現在のブランチにオープンな PR が見つからない場合は、次のエラーを表示します。

Error: No open pull request found for the current branch.

To review a specific PR:
  /pr-review <PR_URL>
  /pr-review <PR_NUMBER>

Or create a PR first:
  gh pr create

手順

  1. $ARGUMENTS を解析し、PR 識別子(URL、番号、自動検出)を特定します
  2. gh を使用して、PR の詳細、レビューのスレッド、イシューコメント、権威あるスレッド解決状態を取得します
  3. 各コメントを、対応が必要、情報提供、意見の相違/曖昧、または解決済みに分類します。意見の相違がある要求や曖昧な要求を変更する前に確認します
  4. 対応が必要なコメントごとに、コメント ID、変更予定の内容、検証コマンドを記録します
  5. 承認された修正を実装します
  6. 対象を絞ったテストを実行し、その後、関連するより広範なチェックを実行します
  7. コメントと変更の一覧を再確認し、対応が必要なスレッドがすべて解決済み、または明示的に保留されていることを確認します
  8. 変更をコミットします

利用可能なスクリプト

PR コメントの抽出

extract-pr-comments.js スクリプトは、GitHub PR のレビューコメントとイシューコメントを処理し、対応が必要な TODO リストを作成します。

# Usage
node $SKILL_PATH/scripts/extract-pr-comments.js <review-comments-file> <issue-comments-file> <threads-file> [output-file]

# Example
gh api graphql \
  -f owner=OWNER -f name=REPO -F number=4972 \
  -f query='query($owner:String!, $name:String!, $number:Int!) { repository(owner:$owner, name:$name) { pullRequest(number:$number) { reviewThreads(first:100) { nodes { isResolved comments(first:100) { nodes { databaseId } } } } } } }' \
  > pr-4972-threads.json

node $SKILL_PATH/scripts/extract-pr-comments.js \
  pr-4972-review-comments-raw.json \
  pr-4972-issue-comments-raw.json \
  pr-4972-threads.json \
  pr-4972-comments.ndjson

機能:

  • GitHub のレビュー スレッドファイルが必要です。isResolved: true のスレッドに属する場合にのみ、レビューコメントをスキップします
  • 返信があっても解決済みとは見なしません。返信のないスレッドは引き続き対応が必要です
  • コメントを重大度(Critical、High、Medium、Low)で分類します
  • コメントをカテゴリ(セキュリティ、パフォーマンス、保守性など)に分類します
  • 3 つの出力ファイルを作成します:
    • .ndjson - 構造化されたコメントデータ
    • -todo.md - 優先順位付けされた TODO リスト
    • -summary.md - 絵文字付きの分析概要

重大度の分類:

  • 🔴 Critical:セキュリティ、脆弱性、エクスプロイト
  • 🟠 High:バグ、エラー、後方互換性を損なう変更、クラッシュ、失敗
  • 🟡 Medium:パフォーマンス、改善、リファクタリング、最適化
  • 🟢 Low:その他すべて

カテゴリ:

  • 🔒 セキュリティ
  • ⚡ パフォーマンス
  • 🔧 保守性
  • ♿ アクセシビリティ
  • 🧪 テスト
  • 📚 ドキュメント
  • 🏷️ 型付け
  • 🎨 スタイル
  • ✨ コード品質

例

# Fix review comments for a PR using URL
/pr-review https://github.com/owner/repo/pull/123

# Fix review comments using PR number
/pr-review 123

# Auto-detect PR from current branch
/pr-review

# After extracting comments with the script, work through the TODO list
# The TODO list is ordered by priority: Critical → High → Medium → Low

コメント