Review CodeRabbit Comments
I have gathered information about the current PR. Here are the results:
<current_branch>
!git rev-parse --abbrev-ref HEAD
</current_branch>
<pr_info>
!gh pr view --json number,title,url 2>/dev/null || echo "No PR found for current branch"
</pr_info>
<coderabbit_review>
!gh pr view --json reviews --jq '.reviews[] | select(.author.login == "coderabbitai") | .body' 2>/dev/null | head -500
</coderabbit_review>
<coderabbit_comments>
!gh api repos/{owner}/{repo}/pulls/$(gh pr view --json number -q .number)/comments --jq '.[] | select(.user.login == "coderabbitai") | {id: .id, path: .path, line: .line, body: (.body | split("\n")[0:3] | join("\n"))}' 2>/dev/null
</coderabbit_comments>
Instructions
Step 1: Parse CodeRabbit Feedback
- •Extract actionable comments from the CodeRabbit review above
- •Categorize them into:
- •Code quality issues (type assertions, unclear code)
- •Accessibility issues (missing aria-labels, decorative icons)
- •Design system issues (inconsistent classes, hardcoded values)
- •Bug risks (type safety, null checks)
Step 2: Validate Each Comment
For each substantive comment, spawn a subagent to analyze it in isolation:
Use Task tool with subagent_type="general-purpose" for each comment: - Read the actual file and relevant context - Check if the suggestion aligns with project conventions (CLAUDE.md) - Determine verdict: VALID, INVALID, or PARTIALLY VALID - If partially valid, note what's correct and what's not
Launch multiple agents in parallel for efficiency.
Step 3: Summarize Findings
Create a summary table:
| Comment | File | Verdict | Recommendation |
|---|---|---|---|
| ... | ... | ... | ... |
Categorize into:
- •Should fix - Valid suggestions aligned with project guidelines
- •Skip - Invalid or overly defensive suggestions
- •Needs decision - Valid but requires user input on approach
Step 4: Ask for Confirmation
Before implementing, ask the user:
"I found X valid fixes to implement. Would you like me to proceed?"
Step 5: Implement Valid Fixes
- •Create a todo list with all fixes
- •Read each file before editing
- •Make the edits
- •Run verification:
bash
pnpm type-check && pnpm lint
Step 6: Resolve CodeRabbit Conversations
After implementing fixes, reply to each CodeRabbit comment to resolve the conversation:
For FIXED comments - Reply indicating the fix was applied:
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \
-f body="Fixed: [brief description of what was done]"
For INVALID comments - Reply explaining why it was already correct or not applicable:
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \
-f body="Already implemented: [explanation] / Not applicable: [reason]"
For SKIPPED comments - Reply explaining why it was intentionally skipped:
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \
-f body="Skipped: [reason - e.g., inconsistent with codebase patterns, over-defensive, etc.]"
Use the comment IDs from the <coderabbit_comments> section above.
Project Guidelines Reference
Key rules from CLAUDE.md to check against:
- •NO
any,enum, or type assertions (as T) - •Use
tryCatch()from@/lib/tryCatch(not native try/catch) - •Use
RouteNamesfrom@/router(not string literals) - •Features cannot import other features
- •shadcn-vue components in
src/components/ui/must NOT be modified - •Vue 3.5+ APIs required (defineProps destructuring, defineModel, useTemplateRef)