
Github Pr Review
Parse a CodeRabbit PR review body into actionable, duplicate, minor, and nitpick comment buckets so an agent can fix findings in order.
Install
npx skills add https://github.com/fvadicamo/dev-agent-skills --skill github-pr-reviewWhat is this skill?
- Maps CodeRabbit PR-level review API body structure with collapsible details sections
- Separates actionable, outside-diff, duplicate, minor, and nitpick comment groups
- Documents informational sections to ignore (review info, run configuration, path filters)
- Supports global AI prompt block embedded in the review for batch fixes
- Aligns severity handling with CAUTION banners for non-inline actionable items
Adoption & trust: 503 installs on skills.sh; 63 GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Improve Codebase Architecturemattpocock/skills
Zoom Outmattpocock/skills
Caveman Reviewjuliusbrussee/caveman
Requesting Code Reviewobra/superpowers
Receiving Code Reviewobra/superpowers
Request Refactor Planmattpocock/skills
Journey fit
Primary fit
Pull request review is the canonical Ship shelf for turning automated review output into merge-ready code. CodeRabbit posts a structured review document—not just inline comments—so subphase review matches how solo builders triage before merge.
Common Questions / FAQ
Is Github Pr Review safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Github Pr Review
# CodeRabbit review parsing Guide for extracting and processing all comment types from CodeRabbit PR reviews. ## Review body structure CodeRabbit posts a single PR-level review (via `pulls/$PR/reviews` API) containing multiple sections as collapsible `<details>` blocks. The body follows this structure: ``` Actionable comments posted: N > [!CAUTION] > Some comments are outside the diff and can't be posted inline... <details> <summary>⚠️ Outside diff range comments (N)</summary> (actionable comments on code outside the PR diff) </details> <details> <summary>♻️ Duplicate comments (N)</summary> (issues already flagged in a previous review) </details> <details> <summary>🟡 Minor comments (N)</summary> (lower severity comments grouped to reduce inline noise) </details> <details> <summary>🧹 Nitpick comments (N)</summary> (style/convention issues, lowest priority) </details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary> (global prompt covering all comments in this review) </details> <!-- Informational sections (not actionable, ignore): --> <details><summary>ℹ️ Review info</summary></details> <details><summary>⚙️ Run configuration</summary></details> <details><summary>📥 Commits</summary></details> <details><summary>⛔ Files ignored due to path filters (N)</summary></details> <details><summary>📒 Files selected for processing (N)</summary></details> <details><summary>🚧 Files skipped from review as they are similar to previous changes (N)</summary></details> ``` Not all sections are always present. CodeRabbit only includes sections that have comments. Other severity-based sections (e.g., "🔴 Critical comments", "🟠 Major comments") may also appear. ## Fetching CodeRabbit reviews ```bash REPO=$(gh repo view --json nameWithOwner -q '.nameWithOwner') PR=$(gh pr view --json number -q '.number') # Get all CodeRabbit review bodies (may be multiple reviews across pushes) gh api repos/$REPO/pulls/$PR/reviews?per_page=100 --jq ' [.[] | select(.user.login | startswith("coderabbitai")) | {id, submitted_at, body}] ' ``` The `id` field is the review ID (visible in the GitHub URL as `#pullrequestreview-<id>`). Use this as the stable identifier for tracking. ## Parsing sections from the body Each section is a `<details>` block. Extract them by matching the summary text: | Summary pattern | Comment type | Default severity | |----------------|--------------|-----------------| | `⚠️ Outside diff range comments` | Code outside the PR diff | Use per-comment severity | | `♻️ Duplicate comments` | Already flagged in previous reviews | Use per-comment severity | | `🟡 Minor comments` | Lower severity, grouped to reduce noise | MEDIUM/LOW (use per-comment) | | `🧹 Nitpick comments` | Style/convention issues | LOW | | `🤖 Prompt for all review comments with AI agents` | Global AI context prompt | N/A (not a comment) | Other severity-based sections like "🔴 Critical comments" or "🟠 Major comments" may appear. Treat any unrecognized `<details>` section with comments as actionable and classify by per-comment severity. Informational sections (`ℹ️ Review info`, `⚙️ Run configuration`, `📥 Commits`, `⛔ Files ignored due to path filters`, `📒 Files selected for processing`, `🚧 Files skipped from review as they are similar to previous changes`) are not actionable. Ignore them. ### Per-comment structure inside sections Each file group is wrapped in a `<details>` block. The summary format varies: ``` <!-- Outside diff / Duplicate sections: file path + count --> <details> <summary>file/path.ext (N)</summary> <!-- Minor / Nitpick sections: file path + line range + count --> <details> <summary>file/path.ext-X-Y (N)</summary> ``` Inside each file group, individual comments follow this pattern: ``` `X-Y`: _<emoji> <type>_ | _<color> <severity>_ **Title text** Description paragraph(s)... As per coding guidelines, `path/**`: "quote..." (optional, references project rules) Also applies to: X-Y, X