get-pr-comments
Get PR Comments
Fetch, organize, and present all comments on a GitHub pull request — issue-level comments, review bodies, and inline review comments — grouped by human vs bot, with actionable items (must-fix, optional) extracted from structured reviews and inline comments.
Pre-Flight Context
- Current branch:
!git rev-parse --abbrev-ref HEAD - Repo:
!gh repo view --json nameWithOwner --jq .nameWithOwner 2>/dev/null || echo "unknown" - Current branch PR:
!gh pr view --json number,title --jq '"\(.number) — \(.title)"' 2>/dev/null || echo "none"
Workflow
1. Identify the PR
Parse $ARGUMENTS for a PR number or URL. If present, use it directly.
If no arguments provided, check the pre-flight "Current branch PR" value. If it contains a PR number (not "none"), use the detected PR.
If no PR detected, list open PRs:
gh pr list --state open --limit 10 --json number,title,headRefName --jq '.[] | "\(.number)\t\(.title)\t(\(.headRefName))"'
If the list is empty, report "No open PRs found for this repository" and stop. If only one open PR exists, use it directly. Otherwise present options via AskUserQuestion.
2. Fetch comments
Run the fetch script with the resolved PR number (default text output is
pre-formatted and token-efficient; use --output json only for programmatic
consumers):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/get-pr-comments/scripts/fetch_pr_comments.py <PR_NUMBER>
Exit 0 = proceed. Exit 2 = gh auth or network error — report to user.
3. Present results
The script output is already formatted for presentation. If the output starts with "0 human, 0 bot", report "No comments on this PR yet" and skip to Step 4.
Otherwise, relay the script output directly. The output is structured as: actionable items (must-fix, optional) first, then human comments, then bot comments (truncated). Do not reformat or reparse — present as-is.
If must-fix items are listed, check whether a subsequent review already
resolved them by querying both issue comments and formal PR reviews. Pipe
to external jq — gh api rejects --slurp combined with --jq in
current versions, and --paginate --slurp yields an array-of-pages that
must be flattened with [.[][]]:
# Latest issue-level comment (paginated — PRs may exceed 30 comments):
gh api repos/{owner}/{repo}/issues/<PR_NUMBER>/comments --paginate --slurp \
| jq -r '[.[][]] | last | .body // ""'
# Latest formal PR review body (approvals and review-body sign-offs land here,
# not in issue comments):
gh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/reviews --paginate --slurp \
| jq -r '[.[][] | select(.body != "")] | last | .body // ""'
If either output contains phrases like "ready to merge", "all issues fixed", "lgtm", "approved", or similar resolution language, surface that summary first with a note that the listed must-fix items may already be resolved. Then present the full script output.
4. Suggest next steps
After presenting comments, offer context-appropriate actions:
- If must-fix items exist: "Want me to address these must-fix items?"
- If inline comments reference specific files: "Want me to read the referenced files and check if these issues are already resolved?"
- If the PR is the user's: "Want me to respond to any of these comments?"
More from gupsammy/claudest
create-skill
>
13generate-image
>
11improve-skill
>
9repair-skill
This skill should be used when the user asks to "repair my skill", "audit this skill", "fix my skill", "review skill quality", "check if my skill is well-written", "diagnose skill problems", "what's wrong with this skill", or wants structural correctness fixes. Not for adding features or improving effectiveness — use improve-skill for that. Not for agents — use repair-agent.
7brainstorm
>
6run-research
>
3