Prerequisites
gh pr-review extension
Before using this command, check if the gh pr-review extension is installed:
bashgh extension list | grep -q pr-review || gh extension install agynio/gh-pr-review
Resolve PR context
Every gh pr-review subcommand requires both --pr <number> and --repo <owner/repo> — do not omit either. Look the values up once at the start of the workflow and substitute the literal numbers and slugs into every later command.
Get the PR number for the current branch:
bashgh pr view --json number -q .number
Get the repository slug:
bashgh repo view --json nameWithOwner -q .nameWithOwner
Then pass the resulting values directly — e.g. --pr 42 --repo posit-dev/skills — on every subsequent gh pr-review call in this workflow (review view, comments reply, threads resolve, etc.).
Workflow
- Fetch and display all unresolved PR review threads
- Analyze each thread to understand the requested changes
- For each thread:
- Make the necessary code modifications
- (When possible) Add unit tests to verify the change
- Commit the changes with descriptive commit messages using conventional commit specification
- Report back with a summary of addressed threads
- Ask if the user wants to resolve the threads. If so, reply to each thread indicating what was done and then resolve the thread.
CLI Reference
View PR Reviews and Comments
Display all reviews, inline comments, and replies for a pull request:
bashgh pr-review review view --pr <number> --repo <owner/repo>
Common filters:
--reviewer <login>— Filter by specific reviewer--states <list>— Comma-separated review states (APPROVED, CHANGES_REQUESTED, COMMENTED, DISMISSED)--unresolved— Show only unresolved threads--tail <n>— Show only the last n replies per thread--include-comment-node-id— Include GraphQL node IDs for replies
Reply to Review Threads
bashgh pr-review comments reply --thread-id <PRRT_...> --body "<reply-text>" --repo <owner/repo> --pr <number>
For multi-line replies, pass --body "$(cat <<'EOF' ... EOF\n)" heredoc syntax.
Resolve a Thread
bashgh pr-review threads resolve --thread-id <PRRT_...> --pr <number> --repo <owner/repo>
Thread IDs (format PRRT_...) come from review view --include-comment-node-id.

