Use when needing Claude bot review recommendations from PR - automatically waits for workflows (including Claude review) to complete, then extracts recommendations and returns concise summary without loading full review into context
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: getting-pr-review-comments
description: Use when needing Claude bot review recommendations from PR - automatically waits for workflows (including Claude review) to complete, then extracts recommendations and returns concise summary without loading full review into context
---
# Getting PR Review Comments
## Overview
Retrieve Claude Code review bot comments from a PR and extract actionable recommendations.
**Core principle:** Run in subagent to save context. Return only recommendations, not full comment.
**Automatic dependency:** This skill automatically waits for workflows (including Claude review) to complete before fetching comments.
## CRITICAL: Scope Guardrails
**This skill ONLY extracts and reports review recommendations. It NEVER fixes issues.**
When you find review recommendations:
- ✅ Extract the recommendations from the Claude bot comment
- ✅ Format them as a numbered list with severity and location
- ✅ Return the concise summary
- ❌ DO NOT investigate the recommendations
- ❌ DO NOT read the code files mentioned
- ❌ DO NOT propose fixes
- ❌ DO NOT make any code changes
**Why:** This skill runs in a subagent to save tokens. Addressing recommendations should happen in main
context with user approval, not automatically in the subagent. Return the recommendations and let the
caller decide what to do.
## When to Use
Use when you need:
- Claude bot's review recommendations for a PR
- Code review feedback after workflows complete
- Action items from automated review
**When NOT to use:**
- Need human reviewer comments (different workflow)
## Workflow
### Step 0: Wait for Workflows to Complete (Automatic)
Before fetching review comments, ensure all workflows are complete (Claude review is a workflow job).
**Skill location:** `~/.claude/skills/awaiting-pr-workflows/SKILL.md`
Read and execute the `awaiting-pr-workflows` skill's workflow to:
- Check for unpushed commits
- Verify PR exists and commit correlation
- Wait for workflows to start (up to 30s)
- Wait for workflows to complete (up to 20 minutes)
Once all workflows (including Claude Code Review) are complete, proceed to Step 1 below.
### Step 1: Get PR Issue Comments (Not Review Comments)
**Important:** Claude bot posts general PR comments, not inline code review comments.
Use the `comments` field from `gh pr view`, not `gh api .../pulls/.../comments`.
```bash
# Get PR comments (issue-level comments, not inline review comments)
gh pr view $PR_NUM --json comments \
--jq '.comments[] | {author: .author.login, body: .body, createdAt: .createdAt}'
```
### Step 2: Filter for Most Recent Claude Bot Comment
**Critical:** Only use the MOST RECENT comment from Claude bot.
The bot may post multiple iterations during review - we only want the latest.
```bash
# Get only the most recent Claude bot comment
gh pr view $PR_NUM --json comments \
--jq '.comments
| map(select(.author.login == "claude"))
| sort_by(.createdAt)
| reverse
| .[0]'
```
**Common bot usernames to check:**
- `claude` (most common in this repo)
- `github-actions[bot]`
- `claude-code-bot`
- `anthropic-claude[bot]`
### Step 3: Extract Recommendations
Parse the comment body for:
- **Recommendation blocks** - Usually markdown sections like "## Recommendations" or "### Suggestions"
- **File references** - Format: `file.ts:123` or `file.ts#L123`
- **Severity markers** - "⚠️", "❌", "💡", or labels like "[HIGH]", "[MEDIUM]"
## Return Format
**Return to main context:**
```markdown
Claude Code Review Recommendations for PR #{number}:
1. **[Severity]** File:Line - Brief description
- Detailed recommendation
- Link to comment
2. **[Severity]** File:Line - Brief description
- Detailed recommendation
- Link to comment
[Total: N recommendations]
[Review comment URL: https://...]
```
## Example Implementation
```bash
#!/bin/bash
# Run this in subagent
PR_NUM=$1
# Get only the most recent Claude bot comment
LATEST_COMMENT=$(gh pr view $PR_NUM --json comments \
--jq '.comments
| map(select(.author.login == "claude"))
| sort_by(.createdAt)
| reverse
| .[0]')
# Extract the body from the most recent comment
COMMENT_BODY=$(echo "$LATEST_COMMENT" | jq -r '.body')
# Parse and extract recommendations from the body
# Look for sections like "## 🔴 Critical Issues", "## ⚠️ Warnings", etc.
# Format as numbered list with severity, location, and description
# (Actual parsing depends on Claude bot's comment format)
# Return concise summary (limit to key recommendations)
```
## Common Mistakes
**Returning all Claude bot comments instead of just the latest**
- **Problem:** Bot may post multiple review iterations; returning all creates confusion
- **Fix:** Sort by `createdAt`, reverse, take `.[0]` to get only most recent
**Loading full comment into main context**
- **Problem:** Claude reviews can be 10k+ tokens
- **Fix:** Extract just the recommendations in subagent
**Not waiting for review to complete**
- **Problem:** Review job may still be running
- **Fix:** Use `awaiting-pr-workflows` first
**Returning raw JSON/markdown**
- **Problem:** Hard to parse in main context
- **Fix:** Format as numbered list with clear structure
**Using inline review comments API instead of PR comments**
- **Problem:** `gh api repos/.../pulls/.../comments` returns inline code comments, not bot summaries
- **Fix:** Use `gh pr view --json comments` for issue-level comments
## Quick Reference
| Task | Command |
|------|---------|
| List all PR comments | `gh pr view $PR --json comments` |
| Get most recent Claude comment | `gh pr view $PR --json comments --jq '.comments \| map(select(.author.login == "claude")) \| sort_by(.createdAt) \| reverse \| .[0]'` |
| Extract comment body | `jq -r '.body'` |
| Parse recommendations | Look for "## 🔴 Critical Issues", "## ⚠️ Warnings", "## 💡 Suggestions" sections |
## Use Subagents
**CRITICAL:** Always run in subagent.
```
Use Task tool with subagent_type='general-purpose'.
Give them this skill and the PR number.
They return just the recommendations.
```
**Why:** Saves 100k+ tokens by not loading full review into main context.
No comments yet. Be the first to comment!