Skip to main content
Generalbendrucker

github:pr-comments

Fetch unresolved review comments from a GitHub pull request. Use when checking what review feedback needs to be addressed, whether review comments have been resolved, or resuming work on a PR with outstanding feedback.

Stars
13
Source
bendrucker/claude
Updated
2026-05-31
Slug
bendrucker--claude--pr-comments
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/bendrucker/claude/HEAD/plugins/github/skills/pr-comments/SKILL.md -o .claude/skills/pr-comments.md

Drops the SKILL.md into .claude/skills/pr-comments.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

PR Review Comments

Fetch unresolved review threads from a GitHub pull request, filtered for context efficiency. Avoids flooding the context with resolved threads. Outdated threads are included but marked.

Usage

bun ${CLAUDE_PLUGIN_ROOT}/scripts/pr-comments.ts <pr-url> [--role author|reviewer] [--since last-review|<date>] [--bots]

Arguments

  • <pr-url>: GitHub PR URL (e.g., https://github.com/owner/repo/pull/123)
  • --role: author or reviewer (default: auto-detect based on authenticated user)
  • --since: filter to threads with activity since last-review or an ISO date
  • --bots: only review-bot threads (accounts the API types as Bot), plus any logins in $CLAUDE_PLUGIN_DATA/reviewers.txt

Role

  • author (default when authenticated user is the PR author): shows all unresolved threads, the feedback that needs addressing.
  • reviewer (default when authenticated user is not the PR author): shows only unresolved threads started by the authenticated user, to check whether comments have been resolved.

Since

  • last-review: Scopes to threads with activity since the last relevant review.
    • As author: since the most recent review by a human other than you (bot reviews are excluded)
    • As reviewer: since your most recent submitted review
  • ISO date: explicit cutoff (e.g., 2025-01-15)

Output

Compact markdown grouped by file with line numbers and full comment bodies, enough to act on the feedback directly without additional API calls. Each thread prints its node id, used to reply and resolve.

Replying and Resolving

Reply to and resolve threads through the addPullRequestReviewThreadReply and resolveReviewThread mutations, addressing a thread by the id from the fetch output.

# Reply, or reply and resolve in one call
bun ${CLAUDE_PLUGIN_ROOT}/scripts/review-threads.ts reply <thread-id> --body "..."
bun ${CLAUDE_PLUGIN_ROOT}/scripts/review-threads.ts reply <thread-id> --resolve --body "..."

# Resolve alone (prefer reply --resolve so the resolve carries context)
bun ${CLAUDE_PLUGIN_ROOT}/scripts/review-threads.ts resolve <thread-id>

Pass the reply text with --body, --bodyFile <path>, or stdin. Don't resolve without a reply: a silent resolve hides why the thread closed.