# Requesting Code Review ## Description Workflow for initiating code reviews with clear scope, context, and expectations. Ensures reviewers have everything needed for effective feedback. ## When to Use - After completing a task (before proceeding to next) - After implementing a feature - Before merging to main branch - When unsure about implementation approach - After fixing critical bugs --- ## Review Request Components ### 1. Scope Definition Clearly state what should be reviewed: ```markdown ## Review Scope **Files changed**: - src/services/user-service.ts (modified) - src/services/user-service.test.ts (added) - src/types/user.ts (modified) **Lines changed**: ~150 additions, ~20 deletions **Not in scope** (don't review): - package.json changes (unrelated dependency update) - Generated files in dist/ ``` ### 2. Context Explain why these changes were made: ```markdown ## Context **Task**: Implement user email verification **Requirements**: - Users must verify email before accessing features - Verification link expires after 24 hours - Users can request new verification email **Design decisions**: - Used JWT for verification token (stateless) - Stored verification status in existing User table ``` ### 3. Areas of Concern Highlight where you want focused attention: ```markdown ## Areas of Concern 1. **Security**: Is the token generation secure enough? 2. **Error handling**: Are all edge cases covered? 3. **Performance**: Will the verification lookup be efficient? ``` ### 4. Test Coverage Show what's tested: ```markdown ## Test Coverage - Unit tests: 8 new tests in user-service.test.ts - Integration: Manual testing of full flow - Edge cases: Expired token, invalid token, already verified **Not tested** (known gaps): - Load testing with many concurrent verifications ``` --- ## Review Request Template ```markdown ## Code Review Request ### Summary [1-2 sentence description of changes] ### Files Changed - `path/to/file1.ts` - [Brief description] - `path/to/file2.ts` - [Brief description] ### Context [Why these changes were needed] ### Implementation Notes [Key decisions made and why] ### Areas for Focus 1. [Specific concern 1] 2. [Specific concern 2] ### Testing - [x] Unit tests added/updated - [x] Integration tests pass - [ ] E2E tests (not applicable) ### Checklist - [x] Code follows project conventions - [x] No security vulnerabilities introduced - [x] Documentation updated if needed ``` --- ## What to Include ### Always Include - List of changed files - Summary of what changed - Why the change was needed - Test status ### Include When Relevant - Design alternatives considered - Performance implications - Security considerations - Breaking changes ### Never Include - Unrelated changes - Formatting-only commits - Debug code - TODO comments (resolve first) --- ## Review Types ### Quick Review For small, low-risk changes: ```markdown ## Quick Review: Fix typo in error message **File**: src/errors.ts **Change**: Fixed "recieved" → "received" in error message **Risk**: None ``` ### Standard Review For typical feature work: ```markdown ## Review: Add user preferences **Files**: 3 files, ~200 lines **Context**: Users can now save display preferences **Focus**: Data validation, storage approach ``` ### Critical Review For high-risk changes: ```markdown ## CRITICAL REVIEW: Authentication refactor **Files**: 12 files, ~800 lines **Risk**: HIGH - Authentication system changes **Required reviewers**: Security team **Focus**: Token handling, session management, encryption ``` --- ## Best Practices ### Keep Reviews Focused ```markdown BAD: "Review my last week of work" GOOD: "Review the user verification feature (3 files)" ``` ### Provide Runnable Context ```markdown ## To test locally 1. git checkout feature/email-verification 2. npm install 3. npm test -- --grep "email verification" ``` ### Be Specific About Concerns ```markdown BAD: "Let me know if anything looks wrong" GOOD: "I'm unsure about the error handling in lines 45-60" ``` ### Include Relevant Links ```markdown Related: - Ticket: PROJ-123 - Design doc: [link] - Previous discussion: [link] ``` --- ## After Submitting ### What to Expect ```markdown Reviewer will return: - Critical issues (must fix) - Important issues (should fix) - Minor issues (optional) - Approval/rejection status ``` ### How to Handle Feedback See `receiving-code-review` skill for detailed guidance. ---