Quick PR Review - Universal Pre-PR Checklist
π― When to Use This Skill
Use BEFORE creating a pull request in ANY project when:
- Preparing code for review
- Self-reviewing your changes
- Ensuring quality standards
- Reducing review iterations
β‘ Quick Start (30 seconds)
With MCP Tools:
"Run quick PR review on my staged changes"
Without MCP Tools:
# Quick self-review checklist
git diff --staged # Review changes
npm test # Run tests
npm run lint # Check linting
git grep "TODO\|FIXME\|XXX" # Find unfinished work
π Universal PR Checklist
1. Code Changes Review
WITH MCP (Smart Reviewer):
"Review my staged files for quality issues"
WITHOUT MCP:
# Self-review questions:
# β‘ Do variable names clearly express intent?
# β‘ Are functions focused on a single responsibility?
# β‘ Is error handling comprehensive?
# β‘ Are there magic numbers that should be constants?
# β‘ Is the code DRY (Don't Repeat Yourself)?
# Find code smells:
git diff --staged | grep -E "console\.|debugger|TODO|FIXME"
2. Test Coverage Check
WITH MCP (Test Generator):
"Check test coverage and generate missing tests"
WITHOUT MCP:
# Check coverage (adjust for your test runner)
npm test -- --coverage # Jest/Vitest
pytest --cov # Python
go test -cover # Go
mvn test jacoco:report # Java
# Quick test checklist:
# β‘ All new functions have tests?
# β‘ Edge cases covered?
# β‘ Error scenarios tested?
# β‘ Integration points verified?
3. Security Scan
WITH MCP (Security Scanner):
"Scan my changes for security vulnerabilities"
WITHOUT MCP:
# Security checklist:
# β‘ No hardcoded secrets/keys?
# β‘ Input validation present?
# β‘ SQL queries parameterized?
# β‘ File paths sanitized?
# β‘ Dependencies up to date?
# Quick scans:
git diff --staged | grep -iE "password|secret|token|api[_-]key"
grep -r "eval\|exec\|innerHTML" --include="*.js" --include="*.ts"
npm audit # or: pip check, go mod tidy, etc.
4. Documentation Check
WITH MCP (Doc Generator):
"Check if my changes need documentation updates"
WITHOUT MCP:
# Documentation checklist:
# β‘ README updated if needed?
# β‘ API changes documented?
# β‘ Breaking changes noted?
# β‘ Examples still accurate?
# β‘ Changelog entry added?
# Find undocumented functions:
grep -B2 "function\|class\|def" --include="*.js" | grep -v "//"
5. Performance Check
WITH MCP (Architecture Analyzer):
"Check for performance issues in my changes"
WITHOUT MCP:
# Performance checklist:
# β‘ No N+1 queries?
# β‘ Appropriate caching used?
# β‘ Large loops optimized?
# β‘ Unnecessary re-renders avoided?
# β‘ Database queries indexed?
# Find potential issues:
git diff --staged | grep -E "forEach.*forEach|for.*for" # Nested loops
git diff --staged | grep -E "await.*map|Promise\.all" # Async patterns
π Complete Workflow
Optimal Flow (2-3 minutes):
-
Stage your changes:
git add -p # Stage selectively -
Run the appropriate checklist:
- WITH MCP:
"Run complete PR review checklist" - WITHOUT: Use the manual checklist above
- WITH MCP:
-
Fix issues found:
# Fix issues git add -p # Stage fixes -
Final verification:
git diff --staged --stat # Review scope git log --oneline -5 # Check commit context -
Create PR with confidence!
π‘ Pro Tips
Universal Commit Message Check:
# Ensure good commit messages
git log --oneline -10 # Are they clear and consistent?
# Conventional commits pattern:
# type(scope): description
# Example: feat(auth): add password reset
Quick Scope Check:
# Is this PR doing too much?
git diff --staged --stat
# If > 500 lines or > 20 files, consider splitting
Dependency Impact:
# Check what you're affecting
git diff --staged package.json Gemfile go.mod requirements.txt pom.xml
π― Success Metrics
Your PR is ready when:
- β All tests pass
- β No linting errors
- β Security checklist complete
- β Documentation updated
- β Changes focused and clear
- β Commit messages descriptive
π Quick Recovery
If you find issues:
# Unstage everything
git reset HEAD
# Fix issues
# ...
# Restage carefully
git add -p
π Notes
- This workflow is language-agnostic
- Adapt commands to your tech stack
- MCP tools speed up the process 10x
- Manual approach ensures you can work anywhere
Remember: A good PR review saves everyone time!