Frameworks for giving and receiving code review feedback effectively. Use for PR comments, review strategies, handling disagreements, and balancing thoroughness with kindness.
This skill is limited to using the following tools:
references/conventional-comments.mdreferences/receiving-feedback.mdThis skill provides frameworks for effective code review communication - both giving feedback that lands well and receiving feedback without defensiveness.
A labeling system that makes the intent of each comment crystal clear.
Format: [label] (decoration): explanation
Labels:
| Label | Meaning | Action Required |
|---|---|---|
praise | Highlight good work | None - encouragement |
nitpick | Minor style/preference issue | Optional |
suggestion | Improvement idea | Consider but not required |
issue | Must be addressed | Required before merge |
question | Need clarification | Response required |
thought | Sharing perspective | None - FYI only |
Decorations:
(non-blocking) - Explicitly optional(blocking) - Must be resolved(if-minor) - Only if the fix is trivialExamples:
praise: This error handling is really thorough - I like how you covered the edge cases.
nitpick (non-blocking): Consider using a more descriptive variable name than `x`.
suggestion: You could use `Object.entries()` here for cleaner iteration.
issue (blocking): This SQL query is vulnerable to injection. Use parameterized queries.
question: What's the expected behavior if the user cancels mid-operation?
thought: I've seen this pattern cause issues with concurrent requests in the past.
Full reference: references/conventional-comments.md
For larger reviews or when multiple comments are needed:
This prevents the "wall of criticism" effect that makes authors defensive.
The most important principle: criticize code, not people.
| Instead of... | Say... |
|---|---|
| "You wrote this wrong" | "This function could be simplified" |
| "You didn't think about X" | "There's an edge case here around X" |
| "Why did you do it this way?" | "What's the reasoning behind this approach?" |
| "You should know better" | "This is a common gotcha - here's the pattern" |
Use collaborative "we" language:
Blocking issues (must fix):
Non-blocking issues (nice to have):
Rule of thumb: If you'd be comfortable if the author ignored this comment, it's non-blocking.
Receiving code review feedback well is equally important. See references/receiving-feedback.md for:
references/conventional-comments.md - Full label taxonomy with examplesreferences/receiving-feedback.md - Guide to receiving feedback gracefullyfeedback-conversations skill - For broader feedback (not just code)/soft-skills:review-comment command - Generate a well-structured review comment