From odh-ai-helpers
Fetches CodeRabbit comments from a GitHub PR, evaluates each one, and applies code fixes or posts replies. Useful for handling automated code review feedback.
How this skill is triggered — by the user, by Claude, or both
Slash command
/odh-ai-helpers:coderabbit-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fetch CodeRabbit comments from a GitHub PR, evaluate each one, and take action: apply a code fix or post a reply.
Fetch CodeRabbit comments from a GitHub PR, evaluate each one, and take action: apply a code fix or post a reply.
PR: $ARGUMENTS
Determine the owner, repo, and pullNumber:
$ARGUMENTS is a PR number, use it directly.gh pr view or gh pr list.gh repo view --json owner,name to get the upstream coordinates. If that fails (e.g., no default remote set), fall back to parsing git remote -v to identify the upstream GitHub repository.upstream/origin. Prefer repo coordinates from PR metadata (gh pr view --json), then gh repo view, then git remote -v. If multiple candidates remain, ask the user.Inline review comments (CodeRabbit's line-level suggestions):
gh api --paginate repos/<owner>/<repo>/pulls/<pullNumber>/comments
PR-level comments (CodeRabbit's summary/walkthrough):
gh api --paginate repos/<owner>/<repo>/issues/<pullNumber>/comments
Filter both lists to only comments where user.login equals coderabbitai[bot].
For PR-level comments, skip any comment whose body contains <!-- walkthrough_start --> or <!-- This is an auto-generated comment: review in progress — these are CodeRabbit's walkthrough/summary posts, not actionable review feedback.
For inline comments, skip any comment that belongs to a resolved review thread (check the pull_request_review_id against resolved threads, or look for the "resolved": true marker if available).
If no actionable CodeRabbit comments are found, report that and exit.
For each CodeRabbit comment, analyze it carefully by reading the relevant source file(s).
For inline comments: use the path field to read the file with the Read tool. Use line or original_line to find the exact code location. The diff_hunk field shows the surrounding context.
Evaluate:
Category: classify as one of:
bug — actual code defect or logic errorsecurity — security vulnerabilityperformance — inefficiency or resource issuestyle — formatting, naming, readabilitydocs — missing or incorrect documentation/commentsnitpick — minor preference, not a real issuequestion — CodeRabbit is asking for clarificationValidity: does the comment point to a real issue?
valid — yes, should be addresseddebatable — reasonable disagreement existsinvalid — the code is correct and CodeRabbit is wrongRecommended action:
fix — the code should be changed; generate the fixreply — explain why the code is correct, or acknowledge and deferdismiss — noise; briefly acknowledge and move onShow a summary table first:
| # | File | Line | Category | Validity | Recommended Action | Summary |
|---|---|---|---|---|---|---|
| 1 | src/foo.ts | 42 | bug | valid | fix | "Variable x may be undefined" |
| 2 | src/bar.ts | 10 | nitpick | debatable | reply | "Use const here" |
Then show the full evaluation for each comment (bugs and security first, then performance, then others):
CodeRabbit says:
[exact quote]
Context (relevant code snippet):
[code from the file at that location]
Assessment: [Your evaluation: why valid/invalid, what the actual issue is]
Proposed action: fix | reply | dismiss
[If fix: show the exact code diff to apply]
[If reply or dismiss: show the draft reply text]
After presenting ALL comments, wait for the user to respond. The user may want to:
When the user is ready to act, the available actions per comment are:
Critical rule: Never apply fixes or post replies without explicit user approval. If unsure whether the user wants to act or keep discussing, keep discussing.
For "Apply fix":
sha256sum to confirm--proto '=https' --tlsv1.2 --fail --location --max-time 15 --connect-timeout 5For "Post reply" (inline review comment):
gh api -X POST repos/<owner>/<repo>/pulls/<pullNumber>/comments/<commentId>/replies -f body="<reply text>"
For "Post reply" (PR-level comment):
gh api -X POST repos/<owner>/<repo>/issues/<pullNumber>/comments -f body="<reply text>"
For "Edit & post":
Use AskUserQuestion to ask the user to provide their edited reply text, then post it using the appropriate gh api call above.
For "Skip": Move on.
After all comments are processed, output:
gh pr view --json headRefName,headRepositoryOwner plus git remote -v and git branch -a to confirm destination before pushing.coderabbitai[bot] — filter by thisid, path, line, original_line, diff_hunk, bodyid, body, user.logincoderabbitai[bot] — using any other string (e.g., coderabbit) will silently miss all comments.<!-- walkthrough_start --> markers.npx claudepluginhub ikredhat/skills-registry --plugin odh-ai-helpersFetches unresolved CodeRabbit review comments from GitHub PRs and auto-fixes them interactively or in batch using GitHub CLI and git.
Configures and executes CodeRabbit automated PR code reviews with custom review profiles, path instructions, and diff analysis.
Reads open GitHub PR review comments, triages by severity, applies code fixes, and drafts replies. Use when addressing PR feedback or code review.