Skills/Multi-Language Code Review Skill

Multi-Language Code Review Skill

byawesome-skills·backend

Transforms AI-assisted code review from vague suggestions into a structured, consistent, and expert-level process. Covers 20+ languages and frameworks with progressive disclosure, a 4-phase review process, severity labeling (blocking, important, nit, suggestion, praise), security checklists, and collaborative tone guidelines.

CLAUDE CODECURSORCODEXOPENCODEWINDSURF
Loading stats...

Installation

Install directly into your agent CLI.

$npx skills add awesome-skills/code-review-skill
Usage examplePrompt your agent

“Review this pull request using code-review-skill: check logic correctness, scan for security vulnerabilities, evaluate architecture, and label findings by severity.”

Multi-Language Code Review Skill Subgroups

Review Mindset & 4-Phase Review Processjump ↓

Execute structured 4-phase reviews (Context Gathering -> High-Level Design -> Line-by-Line Inspection -> Summary & Decision) with constructive feedback tone.

Severity Labeling Protocoljump ↓

Classify review findings across standardized severity tags: [blocking] must-fix issues, [important] non-blocking fixes, [nit], [suggestion], and [praise].

Frontend Frameworks Review (React 19, Vue 3, Angular, Svelte 5)jump ↓

Inspect modern frontend changes for React 19 Actions/RSC, Vue 3 Composition API, Angular 17+ Signals, Svelte 5 Runes, and TanStack Query v5 state cache.

