agynio/gh-pr-review
Overview
This skill brings full inline GitHub PR review comment management to the terminal. It exposes complete review threads, structured JSON output, and commands to view, reply, resolve, and submit reviews—making it ideal for manual terminal workflows and LLM-driven automation.
How this skill works
The extension queries GitHub GraphQL to fetch reviews, comments, and thread replies, then returns stable, LLM-friendly JSON with consistent field names and pre-joined thread replies. Commands let you list threads with filters, reply to threads by thread_id, mark threads resolved/unresolved, and create or submit pending reviews with inline comments.
When to use it
- When you need the full inline review thread context from the terminal
- When building or running LLM-based automated PR review agents
- When scripting batch replies, resolves, or review submission workflows
- When you want compact, predictable JSON for programmatic processing
- When you need to focus on actionable comments (unresolved / not outdated)
Best practices
- Always specify the repository with -R owner/repo to avoid ambiguity
- Use --unresolved and --not_outdated to surface only actionable threads
- Save thread_id values from review view for reliable replies and resolves
- Use --tail to limit reply history and reduce payload size for agents
- Parse the JSON output instead of scraping text to maintain stability
Example use cases
- Run gh pr-review review view --unresolved --not_outdated to fetch actionable comments for the current PR
- Automate replies: list unresolved thread IDs, then call comments reply for each thread_id and optionally resolve
- Integrate into CI or bots: fetch structured review data and feed it to an LLM for automated suggestions
- Create a multi-line review: start a pending review, add inline comments with --add-comment, then submit with --submit
- Filter reviews by reviewer or state to generate targeted summary reports
FAQ
All commands use GitHub GraphQL for consistent review and thread IDs.
What output format should agents expect?
Commands return stable JSON with omitted nulls, predictable field names, and thread replies pre-joined and sorted by created_at.