Review Skill
Review the code changes implemented in the current session before committing.
Instructions
- •
Gather Changes
bashgit status git diff --stat
Identify all modified and new files from the current work.
- •
Read Changed Files For each modified or new file, read the full content to understand the implementation. Use
git diff <file>for modified files to see what changed. - •
Analyze Changes Review the code for:
- •Correctness: Logic errors, edge cases, potential bugs
- •Project Conventions: Following Terrae patterns (arrow functions,
typeoverinterface, etc.) - •Performance: Unnecessary re-renders, memory leaks, inefficient algorithms
- •Security: XSS, injection vulnerabilities, exposed secrets
- •TypeScript: Proper typing, avoiding
any, type safety - •React Patterns: Proper hooks usage, effect dependencies, cleanup functions
- •
Structure the Review Format your review with clear sections:
code## Code Review: [Feature/Change Name] ### Overview Brief summary of what the changes do. ### Code Quality & Style - Positives - Issues found ### Potential Issues & Risks Bugs, edge cases, or concerns. ### Performance Implications Any performance considerations. ### Suggestions for Improvement Specific, actionable recommendations. ### Summary Overall assessment and next steps.
- •
Be Constructive
- •Acknowledge good code, not just problems
- •Provide specific line numbers when referencing issues
- •Suggest fixes, not just problems
- •Distinguish between blockers and nice-to-haves
- •
Check for Common Issues
- •Missing cleanup in useEffect
- •Missing dependencies in hooks
- •Unhandled promise rejections
- •Missing error boundaries
- •Hardcoded values that should be constants
- •Missing TypeScript types
- •Console.log statements left in code
- •
Verify Against Project Rules Read the rule files in
.claude/rules/and verify the code follows them:- •
.claude/rules/typescript.md: Types, naming, ordering - •
.claude/rules/javascript.md: Formatting, arrow functions, explicit returns, early returns - •
.claude/rules/react/component.md: File structure, component structure, map component template - •
.claude/rules/react/hooks.md: useEffect extraction, dependencies, memoization rules - •
.claude/rules/react/props.md: Type extraction, ordering, defaults, documentation - •
.claude/rules/react/patterns.md: Component size, composition, common patterns - •
.claude/rules/react/rendering.md: Conditional rendering, inline functions, keys, fragments - •
.claude/rules/react/performance.md: Resource cleanup, refs vs state, layer management, canvas, DOM - •
.claude/rules/clean-code.md: Naming, functions, comments, formatting, error handling - •
.claude/rules/nextjs.md: App Router folder structure, file naming - •
.claude/rules/security.md: XSS, CSP, CORS, CSRF, secrets, rate limiting
Flag any violations with the specific rule and file location.
- •
- •
Verify Page Navigation If docs pages were added or modified, verify the
prevandnextprops inDocsLayoutmatch the sidebar navigation order defined insrc/app/docs/_components/docs-sidebar.tsx. Check:- •prev/next titles match the sidebar item titles exactly
- •prev/next hrefs point to the correct neighboring pages
- •New pages are linked from their neighbors (both prev and next sides)
- •The first page has no
prev, the last page has nonext