claude-skills/docs/skills/engineering-team/code-reviewer.md
Claude 0a330f3759
feat(docs): redesign documentation site — clay design system, accurate counters, markdown-html domain pages
- Rewrite docs/stylesheets/extra.css with a warm clay/coral design system:
  aurora hero with eyebrow badge and stats strip, gradient card hairlines,
  pill tool badges, numbered steps component, reduced-motion support
- Rewrite homepage copy: plain-language 'What is an Agent Skill?' section,
  3-step how-it-works, all 17 domain cards, guides section, accurate stats
  (337 skills / 17 domains / 66 plugins)
- Add missing markdown-html domain to generate-docs.py (17th domain) and
  regenerate catalog: +12 new pages (md-document/md-review/md-slides skills,
  cs-markdown-html-orchestrator + cs-scraping-architect agents, 7 commands)
- Fix skill-internal link rewriting in the generator (./SIBLING.md and
  ALL-CAPS companion files now resolve to GitHub URLs) — mkdocs --strict
  now passes with zero warnings
- Refresh stale counters site-wide (177/192/204/311/338 → 337) in skills
  index, plugins index, getting-started, integrations, custom-gpts, guides
- Rebuild plugins page from live marketplace.json: 13 domain bundles + 53
  standalone plugins, accurate bundle table and full 66-plugin listing
- Add Guides section to nav (5 existing SEO guide pages, URLs unchanged),
  point homepage tool badges at tool-specific guides and real anchors
- Tighten site_description and JSON-LD keywords for 'agent skills' /
  'agent plugins' queries; update announce bar to the markdown-html launch
- No existing slugs or URLs changed — all edits are additive or in-place

https://claude.ai/code/session_015bYZ97nV4oRb3LbxCRFVcP
2026-06-11 15:45:00 +00:00

6.7 KiB

title description
Code Reviewer — Agent Skill & Codex Plugin Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter. Analyzes PRs. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw.

Code Reviewer

:material-code-braces: Engineering - Core :material-identifier: `code-reviewer` :material-github: Source
Install: claude /plugin install engineering-skills

Automated code review tools for analyzing pull requests, detecting code quality issues, and generating review reports.


How This Skill Is Organized

code-reviewer/
  SKILL.md                        ← you are here (tools + dispatch table)
  rules/
    universal.md                  ← security, async, resources, exceptions, performance — all languages
  languages/
    python.md                     ← Python-specific rules + idioms
    typescript.md                 ← TypeScript / JavaScript-specific rules + idioms
    go.md                         ← Go-specific rules + idioms
    swift.md                      ← Swift-specific rules + idioms
    kotlin.md                     ← Kotlin-specific rules + idioms
    csharp.md                     ← C# / .NET-specific rules + idioms
    java.md                       ← Java-specific rules + idioms
    c.md                          ← C -specific rules + idioms
    cpp.md                        ← C++ -specific rules + idioms
    rust.md                       ← Rust -specific rules + idioms
    ruby.md                       ← Ruby -specific rules + idioms
    php.md                        ← PHP-specific rules + idioms
    dart.md                       ← Dart / Flutter-specific rules + idioms

Loading order for every review

  1. This file (SKILL.md) — tools and thresholds
  2. rules/universal.md — always, for every language
  3. The matching languages/*.md — one file based on the extension table below

That is always exactly 2 additional files, regardless of scope.

Extension(s) Load
.py languages/python.md
.ts, .tsx, .js, .jsx, .mjs languages/typescript.md
.go languages/go.md
.swift languages/swift.md
.kt, .kts languages/kotlin.md
.cs, .csx, .razor, .cshtml languages/csharp.md
.java languages/java.md
.c, .h languages/c.md
.cpp, .cc, .cxx, .hpp, .hh, .hxx languages/cpp.md
.rs languages/rust.md
.rb, .rake, .gemspec, .ru languages/ruby.md
.php, .phtml languages/php.md
.dart languages/dart.md

Tools

PR Analyzer

Analyzes git diff between branches to assess review complexity and identify risks.

# Analyze current branch against main
python scripts/pr_analyzer.py /path/to/repo

# Compare specific branches
python scripts/pr_analyzer.py . --base main --head feature-branch

# JSON output for integration
python scripts/pr_analyzer.py /path/to/repo --json

What it detects (universal — see also language file for language-specific signals):

  • Hardcoded secrets (passwords, API keys, tokens, connection strings)
  • SQL / query injection patterns
  • Debug statements left in production code
  • Lint / analyzer suppression annotations
  • TODO/FIXME comments

Language-specific detections are defined in each languages/*.md file.

Output includes:

  • Complexity score (1-10)
  • Risk categorization (critical, high, medium, low)
  • File prioritization for review order
  • Commit message validation

Code Quality Checker

Analyzes source code for structural issues, code smells, and SOLID violations.

# Analyze a directory
python scripts/code_quality_checker.py /path/to/code

# Analyze specific language
# Valid values: python, typescript, javascript, go, swift, kotlin, csharp, java, c, cpp, rust, ruby, php, dart
python scripts/code_quality_checker.py . --language java

# JSON output
python scripts/code_quality_checker.py /path/to/code --json

Universal thresholds:

Issue Threshold
Long function >50 lines
Large file >500 lines
God class >20 methods
Too many params >5
Deep nesting >4 levels
High complexity >10 branches

Language-specific checks are defined in each languages/*.md file.


Review Report Generator

Combines PR analysis and code quality findings into structured review reports.

# Generate report for current repo
python scripts/review_report_generator.py /path/to/repo

# Markdown output
python scripts/review_report_generator.py . --format markdown --output review.md

# Use pre-computed analyses
python scripts/review_report_generator.py . \
  --pr-analysis pr_results.json \
  --quality-analysis quality_results.json

Verdicts:

Score Verdict
90+ with no high issues Approve
75+ with ≤2 high issues Approve with suggestions
50-74 Request changes
<50 or critical issues Block

Adding a New Language

Reviewer guidance (required):

  1. Create languages/<name>.md using any existing language file as a template — it must have sections: PR Analyzer Signals, Code Quality Checks, Security, Async, Resource Management, Exception Handling, Performance, Idioms.
  2. Add the extension row to the dispatch table above.

That is all the agent-driven review needs.

Deterministic analyzer support (optional, recommended): the bundled scripts only flag a language they explicitly know. To make code_quality_checker.py score the new language:

  1. Add the extensions to LANGUAGE_EXTENSIONS in scripts/code_quality_checker.py (this also adds the --language choice).
  2. Add function / class / method regex entries for the language in the same file; otherwise it falls back to the Python patterns.
  3. Optionally add a check_<name>_specific_smells(...) detector (see the C#, Java, and C ones) and call it from analyze_file.
  4. Add assets/sample_<name>_smells.<ext> + _clean fixtures and commit the expected --json output under expected_outputs/ as a regression guard.

Regression Fixtures

Labelled fixtures live in assets/ with their committed --json output in expected_outputs/ (C#, Java, and C). Drift from the committed JSON signals a behaviour change in the analyzer:

python scripts/code_quality_checker.py assets/sample_java_smells.java --json \
  | diff - expected_outputs/sample_java_smells_quality.json