code-review-developer
An automated code review assistant that checks PRs against repository-specific guidelines.
Install
mkdir -p .claude/skills/code-review-developer && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5687" && unzip -o skill.zip -d .claude/skills/code-review-developer && rm skill.zipInstalls to .claude/skills/code-review-developer
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Context-aware routing to code review guidelines. Use when reviewing pull requests, providing code feedback, or discussing review standards.Key capabilities
- →Route changes to specific review guidelines
- →Enforce CLAUDE.md standards
- →Provide actionable bug reports
- →Validate PRs against project-specific logic
How it works
Routes code diffs against a rule-base defined in project documentation to identify deviations.
Inputs & outputs
When to use code-review-developer
- →Reviewing pull requests for bugs
- →Checking code against project standards
- →Validating security in PRs
- →Assessing performance issues
About this skill
Code Review Developer (Smart Router)
Purpose
Context-aware routing to code review guidelines. Helps you conduct thorough, actionable code reviews following project standards.
When Auto-Activated
- Reviewing pull requests or code changes
- Keywords: code review, PR review, review code, pull request, approve, issues
- Discussing review comments or feedback
🚨 CRITICAL RULES (NEVER VIOLATE)
- Be LEAN and ACTIONABLE - Only report actual issues, no noise
- NO praise sections - No "Strengths", no "no concerns" statements
- NO design suggestions - You cannot see visual design (padding, margins, colors)
- Reference file:line - Always include specific locations for issues
- If clean, just approve - "✅ Approved - No issues found" (nothing else!)
- Check CLAUDE.md - Review against project conventions
📋 Quick Review Workflow
1. Read the Changes
- Understand what the PR is trying to do
- Check file diffs thoroughly
2. Check Against CLAUDE.md
- Localization: Using
Locconstants? - Generated files: Not editing generated code?
- Code style: Following Swift best practices?
- Tests: Updated when refactoring?
3. Look for Real Issues
ONLY include sections if issues exist:
- Bugs/Issues - Logic errors, potential bugs
- Best Practices - Violations of CLAUDE.md guidelines
- Performance - Actual performance problems
- Security - Real security vulnerabilities
4. Format Your Review
If clean:
✅ **Approved** - No issues found
CRITICAL: When approving, output ONLY the line above. NO additional explanation, NO listing what the PR does, NO praise. Just the approval line.
If issues found:
## Bugs/Issues
**ChatView.swift:45**
Potential race condition when...
---
⚠️ **Minor Issues** - Fix race condition
⚠️ Common Mistakes to Avoid
Assuming Code is Unused After UI Removal
Scenario: PR removes a menu button but leaves the menu parameter
❌ WRONG:
"The menu parameter is now unused and should be removed"
✅ CORRECT:
Check if menu is used elsewhere:
- Long-press context menu?
- Dual UX pattern (button + long-press)?
- Multiple consumers?
Example:
// menu() is used in BOTH places
.toolbar { Menu { menu() } } // Visible button (removed)
.contextMenu { menu() } // Long-press (still there!)
Before suggesting removal:
- Searched ALL usages in the file
- Checked for dual UX patterns
- Understood purpose of each flag
- Asked about design intent if unsure
Not Understanding Conditional Flags
Scenario: Component has allowMenuContent and allowContextMenuItems
❌ WRONG:
"These flags serve the same purpose, consolidate them"
✅ CORRECT:
They control DIFFERENT UI elements:
- allowMenuContent: Visible button
- allowContextMenuItems: Long-press menu
- Can be independently enabled/disabled
Flagging Properly Regenerated Files
Scenario: A PR includes changes to a generated file (e.g., Generated/FeatureFlags.swift).
❌ WRONG:
"Edited generated file instead of running code generation"
(Assuming any change to a generated file is a violation)
✅ CORRECT: Check if the corresponding SOURCE file is also in the PR diff:
| Generated File | Source File |
|---|---|
Generated/FeatureFlags.swift | FeatureDescription+Flags.swift |
Generated/Strings.swift | .xcstrings files |
Generated/ImageAssets.swift | Assets.xcassets folders |
Modules/*/Generated/ | Templates or annotated source files |
Proper Workflow Pattern:
PR contains:
├── FeatureDescription+Flags.swift (source - CHANGED)
└── Generated/FeatureFlags.swift (generated - ALSO CHANGED)
→ This is CORRECT! Developer edited source and ran `make generate`
Actual Violation Pattern:
PR contains:
└── Generated/FeatureFlags.swift (generated - CHANGED)
(No corresponding source file changes)
→ This is WRONG! Developer manually edited generated file
Before flagging generated file edits:
- Check if corresponding source file is in the diff
- If source file changed → regeneration was proper, NOT a violation
- If ONLY generated file changed → flag as violation
🎯 Review Sections (Include ONLY If Issues Exist)
Bugs/Issues
Logic errors, potential bugs that need fixing
Format:
**FileName.swift:123**
Description of the bug and why it's a problem.
Best Practices
Violations of Swift/SwiftUI conventions or CLAUDE.md guidelines (code quality only, not design)
Format:
**FileName.swift:45**
Using hardcoded strings instead of Loc constants.
Performance
Actual performance problems (not theoretical)
Format:
**ViewModel.swift:89**
N+1 query in loop - will cause performance issues with large datasets.
Security
Real security vulnerabilities
Format:
**AuthService.swift:34**
Storing credentials in UserDefaults - should use Keychain.
📊 Summary Format
End with ONE sentence with status emoji:
✅ **Approved** - Clean implementation following guidelines
⚠️ **Minor Issues** - Fix hardcoded strings and race condition
🚨 **Major Issues** - Critical security vulnerability in auth flow
🔍 Analysis Checklist
Before finalizing your review:
- Checked against CLAUDE.md conventions
- Verified localization (no hardcoded strings)
- Checked for generated file edits
- Looked for race conditions
- Verified tests/mocks updated if refactoring
- Searched for ALL usages before suggesting removal
- Only included sections with actual issues
- No design/UI suggestions (padding, margins, colors)
- Referenced specific file:line for each issue
- Ended with status emoji summary
📚 Complete Documentation
Full Guide: .claude/CODE_REVIEW_GUIDE.md
For comprehensive coverage of:
- Core review rules
- Common analysis mistakes (with examples)
- Review sections and formats
- Complete checklist
CI/Automation: .github/workflows/pr-review-automation.md
For GitHub Actions integration:
- Context variables (REPO, PR_NUMBER, COMMIT_SHA)
- Valid runners and Xcode versions
- Review comment strategies
- How to post reviews via
ghCLI
💡 Quick Reference
What to Check
From CLAUDE.md:
- No hardcoded strings (use
Locconstants) - No generated file edits (
// Generated using...) - Tests/mocks updated when refactoring
- Feature flags for new features
- No whitespace trimming
- Async/await over completion handlers
Code Quality:
- Swift best practices (guard, @MainActor)
- Proper error handling
- No force unwraps in production code
- Memory leaks (weak/unowned where needed)
What NOT to Comment On
- ❌ Design/UI spacing (padding, margins)
- ❌ Colors or visual appearance
- ❌ Praise or "Strengths" sections
- ❌ "No concerns" statements
- ❌ Theoretical performance issues
- ❌ Style preferences not in CLAUDE.md
🎓 Example Reviews
Example 1: Clean PR
✅ **Approved** - No issues found
That's it! Absolutely nothing else. Not even in comments posted to GitHub.
❌ WRONG (too verbose):
✅ **Approved** - No issues found
The PR correctly implements per-chat notification overrides:
- Added force list properties with proper subscription keys
- effectiveNotificationMode(for:) method correctly prioritizes...
✅ CORRECT:
✅ **Approved** - No issues found
Example 2: Minor Issues
## Best Practices
**ChatView.swift:34**
Using hardcoded string "Send Message" instead of localization constant.
Should be: `Text(Loc.sendMessage)`
**ChatViewModel.swift:89**
Tests not updated after renaming `sendMessage()` to `send()`.
Update `ChatViewModelTests.swift` to use new method name.
---
⚠️ **Minor Issues** - Fix hardcoded string and update tests
Example 3: Critical Issue
## Bugs/Issues
**AuthService.swift:45**
Storing password in UserDefaults (line 45). This is a security vulnerability.
Should use Keychain instead: `KeychainService.store(password, for: key)`
---
🚨 **Major Issues** - Fix password storage security vulnerability
🔗 Related Skills & Docs
- ios-dev-guidelines →
IOS_DEVELOPMENT_GUIDE.md- Swift/iOS patterns to check against - localization-developer →
LOCALIZATION_GUIDE.md- Verify no hardcoded strings - code-generation-developer →
CODE_GENERATION_GUIDE.md- Verify no generated file edits
Navigation: This is a smart router. For detailed review standards and common mistakes, always refer to .claude/CODE_REVIEW_GUIDE.md.
For CI/automation: See .github/workflows/pr-review-automation.md for GitHub Actions integration.
When not to use it
- →Visual design reviews
- →When looking for praise or subjective advice
Prerequisites
Limitations
- →Cannot verify visual interface aesthetics
- →Requires well-maintained CLAUDE.md documentation
How it compares
Restricts feedback to objective technical issues and prevents non-actionable suggestions.
Compared to similar skills
code-review-developer side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| code-review-developer (this skill) | 2 | 6mo | No flags | Intermediate |
| github-code-review | 13 | 2mo | Review | Advanced |
| reviewing-nextjs-16-patterns | 11 | 8mo | Review | Intermediate |
| agent-code-analyzer | 3 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by anyproto
View all by anyproto →You might also like
github-code-review
ruvnet
Comprehensive GitHub code review with AI-powered swarm coordination
reviewing-nextjs-16-patterns
djankies
Review code for Next.js 16 compliance - security patterns, caching, breaking changes. Use when reviewing Next.js code, preparing for migration, or auditing for violations.
agent-code-analyzer
ruvnet
Agent skill for code-analyzer - invoke with $agent-code-analyzer
code-review-ai-ai-review
sickn33
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
codex-code-review
tyrchen
Perform comprehensive code reviews using OpenAI Codex CLI. This skill should be used when users request code reviews, want to analyze diffs/PRs, need security audits, performance analysis, or want automated code quality feedback. Supports reviewing staged changes, specific files, entire directories, or git diffs.
best-practices
davila7
Apply modern web development best practices for security, compatibility, and code quality. Use when asked to "apply best practices", "security audit", "modernize code", "code quality review", or "check for vulnerabilities".