Backend & Systems Review (Rust, Go, C#/.NET, Java, Python, C++)jump ↓

Audit systems and backend code for borrow checker/unsafe in Rust, goroutine leak/channels in Go, EF Core N+1 queries, async await, and Pydantic validation.

Cross-Cutting Security Checklist (SQLi, XSS, CSRF, SSRF, IDOR)jump ↓

Detect OWASP vulnerabilities, unsafe parameterized SQL queries, XSS injection paths, missing tenant authorization checks, and sensitive data leakage.

Universal Code Quality & Anti-Patterns Checklistjump ↓

Catch parameter sprawl, leaky abstractions, deeply nested conditionals, stringly-typed inputs, TOCTOU race conditions, and unreferenced dead code.

SKILL.md

--- name: code-review-skill description: "A comprehensive multi-language code review skill for AI agents covering React 19, Vue 3, Rust, TypeScript, Python, Go, and 20+ ecosystems." license: MIT metadata: author: awesome-skills repo: awesome-skills/code-review-skill version: "1.0.0" ---

Multi-Language Code Review Skill

A production-ready skill for AI coding assistants that transforms code review from vague suggestions into a structured, consistent, and expert-level process. Covers 20+ languages and frameworks with progressive disclosure, severity labeling, and security-first checklists.

Subgroups Included

1. Review Mindset & 4-Phase Review Process — Execute structured 4-phase reviews (Context Gathering -> High-Level Design -> Line-by-Line Inspection -> Summary & Decision) with constructive feedback tone. 2. Severity Labeling Protocol — Classify review findings across standardized severity tags: [blocking] must-fix issues, [important] non-blocking fixes, [nit], [suggestion], and [praise]. 3. Frontend Frameworks Review (React 19, Vue 3, Angular, Svelte 5) — Inspect modern frontend changes for React 19 Actions/RSC, Vue 3 Composition API, Angular 17+ Signals, Svelte 5 Runes, and TanStack Query v5 state cache. 4. Backend & Systems Review (Rust, Go, C#/.NET, Java, Python, C++) — Audit systems and backend code for borrow checker/unsafe in Rust, goroutine leak/channels in Go, EF Core N+1 queries, async await, and Pydantic validation. 5. Cross-Cutting Security Checklist (SQLi, XSS, CSRF, SSRF, IDOR) — Detect OWASP vulnerabilities, unsafe parameterized SQL queries, XSS injection paths, missing tenant authorization checks, and sensitive data leakage. 6. Universal Code Quality & Anti-Patterns Checklist — Catch parameter sprawl, leaky abstractions, deeply nested conditionals, stringly-typed inputs, TOCTOU race conditions, and unreferenced dead code.

Installation Quick Start

Any Agent (Skills CLI)

bash npx skills add awesome-skills/code-review-skill

Common Example Prompts

- "Use code-review-skill to review this PR" - "Perform a security and performance code review on my recent changes" - "Audit my React 19 / TypeScript codebase" - "Review this Go service for race conditions and goroutine leaks"


Subgroup 1: Review Mindset & 4-Phase Review Process

Code Review Skill

Transform code reviews from gatekeeping to knowledge sharing through constructive feedback, systematic analysis, and collaborative improvement.

When to Use This Skill

  • Reviewing pull requests and code changes
  • Establishing code review standards for teams
  • Mentoring junior developers through reviews
  • Conducting architecture reviews
  • Creating review checklists and guidelines
  • Improving team collaboration
  • Reducing code review cycle time
  • Maintaining code quality standards

Core Principles

1. The Review Mindset

Goals of Code Review:

  • Catch bugs and edge cases
  • Ensure code maintainability
  • Share knowledge across team
  • Enforce coding standards
  • Improve design and architecture
  • Build team culture

Not the Goals:

  • Show off knowledge
  • Nitpick formatting (use linters)
  • Block progress unnecessarily
  • Rewrite to your preference

2. Effective Feedback

Good Feedback is:

  • Specific and actionable
  • Educational, not judgmental
  • Focused on the code, not the person
  • Balanced (praise good work too)
  • Prioritized (critical vs nice-to-have)
markdown
❌ Bad: "This is wrong."
✅ Good: "This could cause a race condition when multiple users
access simultaneously. Consider using a mutex here."

❌ Bad: "Why didn't you use X pattern?" ✅ Good: "Have you considered the Repository pattern? It would make this easier to test. Here's an example: [link]"

❌ Bad: "Rename this variable." ✅ Good: "[nit] Consider userCount instead of uc for clarity. Not blocking if you prefer to keep it." ```

3. Review Scope

What to Review:

  • Logic correctness and edge cases
  • Security vulnerabilities
  • Performance implications
  • Test coverage and quality
  • Error handling
  • Documentation and comments
  • API design and naming
  • Architectural fit

What Not to Review Manually:

  • Code formatting (use Prettier, Black, etc.)
  • Import organization
  • Linting violations
  • Simple typos

Review Process

Phase 1: Context Gathering (2-3 minutes)

Before diving into code, understand:

  1. Read PR description and linked issue
  2. Check PR size (>400 lines? Ask to split)
  3. Review CI/CD status (tests passing?)
  4. Understand the business requirement
  5. Note any relevant architectural decisions
For large diffs, pipe the diff through `scripts/pr-analyzer.py` (git diff main...HEAD | python scripts/pr-analyzer.py) to triage complexity and get a suggested review approach before reading.

Phase 2: High-Level Review (5-10 minutes)

  1. Architecture & Design - Does the solution fit the problem?
  2. - For significant changes, consult Architecture Review Guide
  3. - Check: SOLID principles, coupling/cohesion, anti-patterns
  4. Performance Assessment - Are there performance concerns?
  5. - For performance-critical code, consult Performance Review Guide
  6. - Check: Algorithm complexity, N+1 queries, memory usage
  7. File Organization - Are new files in the right places?
  8. Testing Strategy - Are there tests covering edge cases?

Phase 3: Line-by-Line Review (10-20 minutes)

For each file, check:

  • Logic & Correctness - Edge cases, off-by-one, null checks, race conditions
  • Security - Input validation, injection risks, XSS, sensitive data
  • Performance - N+1 queries, unnecessary loops, memory leaks
  • Maintainability - Clear names, single responsibility, comments
  • Reuse - Before accepting new code, search for existing utilities/helpers that could replace it. Check adjacent files and shared modules for similar patterns. See Universal Quality Guide for anti-patterns like parameter sprawl, leaky abstractions, nested conditionals, stringly-typed code, TOCTOU, and no-op updates.

Phase 4: Summary & Decision (2-3 minutes)

  1. Summarize key concerns
  2. Highlight what you liked
  3. Make clear decision:
  4. - ✅ Approve
  5. - 💬 Comment (minor suggestions)
  6. - 🔄 Request Changes (must address)
  7. Offer to pair if complex

Review Techniques

Technique 1: The Checklist Method

Use checklists for consistent reviews. See Security Review Guide for comprehensive security checklist.

Technique 2: The Question Approach

Instead of stating problems, ask questions:

markdown
❌ "This will fail if the list is empty."
✅ "What happens if `items` is an empty array?"

❌ "You need error handling here." ✅ "How should this behave if the API call fails?" ```

Technique 3: Suggest, Don't Command

Use collaborative language:

markdown
❌ "You must change this to use async/await"
✅ "Suggestion: async/await might make this more readable. What do you think?"

❌ "Extract this into a function" ✅ "This logic appears in 3 places. Would it make sense to extract it?" ```

Technique 4: Differentiate Severity

Use labels to indicate priority:

  • 🔴 [blocking] - Must fix before merge
  • 🟡 [important] - Should fix, discuss if disagree
  • 🟢 [nit] - Nice to have, not blocking
  • 💡 [suggestion] - Alternative approach to consider
  • 📚 [learning] - Educational comment, no action needed
  • 🎉 [praise] - Good work, keep it up!

Severity levels: 🔴 / 🟡 / 🟢 are the three severity tiers used as the standard across all guides in this skill — 🔴 blocks the merge, 🟡 should be addressed, 🟢 is optional. The remaining markers (💡 / 📚 / 🎉) are non-blocking annotations.

Language-Specific Guides

根据审查的代码语言,查阅对应的详细指南:

Language/FrameworkReference FileKey Topics
ReactReact GuideHooks, useEffect, React 19 Actions, RSC, Suspense, TanStack Query v5
Vue 3Vue GuideComposition API, 响应性系统, Props/Emits, Watchers, Composables
Angular 17+Angular GuideSignals, Standalone, RxJS, Zoneless, 模板优化, 测试, 路由守卫, HttpInterceptor
RustRust Guide所有权/借用, Unsafe 审查, 异步代码, 取消安全性, 错误处理
TypeScriptTypeScript Guide类型安全, async/await, 不可变性, 测试, 模块解析, TS 5.x
PythonPython Guide可变默认参数, 异常处理, 类属性
Django / DRFDjango Guide安全审查, N+1 查询, Serializer 反模式, ViewSet, 异步视图
FastAPIFastAPI GuideDepends, Pydantic v2 validation, async correctness, sessions/N+1, auth vs authorization, test-driven verification
JavaJava GuideJava 17/21 新特性, Spring Boot 3, 虚拟线程, Stream/Optional
Java 8 / LegacyJava 8 GuideJava 8, Spring Boot 2, javax.\*, Stream/Optional, java.time, CompletableFuture
PHPPHP GuidePHP 8.x type system, PDO, security review, Composer, PHPUnit/PHPStan
Ruby / RailsRuby GuideRuby semantics, Rails 8, Active Record, Active Job, security, testing
C# / .NETC# GuideC# 12 特性, 异步编程, EF Core 性能, ASP.NET Core, LINQ
GoGo Guide错误处理, goroutine/channel, context, 接口设计
Kotlin / AndroidKotlin Guide协程, Flow, Jetpack Compose, 空安全, 内存泄漏, 架构模式
Swift / SwiftUISwift GuideOptionals, Swift Concurrency, Sendable/actors, SwiftUI property wrappers, value vs reference types, API design
Dart / FlutterDart GuideWidget rebuilds, const constructors, null safety, isolates, async in build, Riverpod/Bloc, platform channels, keys, disposal
NestJSNestJS Guide依赖注入, 分层架构, DTO 验证, Guard/Interceptor, 循环依赖
Svelte / SvelteKitSvelte GuideRunes, Load 函数, Form Actions, Store 迁移, SSR/CSR 边界
CC Guide指针/缓冲区, 内存安全, UB, 安全编码, 可移植性, 测试
C++C++ GuideRAII, 智能指针, C++20/23, constexpr, 测试
ZigZig GuideAllocators, error unions, defer/errdefer, comptime, C interop
CSS/Less/SassCSS Guide变量规范, !important, 性能优化, 响应式, 兼容性
QtQt Guide对象模型, 信号/槽, Model/View, QML, Qt6 迁移, 测试

Cross-Cutting Guides

Language-agnostic patterns applicable to all code reviews:

TopicReference FileKey Topics
Architecture ReviewArchitecture Review GuideSOLID, anti-patterns, coupling/cohesion, dependency direction
Performance ReviewPerformance Review GuideWeb Vitals, N+1, algorithm complexity, memory leaks, caching
Security ReviewSecurity Review GuideSQLi, XSS, CSRF, SSRF, IDOR, 命令注入, 跨语言示例
Universal QualityUniversal Quality GuideReuse audit, parameter sprawl, leaky abstractions, nested conditionals, stringly-typed code, TOCTOU, no-op updates, redundant state
Common BugsCommon Bugs ChecklistLanguage-specific bug patterns, common pitfalls
SQL Injection PreventionSQL Injection GuideParameterized queries, ORM safety, 6 languages, dynamic identifiers, detection
XSS PreventionXSS Prevention GuideOutput encoding, CSP, 5 frameworks, input validation vs encoding, detection
N+1 QueriesN+1 Queries GuideEager loading, batch fetching, DataLoader, 5 languages, detection
Error HandlingError Handling GuideFail fast, error hierarchy, 7 languages, anti-patterns, logging
Async & ConcurrencyConcurrency GuideGoroutines, async/await, actors, structured concurrency, 7 languages
Review Best PracticesCode Review Best PracticesCommunication, reviewer mindset, giving feedback, severity labels

Additional Resources


Subgroup 2: Severity Labeling Protocol

Standardized Severity Markers

- 🔴 [blocking] — Must fix before merge (critical logic errors, security vulnerabilities, crash risks) - 🟡 [important] — Should fix, discuss if disagree (missing edge case handling, performance degradation) - 🟢 [nit] — Nice to have, not blocking (naming clarity, minor formatting) - 💡 [suggestion] — Alternative architectural or algorithmic approach to consider - 📚 [learning] — Educational comment explaining language semantics or best practice - 🎉 [praise] — Highlights elegant solutions, thorough tests, or clean abstractions


Subgroup 3: Frontend Frameworks Review (React 19, Vue 3, Angular, Svelte 5)

Key Frontend Checks

- React 19 & Next.js: Server Actions validation, React Server Components (RSC) boundary leaks, useActionState, useOptimistic, TanStack Query v5 cache invalidation, and useEffect cleanup. - Vue 3: Composition API reactive state leaks, Props/Emits typing, computed property side effects, and composable lifecycles. - Angular 17+: Signal-based reactivity, Standalone components, Zoneless change detection, and RxJS unsubscribe hygiene. - Svelte 5: Runes ($state, $derived, $effect) correctness, Form Actions, and SSR/CSR boundary separation.


Subgroup 4: Backend & Systems Review (Rust, Go, C#/.NET, Java, Python, C++)

Key Backend Checks

- Rust: Ownership & borrowing ergonomics, unsafe audit, async cancellation safety, and explicit error propagation. - Go: Goroutine leaks, unbuffered channel deadlocks, context propagation, and interface pollution. - Python / FastAPI / Django: Mutable default arguments, Pydantic v2 validator correctness, async DB sessions, and N+1 ORM queries. - C# / .NET: EF Core query evaluation, LINQ performance, async/await synchronization context, and ASP.NET Core middleware order. - Java: Java 21 virtual thread pinning with synchronized, Spring Boot 3 security filters, and Stream/Optional anti-patterns.


Subgroup 5: Cross-Cutting Security Checklist (SQLi, XSS, CSRF, SSRF, IDOR)

Universal Security Checklist

- SQL Injection (SQLi): Ensure 100% parameterized query or ORM usage; never concatenate user inputs into SQL strings. - XSS & Output Encoding: Verify proper HTML escaping, Content Security Policy (CSP), and framework-level sanitization. - CSRF & SSRF: Validate origin headers, SameSite cookies, and restrict outbound URL fetchers from hitting internal IP metadata (169.254.169.254, localhost). - Broken Object Level Authorization (BOLA / IDOR): Verify that every database query checks ownership (user_id or organization_id) rather than trusting path IDs.


Subgroup 6: Universal Code Quality & Anti-Patterns Checklist

Universal Anti-Patterns

- Parameter Sprawl: Avoid functions with >4 positional arguments; group into configuration objects or DTOs. - Leaky Abstractions: Keep internal database entities separate from external API presentation layers. - TOCTOU Race Conditions: Avoid "check-then-act" logic without transactional atomicity or row-level locking. - Dead Code & No-Op Updates: Detect unused exports, unreachable conditionals, and database updates that write unchanged values.