Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alirezarezvani avatar

Code Reviewer

  • 1k installs
  • 23.5k repo stars
  • Updated July 17, 2026
  • alirezarezvani/claude-skills

code-reviewer is a Claude agent skill that systematically reviews code for security, correctness, and maintainability issues for developers who need structured pre-merge review against universal and language-specific rul

About

code-reviewer is a Claude skill that systematically reviews code for security, correctness, and maintainability before merging or shipping. It applies rules from universal.md plus language-specific guides such as languages/c.md, flagging unsafe patterns like unbounded strcpy and promoting bounds-aware alternatives such as fgets, strncpy, strncat, and snprintf. Sample refactors demonstrate eliminating detector hits while preserving behavior. Developers reach for code-reviewer when they want agent-driven review coverage across security smells, SOLID and DRY concerns, and language idioms without waiting for human reviewer availability. Output is actionable review feedback tied to concrete rule violations and suggested fixes.

  • Applies 70+ prioritized rules from universal.md and language-specific guides
  • Refactors unsafe patterns while preserving original surface area and behavior
  • Detects buffer overflows, unchecked allocations, format-string risks, and command injection
  • Produces clean, standards-compliant samples that pass all rule checks
  • Hard-gate: review must pass before invoking merge or deploy steps

Code Reviewer by the numbers

  • 1,005 all-time installs (skills.sh)
  • +10 installs in the week ending Jul 29, 2026 (Skillselion tracking)
  • Ranked #123 of 1,356 Code Review & Quality skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/alirezarezvani/claude-skills --skill code-reviewer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1k
repo stars23.5k
Security audit2 / 3 scanners passed
Last updatedJuly 17, 2026
Repositoryalirezarezvani/claude-skills

How do you automate pre-merge code review for security issues?

Have an agent systematically review code for security, correctness, and maintainability issues before merging or shipping.

Who is it for?

Developers preparing pull requests who want agent-assisted review across security, correctness, and maintainability with language-specific rule packs.

Skip if: Teams needing formal penetration testing, compliance certification, or performance benchmarking that requires dedicated profiling tools instead of static review.

When should I use this skill?

A developer requests code review, pre-merge checks, or security and maintainability analysis on changed files before shipping.

What you get

Structured review findings, rule violation reports, and refactored code examples addressing security and maintainability smells.

  • Review findings report
  • Suggested security and maintainability fixes

Files

SKILL.mdMarkdownGitHub ↗

Code Reviewer

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
.pylanguages/python.md
.ts, .tsx, .js, .jsx, .mjslanguages/typescript.md
.golanguages/go.md
.swiftlanguages/swift.md
.kt, .ktslanguages/kotlin.md
.cs, .csx, .razor, .cshtmllanguages/csharp.md
.javalanguages/java.md
.c, .hlanguages/c.md
.cpp, .cc, .cxx, .hpp, .hh, .hxxlanguages/cpp.md
.rslanguages/rust.md
.rb, .rake, .gemspec, .rulanguages/ruby.md
.php, .phtmllanguages/php.md
.dartlanguages/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:

IssueThreshold
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:

ScoreVerdict
90+ with no high issuesApprove
75+ with ≤2 high issuesApprove with suggestions
50-74Request changes
<50 or critical issuesBlock

---

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:

3. Add the extensions to LANGUAGE_EXTENSIONS in scripts/code_quality_checker.py (this also adds the --language choice). 4. Add function / class / method regex entries for the language in the same file; otherwise it falls back to the Python patterns. 5. Optionally add a check_<name>_specific_smells(...) detector (see the C#, Java, and C ones) and call it from analyze_file. 6. 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

Related skills

How it compares

Choose code-reviewer for structured pre-merge quality and security review when you need rule-guided feedback rather than a single-language linter config alone.

FAQ

What rule sources does code-reviewer use?

code-reviewer applies rules from universal.md and language-specific files such as languages/c.md. Reviews target security, correctness, and maintainability issues with concrete pattern replacements.

Does code-reviewer handle C security smells?

code-reviewer flags unsafe C patterns like unbounded string operations and recommends bounds-aware APIs such as fgets, strncpy, strncat, and snprintf, as shown in the sample_c_clean.c refactor.

Is Code Reviewer safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Code Review & Qualitytestingintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.