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:
*.mojo or *.🔥
- 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:
Python Code Checklist:
Test Code Checklist:
Documentation Checklist:
Configuration Checklist:
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
1---2name: create-review-checklist3description: Generate review checklists for different change types. Use to customize review focus based on what was changed.4---5
6# Create Review Checklists
7
8Generate customized review checklists based on type of change.
9
10## When to Use
11
12- Starting PR review for unfamiliar change type
13- Need specific checklist for Mojo vs Python code
14- Reviewing test changes
15- Documenting-focused changes
16- Large multi-type changes needing organized review
17
18## Quick Reference
19
20```bash
21# Detect change type from PR
22gh pr diff <pr> --name-only | grep -E "\\.mojo$|\\.py$|\\.md$|test_"
23
24# Categorize changes
25gh pr diff <pr> | head -100 | grep "^[+-]" | wc -l # Changed lines
26
27# Get file counts by type
28gh pr diff <pr> --name-only | sed 's/.*\.//' | sort | uniq -c
29```
30
31## Change Type Detection
32
33**Mojo Implementation**:
34
35- Files: `*.mojo` or `*.🔥`
36- Focus: Syntax, patterns, memory safety, performance
37- Extra checks: SIMD, ownership, zero-warnings
38
39**Python Code**:
40
41- Files: `*.py`
42- Focus: Style (PEP 8), type hints, error handling
43- Extra checks: Security, test coverage
44
45**Tests**:
46
47- Files: `test_*.py`, `test_*.mojo`
48- Focus: Coverage, assertions, edge cases, clarity
49- Extra checks: Flakiness, isolation
50
51**Documentation**:
52
53- Files: `*.md`, docstrings, comments
54- Focus: Clarity, accuracy, completeness
55- Extra checks: Links work, examples valid
56
57**Configuration**:
58
59- Files: `*.toml`, `*.yaml`, `.yaml`, `*.json`
60- Focus: Correctness, consistency, validation
61- Extra checks: No secrets, proper syntax
62
63## Checklist Templates
64
65**Mojo Implementation Checklist**:
66
67- [ ] v0.26.1+ syntax (no inout, @value, DynamicVector)
68- [ ] All `__init__` use `out self`
69- [ ] Non-copyable returns use `^`
70- [ ] Traits conformance correct (Copyable, Movable)
71- [ ] Memory safety validated
72- [ ] Zero compiler warnings
73- [ ] SIMD used in hot paths
74- [ ] Tests present and passing
75- [ ] Documentation updated
76
77**Python Code Checklist**:
78
79- [ ] Follows PEP 8 style guide
80- [ ] Type hints on all functions
81- [ ] Docstrings present and clear
82- [ ] Error handling appropriate
83- [ ] No security vulnerabilities
84- [ ] Tests cover new code
85- [ ] Edge cases handled
86- [ ] No code duplication
87
88**Test Code Checklist**:
89
90- [ ] Test name describes what's tested
91- [ ] Assertions are clear and specific
92- [ ] Edge cases covered (boundaries, empty, null, large)
93- [ ] Setup/teardown clean (no side effects)
94- [ ] Not dependent on other tests
95- [ ] Reasonable timeout (not too long)
96- [ ] Mocking/isolation appropriate
97- [ ] Deterministic (no randomness/flakiness)
98
99**Documentation Checklist**:
100
101- [ ] Spelling and grammar correct
102- [ ] Links validated and working
103- [ ] Code examples are complete and correct
104- [ ] Instructions tested and accurate
105- [ ] Structure is logical and easy to follow
106- [ ] Markdown formatting valid
107- [ ] No broken references
108- [ ] Up to date with code changes
109
110**Configuration Checklist**:
111
112- [ ] Syntax is valid (YAML, TOML, JSON)
113- [ ] No hardcoded secrets
114- [ ] Consistent with project standards
115- [ ] Required fields present
116- [ ] Default values sensible
117- [ ] Documentation matches config
118- [ ] Backward compatible (if applicable)
119- [ ] Performance impact acceptable
120
121## Checklist Generation Workflow
122
1231. **Analyze PR**: Determine file types changed
1242. **Categorize**: Group changes by type
1253. **Select templates**: Pick appropriate checklists
1264. **Customize**: Adjust based on complexity/scope
1275. **Prioritize**: Mark critical vs optional items
1286. **Document**: Create checklist with explanations
1297. **Use**: Apply during code review
130
131## Output Format
132
133Report checklist with:
134
1351. **Change Summary** - What types of changes detected
1362. **Primary Focus** - Main review area
1373. **Checklist Items** - Organized by category
1384. **Deep Dives** - Detailed items for complex changes
1395. **Quick Wins** - Easy items to verify first
1406. **Risks** - High-risk areas to focus on
1417. **Notes** - Special considerations
142
143## Multi-Type Example
144
145**PR changing Mojo code + Tests + Docs**:
146
1471. Start with Mojo checklist (primary)
1482. Apply test checklist to test changes
1493. Apply documentation checklist to docs
1504. Verify consistency across all types
1515. Check integration between parts
152
153## Customization Rules
154
155- Critical items must PASS before approval
156- High items SHOULD pass unless justified
157- Medium items are NICE to have
158- Low items are OPTIONAL suggestions
159
160**Critical** (must fix):
161
162- Syntax errors
163- Test failures
164- Security issues
165- Breaking changes
166
167**High** (should fix):
168
169- Code style issues
170- Missing tests
171- Performance regression
172- Incomplete documentation
173
174**Medium** (nice to have):
175
176- Code cleanup
177- Example improvements
178- Comment refinements
179
180**Low** (optional):
181
182- Formatting polish
183- Minor optimizations
184- Documentation color
185
186## Error Handling
187
188| Problem | Solution |
189|---------|----------|
190| Mixed change types | Create separate checklists for each type |
191| Unclear type | Inspect files to determine type |
192| Complex change | Break into multiple checklists |
193| Specialized domain | Add domain-specific items to template |
194| New pattern | Create new checklist template |
195
196## References
197
198- See review-pr-changes for full review workflow
199- See CLAUDE.md for code standards
200- See individual skill docs for detailed requirements