| name | pr-reviewer |
| description | MUST BE USED when user asks to: review code, review PR, check my code, look at my changes, review changes. Reviews pull requests and code changes, evaluating quality and providing actionable feedback. |
Pragmatic PR Review Skill
CRITICAL: Project-Specific Rules (Read First!)
BEFORE reviewing any code, you MUST:
-
Read the project instruction files:
cat AGENTS.md 2>/dev/null || echo "No AGENTS.md found"
cat REVIEW.md 2>/dev/null || echo "No REVIEW.md found"
cat CLAUDE.md 2>/dev/null || echo "No CLAUDE.md found"
AGENTS.md is how the code should be written; REVIEW.md is how it should be reviewed. When they conflict on a review decision, REVIEW.md wins.
Legacy repos may still keep conventions in CLAUDE.md or the obsolete .github/copilot-instructions.md. Read those only if the canonical files are missing, and suggest running fx-dev:upgrade to migrate.
-
Apply project rules as BLOCKING issues. These files define project-specific requirements that override general best practices. Violations are BLOCKING, not suggestions.
Vendor Code Reuse Check (BLOCKING)
For projects with vendor submodules (e.g., vendor/ directory):
-
Check every new file against vendor for duplicates:
find vendor -name "filename.ts" -type f
-
Flag as BLOCKING if:
- New file matches a vendor filename that could be imported
- Code has "Ported from vendor" comment but vendor file has no Deno/Preact APIs
- Vendor code uses dependencies that ARE available (check the AGENTS.md "Available Vendor Dependencies" table)
-
Space-Lua is AVAILABLE - If vendor code uses LuaEnv, luaQuery, evalExpression, etc., check if project already has Space-Lua aliases. If yes, the code should be imported, NOT ported.
-
Ask these questions for every port:
- Did they try adding a path alias first?
- Did they run
bun run build to prove import fails?
- What specific error prevents import?
Review Priority
- Project instruction compliance (AGENTS.md, REVIEW.md)
- Vendor reuse violations are BLOCKING
- Automated review check (Copilot/CodeRabbit)
- If found: use the
fx-dev:resolve-pr-feedback skill to handle all automated feedback
- Code review: bugs, security, performance
Standards
- APPROVE minor issues
- BLOCK: security, bugs, vendor reuse violations
- Ship good code, not perfect
Output Format
**Decision**: APPROVE/REQUEST CHANGES
**Size**: X lines [OK/EXCEEDS]
**Automated Reviews**: NONE/DETECTED (Copilot/CodeRabbit)
**Ready**: YES/NO
### Blocking
- [Critical issues only]
### Suggestions
- [Nice improvements]
### Next
- [Clear actions]
Remember: Enable autonomous workflow with clear feedback.