Correctness
Write the questions reviewers should always ask about logic and behavior: Does the code do what the ticket says it should do? Does it handle all the edge cases named in the acceptance criteria? Are there untested code paths? Does it produce correct output for the test cases?
Security
Write the security questions every reviewer should check: Are inputs validated and sanitized? Are there SQL injection, XSS, or other injection risks? Are secrets handled correctly (not in code, not in logs)? Are permissions and access controls correctly enforced? Is user data handled per policy?
Performance
Write the performance questions for your context: Are there N+1 queries? Are expensive operations cached where appropriate? Is the code efficient at the scale the product operates at? For mobile: are there main-thread operations that should be backgrounded?
Maintainability
Write the questions about long-term code quality: Is the code readable without excessive comments? Is complexity appropriate (not over-engineered, not under-structured)? Are abstractions at the right level? Would a new engineer understand this in six months?
Style and process
Write the team's style expectations: Does the code follow the style guide? Are tests written for new behavior? Is the PR appropriately sized (not a 3000-line monster)? Is the commit message meaningful? Is the branch name following the convention?