name: review_comments description: Verdict PR review comments pragmatically - address valid ones, dismiss over-engineered or incorrect ones, and respond to each. Use this skill when handling PR review feedback, code review comments, or when asked to address reviewer suggestions.
Review Comments
Pragmatically triage PR review comments: fix what matters, push back on what doesn't.
Phase 1: Fetch Comments
- Get the PR number from context or user input
- Fetch all review comments:
gh pr view <number> --json reviews,comments gh api repos/{owner}/{repo}/pulls/<number>/comments gh api repos/{owner}/{repo}/pulls/<number>/reviews - Read the actual code being reviewed to understand context
Phase 2: Verdict Each Comment
For each comment, classify it into one of:
ADDRESS - The comment is correct and actionable
- Genuine bugs or logic errors
- Missing edge cases that could actually happen
- Security issues
- Correctness issues backed by evidence
DISMISS - The comment is over-engineered, stylistic, or wrong
- Adding abstractions for hypothetical future needs
- Suggesting error handling for impossible scenarios
- Style preferences with no functional impact
- Refactoring suggestions unrelated to the PR's purpose
- Incorrect assumptions about how the code works
- "What if..." scenarios that won't happen given the codebase constraints
- Suggesting tests for trivial code paths
- Adding comments/docs to self-evident code
ACKNOWLEDGE - Minor valid point, not worth changing
- Technically correct but the cost of change outweighs the benefit
- Valid style point but not a blocker
- Good idea for a follow-up, not this PR
Phase 3: Act on Each Comment
For ADDRESS comments
- Make the code change
- Reply explaining what was fixed
For DISMISS comments
Reply with a concise, respectful explanation of why you're not making the change. Be direct, not defensive. Examples:
- Over-engineering: "This is a single-use path - I'd rather keep it simple and extract if/when we need reuse."
- Impossible scenario: "This can't happen because [X guarantees Y]. Adding a guard here would suggest the invariant isn't trustworthy."
- Style preference: "Both approaches work - I'll keep the current style for consistency with the surrounding code."
- Wrong assumption: "Actually, [correct explanation]. The current code handles this because [reason]."
For ACKNOWLEDGE comments
Reply acknowledging the point briefly: "Good point - I'll keep this in mind for follow-up" or "Fair, though I think the current approach is fine for now given [reason]."
Phase 4: Respond
Use gh to reply to each comment:
gh api repos/{owner}/{repo}/pulls/<number>/comments/<comment_id>/replies \
-f body="<response>"
Decision Principles
- Ship over perfection - The goal is a working, correct change, not a perfect one
- YAGNI - Don't build for requirements that don't exist yet
- Minimal diff - Every line changed is a line that could break; keep changes focused
- Trust the codebase - Internal code doesn't need defensive programming against itself
- Reviewer != oracle - Reviewers can be wrong, overly cautious, or applying rules from different contexts
- Evidence over authority - "This could break" needs a scenario; "best practice says" needs a reason
- Be respectful, be direct - Dismissing a comment isn't personal; explain your reasoning clearly