Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Review your own local code changes before pushing or creating a PR. Use when: the user wants to self-review staged or unstaged changes, check code quality before committing, or get feedback on work-in-progress. Covers readability, patterns, error handling, performance, and security. Do NOT use when: reviewing an existing pull request (use pr-review), reviewing code you didn't write, or when changes are already pushed to remote.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-12 | ✓→✓ | = Same ✓ | 71% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 53% | 0% |
Perform a thorough self-review of local code changes before pushing. Catch issues early when they're cheap to fix.
pr-review)No special tools required. Optionally, ensure you have a diff viewer available:
bash# Verify git is available git --version # Optional: check if diffstat is available which diffstat
bash# Review all uncommitted changes (staged + unstaged) git diff HEAD # Or review only staged changes (ready to commit) git diff --cached # Review specific files git diff HEAD -- path/to/file.go path/to/other.js # See what files changed git diff --stat HEAD
Work through each changed file systematically:
Use the review checklist below to evaluate each file.
For each file in the diff:
bash# View the full file for context (not just the diff) git show HEAD:path/to/file # Or open in your editor git diff HEAD -- path/to/file
Ask yourself:
When flagging issues, categorize by severity:
| Level | Meaning | Action | |-------|---------|--------| | blocker] | Must fix before push | Security flaw, data loss risk, broken logic | | warning] | Should fix now | Code smell, poor pattern, missing error handling | | nit] | Nice to fix | Style, naming, minor optimization |
Provide a structured review summary:
markdown## Code Review: [brief description] ### Files Reviewed - file1.go (added) - file2.ts (modified) ### Summary [1-2 sentence overview of the changes] ### Findings - [blocker] file:line — Description of issue and why it matters - [warning] file:line — Description and suggested fix - [nit] file:line — Minor improvement suggestion ### What Looks Good - [Positive observations about the code] ### Suggestions (Optional) - [Non-blocking improvements for consideration]
markdown## Code Review: User authentication flow ### Files Reviewed - src/auth/login.ts (added) - src/middleware/auth.ts (modified) - src/types/user.ts (modified) ### Summary Implements JWT-based login with refresh tokens. Generally well-structured, but has a security concern and missing input validation. ### Findings - [blocker] src/auth/login.ts:45 — JWT secret hardcoded as string literal. Move to environment variable: `process.env.JWT_SECRET`. - [warning] src/auth/login.ts:67 — No rate limiting on login attempts. Consider adding rate limit middleware. - [warning] src/middleware/auth.ts:23 — Missing null check on token payload. Add guard: `if (!decoded.userId) return res.status(401)`. - [nit] src/types/user.ts:12 — `User` type exported but unused in this PR. ### What Looks Good - Clean separation of auth concerns - Proper token expiry handling - Good TypeScript types ### Suggestions - Consider adding refresh token rotation for better security - Add integration test for full login → protected route flow
For small changes, run through this quick check:
bash# 1. Any secrets exposed? git diff HEAD | grep -iE '(password|secret|token|key).*=.*["\x27]' # 2. Any console.log or debug statements? git diff HEAD | grep -E '(console\.log|fmt\.Print|debugger|TODO|FIXME)' # 3. Any large functions (>50 lines)? git diff HEAD | grep -c '^+' | head -1
git diff --stat to identify the most-changed filesbash# See the commit history leading to this point git log --oneline -10 # See the full file for context git show HEAD:path/to/file
Other measured skills in the registry, with their headline benchmark lift.