mcpField
P
pr-review

pr-review

github.com/jellydnTesting & quality12651 installsUpdated 4d ago
Repository

About pr-review

pr-review is a skill for processing GitHub pull request review comments, implementing approved actionable changes, and verifying them with tests. It accepts a PR URL or number, or detects the current branch’s open PR.

Key features

  1. 01Identify PR by URL, number, or branch
  2. 02Fetch review threads and comments with gh
  3. 03Classify comments and track resolution
  4. 04Implement approved changes and run checks
  5. 05Extract comments into prioritized reports

Use cases

  1. 01Address actionable feedback on a GitHub PR
  2. 02Review and verify comments for the branch’s PR
  3. 03Create a prioritized TODO list from review comments

Install

Copy the command and run it in a terminal.

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

After installing, type/pr-reviewin Claude Code to confirm it loaded.

Bundled filesscripts/extract-pr-comments.js

Details

From the project README

Fix PR Review Comments

Fix PR review comments by implementing the requested changes.

Usage

/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
📋 Argument Handling

The command accepts the PR identifier from $ARGUMENTS:

  1. PR URL: Full GitHub PR URL (e.g., https://github.com/owner/repo/pull/123)
  2. PR Number: Just the PR number (e.g., 123)
  3. No Arguments: Auto-detect the PR associated with the current Git branch

If $ARGUMENTS is provided, use it as the PR identifier. Otherwise, auto-detect the current branch's PR using:

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

This extracts the PR number from the current branch's open PR for use in subsequent commands.

If no open PR is found for the current branch, show this error:

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

Process

  1. Parse $ARGUMENTS to determine PR identifier (URL, number, or auto-detect)
  2. Fetch PR details, review threads, issue comments, and authoritative thread-resolution state using gh
  3. Classify each comment as actionable, informational, disputed/ambiguous, or resolved; ask before changing disputed or ambiguous requests
  4. For each actionable comment, record the comment ID, planned change, and verification command
  5. Implement the approved fixes
  6. Run focused tests, then the relevant broader checks
  7. Recheck the comment-to-change list and confirm every actionable thread is resolved or explicitly deferred
  8. Commit the changes

Available Scripts

Extract PR Comments

The extract-pr-comments.js script processes GitHub PR review comments and issue comments to create actionable TODO lists.

# 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

What it does:

  • Requires a threads file of GitHub review threads and skips a review comment only when its thread has isResolved: true
  • Does not treat a reply as resolution; an unanswered thread stays actionable
  • Classifies comments by severity (critical, high, medium, low)
  • Categorizes comments (security, performance, maintainability, etc.)
  • Creates 3 output files:
    • .ndjson - Structured comment data
    • -todo.md - Prioritized TODO list
    • -summary.md - Analysis summary with emojis

Severity classification:

  • 🔴 Critical: security, vulnerability, exploit
  • 🟠 High: bug, error, breaking, crash, fail
  • 🟡 Medium: performance, improvement, refactor, optimize
  • 🟢 Low: everything else

Categories:

  • 🔒 Security
  • ⚡ Performance
  • 🔧 Maintainability
  • ♿ Accessibility
  • 🧪 Testing
  • 📚 Documentation
  • 🏷️ Typing
  • 🎨 Style
  • ✨ Code Quality

Examples

# 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

Comments

Markdown supported