review-changes
Code review of current git changes, compare to related plan if exists, identify bad engineering, over-engineering, or suboptimal solutions. Use when user asks to review changes, check git diff, validate implementation quality, or assess code changes.
Best use case
review-changes is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Code review of current git changes, compare to related plan if exists, identify bad engineering, over-engineering, or suboptimal solutions. Use when user asks to review changes, check git diff, validate implementation quality, or assess code changes.
Code review of current git changes, compare to related plan if exists, identify bad engineering, over-engineering, or suboptimal solutions. Use when user asks to review changes, check git diff, validate implementation quality, or assess code changes.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "review-changes" skill to help with this workflow task. Context: Code review of current git changes, compare to related plan if exists, identify bad engineering, over-engineering, or suboptimal solutions. Use when user asks to review changes, check git diff, validate implementation quality, or assess code changes.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/review-changes/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How review-changes Compares
| Feature / Agent | review-changes | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Code review of current git changes, compare to related plan if exists, identify bad engineering, over-engineering, or suboptimal solutions. Use when user asks to review changes, check git diff, validate implementation quality, or assess code changes.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# Review Git Changes
## Instructions
Perform thorough code review of current working copy changes, optionally compare to plan, and identify engineering issues.
### Phase 1: Discover Changes & Context
#### Step 1: Get Current Changes
```bash
# See changed files
git status
# See detailed diff
git diff
# See staged changes separately
git diff --cached
# See both staged and unstaged
git diff HEAD
```
#### Step 2: Identify Related Plan (if exists)
Search for related plan file:
- Check `.plans/` directory for relevant plan
- Look for plan mentioned in branch name
- Ask user if unsure which plan applies
- If no plan exists, review against general best practices
If plan exists:
- Read the entire plan
- Understand intended design and architecture
- Note specific requirements and constraints
#### Step 3: Categorize Changed Files
Group files by type:
- **New files**: Created from scratch
- **Modified files**: Existing files changed
- **Deleted files**: Removed files
- **Renamed/moved files**: Organizational changes
Create todo list with one item per changed file to review.
### Phase 2: Systematic File Review
For EACH changed file in the todo list:
#### Step 1: Read Current State
- Read the entire file in its current state
- Understand what it does
- Note its responsibilities
#### Step 2: Analyze the Changes
Read git diff to see exactly what changed:
- What was added?
- What was removed?
- What was modified?
#### Step 3: Assess Against Plan (if applicable)
If plan exists, check:
- **Does implementation match plan?**
- Are planned features implemented correctly?
- Is architecture followed?
- Are file names as specified?
- **Scope adherence**:
- Is this change in the plan?
- Is it necessary for the plan's goals?
- Is it scope creep?
- **REMOVAL SPEC compliance**:
- If plan said to remove code, was it removed?
- Is old code still present when it shouldn't be?
#### Step 4: Identify Engineering Issues
Check for **Bad Engineering**:
- **Bugs**: Logic errors, off-by-one, race conditions
- **Poor error handling**: Swallowed errors, generic catches
- **Missing validation**: No input validation, no null checks
- **Hard-coded values**: Magic numbers, hardcoded URLs/paths
- **Tight coupling**: Unnecessary dependencies between modules
- **Violation of SRP**: Class/function doing too many things
- **Incorrect patterns**: Misuse of design patterns
- **Type issues**: Use of `any`, missing types, wrong types
- **Missing edge cases**: Doesn't handle empty/null/error cases
Check for **Over-Engineering**:
- **Unnecessary abstraction**: Too many layers for simple logic
- **Premature optimization**: Complex code for unmeasured performance
- **Framework overuse**: Using heavy library for simple task
- **Feature creep**: Adding features not in requirements
- **Gold plating**: Excessive polish on non-critical code
- **YAGNI violations**: Code for "might need later" scenarios
- **Complexity without benefit**: Complicated when simple works
Check for **Suboptimal Solutions**:
- **Duplication**: Copy-pasted code instead of extraction
- **Reinventing wheel**: Custom code when standard library exists
- **Wrong tool**: Using inappropriate data structure/algorithm
- **Inefficient approach**: O(n²) when O(n) is obvious
- **Poor naming**: Unclear variable/function names
- **Missing reuse**: Existing utilities/types not used
- **Inconsistent patterns**: Doesn't match codebase style
- **Technical debt**: Quick hack instead of proper solution
#### Step 5: Check Code Quality
- **Readability**: Is code clear and self-documenting?
- **Maintainability**: Will this be easy to change later?
- **Testability**: Can this be tested easily?
- **Performance**: Any obvious performance issues?
- **Security**: Any security vulnerabilities?
- **Consistency**: Matches existing codebase patterns?
#### Step 6: Record Findings
Store in memory:
```
File: path/to/file.ts
Change Type: [New|Modified|Deleted]
Plan Compliance: [Matches|Deviates|Not in plan]
Issues:
Bad Engineering:
- [Specific issue with line number]
Over-Engineering:
- [Specific issue with line number]
Suboptimal:
- [Specific issue with line number]
Severity: [CRITICAL|HIGH|MEDIUM|LOW]
```
#### Step 7: Update Todo
Mark file as reviewed in todo list.
### Phase 2.5: Issue/Task Coverage Verification (MANDATORY)
**CRITICAL**: Before completing the review, verify that 100% of the original issue/task requirements are implemented.
#### Step 1: Identify Source Requirements
Locate the original requirements from:
- GitHub issue (`gh issue view <number>`)
- PR description referencing issues
- Task ticket or plan file in `.plans/`
- Commit messages describing the work
#### Step 2: Extract ALL Requirements
Create exhaustive checklist:
- Functional requirements (what it should do)
- Acceptance criteria (how to verify)
- Edge cases mentioned
- Error handling requirements
#### Step 3: Verify Each Requirement
| # | Requirement | Status | Evidence |
|---|-------------|--------|----------|
| 1 | [requirement] | ✅/❌/⚠️ | file:line or "Missing" |
#### Step 4: Coverage Assessment
```
Requirements Coverage = (Implemented / Total) × 100%
```
**Anything less than 100% = REQUEST CHANGES immediately**
Add to report:
```markdown
## Issue/Task Coverage
**Source**: [Issue #X / Plan file]
**Coverage**: X% (Y of Z requirements)
### Missing Requirements
- ❌ [Requirement X]: Not implemented
- ❌ [Requirement Y]: Partially implemented - [what's missing]
**VERDICT**: Coverage incomplete. Cannot approve until 100% implemented.
```
### Phase 3: Cross-File Analysis
After reviewing all files:
#### Step 1: Architectural Impact
- How do changes affect overall system architecture?
- Are there breaking changes?
- Do changes introduce new dependencies?
- Is there architectural drift from the plan?
#### Step 2: Pattern Consistency
- Are changes consistent with each other?
- Do they follow same patterns?
- Any conflicting approaches?
#### Step 3: Completeness Check
- Are all related changes present?
- Missing files that should be changed?
- Orphaned references?
### Phase 4: Generate Review Report
Create report at `.reviews/code-review-[timestamp].md`:
```markdown
# Code Review Report
**Date**: [timestamp]
**Branch**: [branch name]
**Related Plan**: [plan file or "None"]
**Files Changed**: X
**Issues Found**: Y
---
## Executive Summary
- **Critical Issues**: X (must fix before merge)
- **High Priority**: Y (should fix)
- **Medium Priority**: Z (consider fixing)
- **Low Priority**: W (suggestions)
**Overall Assessment**: [APPROVE|REQUEST CHANGES|REJECT]
---
## Plan Compliance (if applicable)
### Matches Plan ✅
- Feature X implemented correctly
- Architecture follows design
- File naming conventions followed
### Deviates from Plan ⚠️
- Implementation differs from planned approach in [area]
- Missing feature Y from plan
- Scope creep: Added Z not in plan
### REMOVAL SPEC Status
- ✅ Old code removed from `file.ts:50-100`
- ❌ Legacy function still exists in `auth.ts:42` (should be removed)
---
## Issues by Severity
### CRITICAL: Bad Engineering
#### Logic Bug in `src/services/auth.ts:125`
```typescript
// Current code:
if (user.role = 'admin') { // Assignment instead of comparison
grantAccess()
}
```
**Issue**: Assignment operator used instead of equality check. This always evaluates to true and grants everyone admin access.
**Severity**: CRITICAL - Security vulnerability
**Fix**: Change `=` to `===`
#### Unhandled Promise in `src/api/client.ts:67`
```typescript
// Current code:
fetchData().then(data => process(data)) // No error handling
```
**Issue**: Promise rejection not handled, will crash silently
**Severity**: CRITICAL - Application stability
**Fix**: Add `.catch()` or use try/catch with async/await
### HIGH: Over-Engineering
#### Unnecessary Abstraction in `src/utils/formatter.ts`
```typescript
// Current code: 50 lines of abstraction
class FormatterFactory {
createFormatter(type: string): IFormatter { /* ... */ }
}
class StringFormatter implements IFormatter { /* ... */ }
// ... only used once for simple string formatting
```
**Issue**: Complex factory pattern for single use case
**Severity**: HIGH - Maintenance burden
**Better Approach**: Simple function `formatString(value: string): string`
### MEDIUM: Suboptimal Solutions
#### Code Duplication in `src/components/`
**Files**: `user-form.tsx`, `admin-form.tsx`
**Issue**: Both contain identical validation logic (30 lines duplicated)
**Severity**: MEDIUM - Maintenance issue
**Better Approach**: Extract to `src/utils/form-validation.ts`
#### Not Using Existing Type in `src/types/user.ts`
```typescript
// Current code:
interface UserData {
id: string
email: string
name: string
}
// But `User` type already exists with same fields in `src/models/user.ts`
```
**Issue**: Duplicate type definition
**Severity**: MEDIUM - Type inconsistency risk
**Fix**: Import and use existing `User` type
### LOW: Suggestions
#### Verbose Naming in `src/services/database-connection-manager.ts`
**Issue**: Overly verbose filename
**Suggestion**: Simplify to `src/services/database.service.ts`
---
## Issues by Category
### Bad Engineering (X issues)
- Logic bugs: X
- Missing error handling: Y
- Type issues: Z
- Missing validation: W
### Over-Engineering (Y issues)
- Unnecessary abstraction: X
- Premature optimization: Y
- Feature creep: Z
### Suboptimal Solutions (Z issues)
- Code duplication: X
- Reinventing wheel: Y
- Poor naming: Z
- Not using existing code: W
---
## Architectural Assessment
### Positive Changes
- Clean separation of concerns in new modules
- Proper use of dependency injection
- Good test coverage added
### Concerns
- New dependency introduced without discussion
- Breaking change to public API
- Coupling between previously independent modules
### Technical Debt Introduced
- Quick hack in `auth.ts:200` marked with TODO
- Temporary file `temp-processor.ts` added
- Migration code that should be removed later
---
## Detailed File Reviews
### src/services/auth.ts (Modified)
**Plan Compliance**: Matches
**Changes**: 45 lines added, 20 removed
**Issues**:
- CRITICAL: Logic bug at line 125 (assignment vs equality)
- HIGH: Missing error handling at line 89
**Positive**:
- Good use of existing types
- Clear function names
### src/components/user-form.tsx (New)
**Plan Compliance**: Not in plan (scope creep)
**Changes**: 150 lines added
**Issues**:
- MEDIUM: Duplicates logic from admin-form.tsx
- LOW: Could use existing form validation utility
**Positive**:
- Clean component structure
- Good TypeScript usage
[Continue for all changed files]
---
## Statistics
**By Severity**:
- Critical: X
- High: Y
- Medium: Z
- Low: W
**By Category**:
- Bad Engineering: X
- Over-Engineering: Y
- Suboptimal: Z
**By File Type**:
- Services: X issues
- Components: Y issues
- Utils: Z issues
---
## Recommendations
### Must Fix (Before Merge)
1. Fix logic bug in `auth.ts:125` - Security issue
2. Add error handling in `client.ts:67` - Stability issue
3. Remove temporary file `temp-processor.ts` - Plan violation
### Should Fix
1. Extract duplicated validation logic
2. Simplify over-abstracted formatter
3. Use existing types instead of duplicates
### Consider
1. Rename verbose files
2. Add more inline documentation
3. Improve variable naming in complex functions
---
## Overall Assessment
**Recommendation**: REQUEST CHANGES
**Reasoning**:
- 2 critical security/stability issues must be fixed
- Over-engineering in several areas adds unnecessary complexity
- Code duplication will cause maintenance issues
- Some scope creep not discussed in plan
**After Fixes**: Changes will be solid. Core implementation is sound, just needs cleanup and bug fixes.
```
### Phase 5: Summary for User
Provide concise summary:
```markdown
# Code Review Complete
## Assessment: [APPROVE|REQUEST CHANGES|REJECT]
## Critical Issues (X)
- Security bug in `auth.ts:125` - assignment vs equality
- Unhandled promise in `client.ts:67` - will crash
## High Priority (Y)
- Over-engineering in `formatter.ts` - unnecessary abstraction
- Missing error handling in multiple files
## Medium Priority (Z)
- Code duplication between forms
- Not using existing types
## Plan Compliance
- ✅ Core features implemented correctly
- ⚠️ Some scope creep (user-form not in plan)
- ❌ REMOVAL SPEC incomplete (legacy code still exists)
## Must Fix Before Merge
1. Fix logic bug in auth.ts
2. Add error handling
3. Remove legacy code per REMOVAL SPEC
**Full Report**: `.reviews/code-review-[timestamp].md`
```
## Critical Principles
- **NEVER EDIT FILES** - This is review only, not implementation
- **BE THOROUGH** - Review every changed file
- **BE SPECIFIC** - Point to exact line numbers
- **BE CONSTRUCTIVE** - Explain why and suggest better approach
- **CHECK PLAN** - If plan exists, verify compliance
- **VERIFY REMOVAL SPEC** - Ensure old code was removed
- **IDENTIFY PATTERNS** - Note systemic issues across files
- **BE HONEST** - Don't approve bad code to be nice
- **SUGGEST ALTERNATIVES** - Don't just criticize, help improve
## Success Criteria
A complete code review includes:
- **100% of issue/task requirements verified as implemented**
- All changed files reviewed
- Plan compliance verified (if plan exists)
- All engineering issues identified and categorized
- Severity assigned to each issue
- Specific line numbers referenced
- Alternative approaches suggested
- Overall assessment provided
- Structured report generated
**CRITICAL**: If issue/task coverage is less than 100%, the review MUST request changes regardless of code quality.Related Skills
woocommerce-code-review
Review WooCommerce code changes for coding standards compliance. Use when reviewing code locally, performing automated PR reviews, or checking code quality.
security-review
Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.
performance-testing-review-multi-agent-review
Use when working with performance testing review multi agent review
performance-testing-review-ai-review
You are an expert AI-powered code review specialist combining automated static analysis, intelligent pattern recognition, and modern DevOps practices. Leverage AI tools (GitHub Copilot, Qodo, GPT-5, C
fix-review
Verify fix commits address audit findings without new bugs
error-debugging-multi-agent-review
Use when working with error debugging multi agent review
comprehensive-review-pr-enhance
You are a PR optimization expert specializing in creating high-quality pull requests that facilitate efficient code reviews. Generate comprehensive PR descriptions, automate review processes, and ensure PRs follow best practices for clarity, size, and reviewability.
comprehensive-review-full-review
Use when working with comprehensive review full review
codex-review
Professional code review with auto CHANGELOG generation, integrated with Codex AI
code-review-excellence
Master effective code review practices to provide constructive feedback, catch bugs early, and foster knowledge sharing while maintaining team morale. Use when reviewing pull requests, establishing review standards, or mentoring developers.
code-review-checklist
Comprehensive checklist for conducting thorough code reviews covering functionality, security, performance, and maintainability
code-review-ai-ai-review
You are an expert AI-powered code review specialist combining automated static analysis, intelligent pattern recognition, and modern DevOps practices. Leverage AI tools (GitHub Copilot, Qodo, GPT-5, C