
Code Reviewer
FreeAutomate your code review process for multiple languages.
Free · Opens the source repo
What Code Reviewer does
The Code Reviewer skill provides automated tools designed to streamline the code review process across various programming languages including TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, Java, C, C++, Rust, Ruby, PHP, and Dart. This skill analyzes pull requests (PRs) for complexity and risk, checks for code quality issues such as SOLID violations and code smells, and generates comprehensive review reports. By leveraging this skill, developers can ensure that their code meets quality standards before it is merged into the main branch.
The skill is organized into several components, including a PR Analyzer, a Code Quality Checker, and a Review Report Generator. The PR Analyzer assesses the differences between branches, identifying potential risks and complexities in the code. It detects issues such as hardcoded secrets, SQL injection patterns, and other common vulnerabilities. The Code Quality Checker evaluates the source code for structural issues and compliance with best practices, while the Review Report Generator consolidates the findings into a structured report, providing clear verdicts on whether to approve or request changes.
This skill is particularly useful for teams looking to improve their code quality and maintainability by automating repetitive review tasks. It is suitable for developers and teams of all sizes who want to enforce coding standards and detect issues early in the development process. By integrating this skill into your workflow, you can save time and reduce the likelihood of introducing defects into your codebase.
Overall, the Code Reviewer skill is a valuable addition for any development team seeking to enhance their code review practices and ensure high-quality software delivery.
When to use it
Use this skill when reviewing pull requests or analyzing code quality to identify issues and generate review reports.
When not to use it
This skill may not be suitable for very small projects or teams with minimal code review needs, where manual reviews might suffice.
What you can build with it
Automating Code Reviews
Integrate the Code Reviewer into your CI/CD pipeline to automatically analyze pull requests for quality issues.
Identifying Code Smells
Use the Code Quality Checker to scan your codebase for common structural problems and improve maintainability.
Generating Review Reports
Leverage the Review Report Generator to create comprehensive reports for stakeholders after code reviews.
How to install Code Reviewer
View source1. Install with the skills CLI
npx skills add alirezarezvani/claude-skills/code-reviewer --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by alirezarezvaniCode 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
- This file (
SKILL.md) — tools and thresholds rules/universal.md— always, for every language- 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):
- Create
languages/<name>.mdusing 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. - 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:
- Add the extensions to
LANGUAGE_EXTENSIONSinscripts/code_quality_checker.py(this also adds the--languagechoice). - Add
function/class/methodregex entries for the language in the same file; otherwise it falls back to the Python patterns. - Optionally add a
check_<name>_specific_smells(...)detector (see the C#, Java, and C ones) and call it fromanalyze_file. - Add
assets/sample_<name>_smells.<ext>+_cleanfixtures and commit the expected--jsonoutput underexpected_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
Frequently asked questions about Code Reviewer
Similar skills
Quality Playbook Generator
Run comprehensive quality audits on any codebase.
PR Draft Summary
Automate PR summary generation for openai-agents-python.
Final Release Review
Streamline your release candidate audits with ease.
Unit Test Vue Pinia
Efficiently write and review unit tests for Vue 3 applications.
Slang Shader Expert
Optimize and integrate Slang shaders with ease.
Telemetry Standards
Ensure consistent event tracking in Supabase Studio.
