Review code for quality, maintainability, and correctness. Use when reviewing pull requests, evaluating code changes, or providing feedback on implementations. Focuses on API design, patterns, and actionable feedback.
Add this skill
npx mdskills install jlowin/code-reviewComprehensive code review checklist with concrete examples and Sentry-specific practices
1---2name: reviewing-code3description: Review code for quality, maintainability, and correctness. Use when reviewing pull requests, evaluating code changes, or providing feedback on implementations. Focuses on API design, patterns, and actionable feedback.4---56# Code Review78## Philosophy910Code review maintains a healthy codebase while helping contributors succeed. The burden of proof is on the PR to demonstrate it adds value. Your job is to help it get there through actionable feedback.1112**Critical**: A perfectly written PR that adds unwanted functionality must still be rejected. The code must advance the codebase in the intended direction. When rejecting, provide clear guidance on how to align with project goals.1314Be friendly and welcoming while maintaining high standards. Call out what works well. When code needs improvement, be specific about why and how to fix it.1516## What to Focus On1718### Does this advance the codebase correctly?1920Even perfect code for unwanted features should be rejected.2122### API design and naming2324Identify confusing patterns or non-idiomatic code:25- Parameter values that contradict defaults26- Mutable default arguments27- Unclear naming that will confuse future readers28- Inconsistent patterns with the rest of the codebase2930### Specific improvements3132Provide actionable feedback, not generic observations.3334### User ergonomics3536Think about the API from a user's perspective. Is it intuitive? What's the learning curve?3738## For Agent Reviewers39401. **Read the full context**: Examine related files, tests, and documentation before reviewing412. **Check against established patterns**: Look for consistency with codebase conventions423. **Verify functionality claims**: Understand what the code actually does, not just what it claims434. **Consider edge cases**: Think through error conditions and boundary scenarios4445## What to Avoid4647- Generic feedback without specifics48- Hypothetical problems unlikely to occur49- Nitpicking organizational choices without strong reason50- Summarizing what the PR already describes51- Star ratings or excessive emojis52- Bikeshedding style preferences when functionality is correct53- Requesting changes without suggesting solutions54- Focusing on personal coding style over project conventions5556## Tone5758- Acknowledge good decisions: "This API design is clean"59- Be direct but respectful60- Explain impact: "This will confuse users because..."61- Remember: Someone else maintains this code forever6263## Decision Framework6465Before approving, ask:66671. Does this PR achieve its stated purpose?682. Is that purpose aligned with where the codebase should go?693. Would I be comfortable maintaining this code?704. Have I actually understood what it does, not just what it claims?715. Does this change introduce technical debt?7273If something needs work, your review should help it get there through specific, actionable feedback. If it's solving the wrong problem, say so clearly.7475## Comment Examples7677**Good comments:**7879| Instead of | Write |80|------------|-------|81| "Add more tests" | "The `handle_timeout` method needs tests for the edge case where timeout=0" |82| "This API is confusing" | "The parameter name `data` is ambiguous - consider `message_content` to match the MCP specification" |83| "This could be better" | "This approach works but creates a circular dependency. Consider moving the validation to `utils/validators.py`" |8485## Checklist8687Before approving, verify:8889- [ ] All required development workflow steps completed (uv sync, prek, pytest)90- [ ] Changes align with repository patterns and conventions91- [ ] API changes are documented and backwards-compatible where possible92- [ ] Error handling follows project patterns (specific exception types)93- [ ] Tests cover new functionality and edge cases94- [ ] The change advances the codebase in the intended direction95
Full transparency โ inspect the skill content before installing.