Agent Skills: PR Review Analysis

Analyze PR review comments from a GitHub PR URL. Fetch review comments, verify each finding against the actual codebase, assess validity (correct/incorrect/partial), present a structured summary with recommended actions, and optionally reply to each comment on GitHub. Use when given a PR review URL or when asked to check/analyze PR feedback.

UncategorizedID: breaking-brake/cc-wf-studio/pr-review-analysis

Install this agent skill to your local

pnpm dlx add-skill https://github.com/breaking-brake/cc-wf-studio/tree/HEAD/.claude/skills/pr-review-analysis

Skill Files

Browse the full folder contents for pr-review-analysis.

Download Skill

Loading file tree…

.claude/skills/pr-review-analysis/SKILL.md

Skill Metadata

Name
pr-review-analysis
Description
Analyze PR review comments from a GitHub PR URL. Fetch review comments, verify each finding against the actual codebase, assess validity (correct/incorrect/partial), present a structured summary with recommended actions, and optionally reply to each comment on GitHub. Use when given a PR review URL or when asked to check/analyze PR feedback.

PR Review Analysis

GitHub PR のレビューコメントを取得・分析し、各指摘の妥当性を検証してレポートを出力する。

Workflow

Step 1: レビューコメントの取得

  1. ユーザーから PR の URL またはリポジトリ情報と PR 番号を受け取る
  2. gh api を使ってレビューコメントを取得する:
    gh api repos/{owner}/{repo}/pulls/{number}/reviews
    gh api repos/{owner}/{repo}/pulls/{number}/comments
    
  3. コメントの一覧をパースし、指摘内容・対象ファイル・行番号を整理する

Step 2: 各指摘の検証

各レビューコメントについて:

  1. 該当コードの確認: 指摘が参照するファイルと行を Read ツールで読む
  2. 指摘内容の分析: レビューアの主張が技術的に正しいか検証する
  3. 妥当性の判定:
    • 正当 (Valid): 指摘が正しく、修正が必要
    • 不当 (Invalid): 指摘が誤っている、または該当しない
    • ⚠️ 部分的に正当 (Partial): 指摘の一部は正しいが、完全には当てはまらない

Step 3: 影響範囲の確認

指摘が参照するパターン(バグ、アンチパターン等)が他のファイルにも存在するか Grep ツールで確認する。 同一パターンが複数箇所にある場合、それらも報告に含める。

Step 4: レポート出力

以下の形式でまとめを出力する:

## PR Review Analysis: #{PR番号}

### Summary
- Total comments: {件数}
- Valid: {件数} | Partial: {件数} | Invalid: {件数}

### Details

| # | File | Severity | Validity | Summary | Action |
|---|------|----------|----------|---------|--------|
| 1 | path/to/file.ts:L42 | Major | ✅ Valid | 説明 | 修正必要 |
| 2 | path/to/file.ts:L100 | Minor | ⚠️ Partial | 説明 | 検討 |

### Detailed Analysis

#### Comment 1: [タイトル]
- **File**: `path/to/file.ts:L42`
- **Reviewer's point**: 指摘内容の要約
- **Verification**: 検証結果の説明
- **Verdict**: ✅ Valid
- **Recommended action**: 具体的な修正方針
- **Same pattern found in**: (該当する場合) 他のファイルパス

...

Step 5: レビューコメントへの返信

レポート出力後、修正対応が完了している場合はレビューコメントへの返信を提案する。

  1. ユーザー確認: 「コメントに返信しますか?」と確認する。ユーザーが承認した場合のみ返信を実行する
  2. 返信内容の生成: 各コメントの Verdict に応じた返信を生成する:
    • ✅ Valid: 修正コミットハッシュを含めて「Fixed in {hash}」形式で返信
    • ⚠️ Partial: 対応した部分と対応しない理由を簡潔に説明
    • ❌ Invalid: 該当しない理由を技術的に説明(例: 自動生成ファイルのため直接編集不可)
  3. 返信の実行: gh api で各コメントに返信する:
    gh api repos/{owner}/{repo}/pulls/{number}/comments \
      -f body='{返信内容}' \
      -F in_reply_to={comment_id}
    
  4. Outside-diff コメントの対応: インラインコメントとして返信できない指摘(outside-diff)は、関連するインラインコメントのスレッドにまとめて返信する

Notes

  • Bot によるレビュー(CodeRabbit, GitHub Actions 等)と人間のレビューの両方に対応する
  • レビューコメントに対する返信スレッドも考慮する
  • 指摘の severity(重大度)はレビューコメントのラベルまたは内容から推定する
  • 日本語で出力する(コード・パス等の技術用語は原文のまま)