Create Review Checklists
Generate customized review checklists based on type of change.
When to Use
- Starting PR review for unfamiliar change type
- Need specific checklist for Mojo vs Python code
- Reviewing test changes
- Documenting-focused changes
- Large multi-type changes needing organized review
Quick Reference
# Detect change type from PR
gh pr diff <pr> --name-only | grep -E "\\.mojo$|\\.py$|\\.md$|test_"
# Categorize changes
gh pr diff <pr> | head -100 | grep "^[+-]" | wc -l # Changed lines
# Get file counts by type
gh pr diff <pr> --name-only | sed 's/.*\.//' | sort | uniq -c
Change Type Detection
Mojo Implementation:
- Files:
*.mojoor*.🔥 - Focus: Syntax, patterns, memory safety, performance
- Extra checks: SIMD, ownership, zero-warnings
Python Code:
- Files:
*.py - Focus: Style (PEP 8), type hints, error handling
- Extra checks: Security, test coverage
Tests:
- Files:
test_*.py,test_*.mojo - Focus: Coverage, assertions, edge cases, clarity
- Extra checks: Flakiness, isolation
Documentation:
- Files:
*.md, docstrings, comments - Focus: Clarity, accuracy, completeness
- Extra checks: Links work, examples valid
Configuration:
- Files:
*.toml,*.yaml,.yaml,*.json - Focus: Correctness, consistency, validation
- Extra checks: No secrets, proper syntax
Checklist Templates
Mojo Implementation Checklist:
- [ ] v0.26.1+ syntax (no inout, @value, DynamicVector)
- [ ] All
__init__useout self - [ ] Non-copyable returns use
^ - [ ] Traits conformance correct (Copyable, Movable)
- [ ] Memory safety validated
- [ ] Zero compiler warnings
- [ ] SIMD used in hot paths
- [ ] Tests present and passing
- [ ] Documentation updated
Python Code Checklist:
- [ ] Follows PEP 8 style guide
- [ ] Type hints on all functions
- [ ] Docstrings present and clear
- [ ] Error handling appropriate
- [ ] No security vulnerabilities
- [ ] Tests cover new code
- [ ] Edge cases handled
- [ ] No code duplication
Test Code Checklist:
- [ ] Test name describes what's tested
- [ ] Assertions are clear and specific
- [ ] Edge cases covered (boundaries, empty, null, large)
- [ ] Setup/teardown clean (no side effects)
- [ ] Not dependent on other tests
- [ ] Reasonable timeout (not too long)
- [ ] Mocking/isolation appropriate
- [ ] Deterministic (no randomness/flakiness)
Documentation Checklist:
- [ ] Spelling and grammar correct
- [ ] Links validated and working
- [ ] Code examples are complete and correct
- [ ] Instructions tested and accurate
- [ ] Structure is logical and easy to follow
- [ ] Markdown formatting valid
- [ ] No broken references
- [ ] Up to date with code changes
Configuration Checklist:
- [ ] Syntax is valid (YAML, TOML, JSON)
- [ ] No hardcoded secrets
- [ ] Consistent with project standards
- [ ] Required fields present
- [ ] Default values sensible
- [ ] Documentation matches config
- [ ] Backward compatible (if applicable)
- [ ] Performance impact acceptable
Checklist Generation Workflow
- Analyze PR: Determine file types changed
- Categorize: Group changes by type
- Select templates: Pick appropriate checklists
- Customize: Adjust based on complexity/scope
- Prioritize: Mark critical vs optional items
- Document: Create checklist with explanations
- Use: Apply during code review
Output Format
Report checklist with:
- Change Summary - What types of changes detected
- Primary Focus - Main review area
- Checklist Items - Organized by category
- Deep Dives - Detailed items for complex changes
- Quick Wins - Easy items to verify first
- Risks - High-risk areas to focus on
- Notes - Special considerations
Multi-Type Example
PR changing Mojo code + Tests + Docs:
- Start with Mojo checklist (primary)
- Apply test checklist to test changes
- Apply documentation checklist to docs
- Verify consistency across all types
- Check integration between parts
Customization Rules
- Critical items must PASS before approval
- High items SHOULD pass unless justified
- Medium items are NICE to have
- Low items are OPTIONAL suggestions
Critical (must fix):
- Syntax errors
- Test failures
- Security issues
- Breaking changes
High (should fix):
- Code style issues
- Missing tests
- Performance regression
- Incomplete documentation
Medium (nice to have):
- Code cleanup
- Example improvements
- Comment refinements
Low (optional):
- Formatting polish
- Minor optimizations
- Documentation color
Error Handling
| Problem | Solution | |---------|----------| | Mixed change types | Create separate checklists for each type | | Unclear type | Inspect files to determine type | | Complex change | Break into multiple checklists | | Specialized domain | Add domain-specific items to template | | New pattern | Create new checklist template |
References
- See review-pr-changes for full review workflow
- See CLAUDE.md for code standards
- See individual skill docs for detailed requirements
微信扫一扫