원클릭으로
reviewing-code
// 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.
// 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.
Review an incoming external issue (and any gated-closed PR behind it) and decide whether to assign the contributor or decline. Use when the maintainer says "look at this issue", "review issue
Monitor and respond to automated PR reviews (Codex bot). Use when pushing a PR, checking review status, or responding to bot feedback. Handles the full cycle of push -> wait for review -> evaluate comments -> fix -> re-push.
Query and invoke tools on MCP servers using fastmcp list and fastmcp call. Use when you need to discover what tools a server offers, call tools, or integrate MCP servers into workflows.
Write and evaluate effective Python tests using pytest. Use when writing tests, reviewing test code, debugging test failures, or improving test coverage. Covers test design, fixtures, parameterization, mocking, and async testing.
| name | reviewing-code |
| description | 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. |
Code 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.
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.
Be 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.
Even perfect code for unwanted features should be rejected.
When a PR adapts code to a new version of a dependency (e.g., removing a parameter that was dropped upstream, using a new API):
pyproject.toml must match. If the change breaks compatibility with the previously-pinned minimum version, the minimum version must be bumped. Otherwise users on the old version get a regression.uv.lock) changes should be scoped to the PR's purpose. A PR fixing a ty compatibility issue should not also include unrelated dependency version bumps (anthropic, google-auth, etc.) from running uv sync --upgrade. These create noise and make the diff harder to review.Identify confusing patterns or non-idiomatic code:
Provide actionable feedback, not generic observations.
Think about the API from a user's perspective. Is it intuitive? What's the learning curve?
Before approving, ask:
If something needs work, your review should help it get there through specific, actionable feedback. If it's solving the wrong problem, say so clearly.
Good comments:
| Instead of | Write |
|---|---|
| "Add more tests" | "The handle_timeout method needs tests for the edge case where timeout=0" |
| "This API is confusing" | "The parameter name data is ambiguous - consider message_content to match the MCP specification" |
| "This could be better" | "This approach works but creates a circular dependency. Consider moving the validation to utils/validators.py" |
Before approving, verify: