code-review-developer

0
0
Source

Context-aware routing to code review guidelines. Use when reviewing pull requests, providing code feedback, or discussing review standards.

Install

mkdir -p .claude/skills/code-review-developer && curl -L -o skill.zip "https://mcp.directory/api/skills/download/5687" && unzip -o skill.zip -d .claude/skills/code-review-developer && rm skill.zip

Installs to .claude/skills/code-review-developer

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)

  1. Be LEAN and ACTIONABLE - Only report actual issues, no noise
  2. NO praise sections - No "Strengths", no "no concerns" statements
  3. NO design suggestions - You cannot see visual design (padding, margins, colors)
  4. Reference file:line - Always include specific locations for issues
  5. If clean, just approve - "✅ Approved - No issues found" (nothing else!)
  6. 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 Loc constants?
  • 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 FileSource File
Generated/FeatureFlags.swiftFeatureDescription+Flags.swift
Generated/Strings.swift.xcstrings files
Generated/ImageAssets.swiftAssets.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 gh CLI

💡 Quick Reference

What to Check

From CLAUDE.md:

  • No hardcoded strings (use Loc constants)
  • 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-guidelinesIOS_DEVELOPMENT_GUIDE.md - Swift/iOS patterns to check against
  • localization-developerLOCALIZATION_GUIDE.md - Verify no hardcoded strings
  • code-generation-developerCODE_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.

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

641968

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

590705

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

338397

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318395

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

450339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.