- AgentHub: 13 files updated with non-engineering examples (content drafts, research, strategy) — engineering stays primary, cross-domain secondary - AgentHub: 7 slash commands, 5 Python scripts, 3 references, 1 agent, dry_run.py validation (57 checks) - Marketplace: agenthub entry added with cross-domain keywords, engineering POWERFUL updated (25→30), product (12→13), counts synced across all configs - SEO: generate-docs.py now produces keyword-rich <title> tags and meta descriptions using SKILL.md frontmatter — "Claude Code Skills" in site_name propagates to all 276 HTML pages - SEO: per-domain title suffixes (Agent Skill for Codex & OpenClaw, etc.), slug-as-title cleanup, domain label stripping from titles - Broken links: 141→0 warnings — new rewrite_skill_internal_links() converts references/, scripts/, assets/ links to GitHub source URLs; skills/index.md phantom slugs fixed (6 marketing, 7 RA/QM) - Counts synced: 204 skills, 266 tools, 382 refs, 16 agents, 17 commands, 21 plugins — consistent across CLAUDE.md, README.md, docs/index.md, marketplace.json, getting-started.md, mkdocs.yml - Platform sync: Codex 163 skills, Gemini 246 items, OpenClaw compatible Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
189 lines
5.0 KiB
Markdown
189 lines
5.0 KiB
Markdown
---
|
|
title: "Code Reviewer — Agent Skill & Codex Plugin"
|
|
description: "Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin. Analyzes PRs for complexity and risk, checks code quality for SOLID. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
|
|
---
|
|
|
|
# Code Reviewer
|
|
|
|
<div class="page-meta" markdown>
|
|
<span class="meta-badge">:material-code-braces: Engineering - Core</span>
|
|
<span class="meta-badge">:material-identifier: `code-reviewer`</span>
|
|
<span class="meta-badge">:material-github: <a href="https://github.com/alirezarezvani/claude-skills/tree/main/engineering-team/code-reviewer/SKILL.md">Source</a></span>
|
|
</div>
|
|
|
|
<div class="install-banner" markdown>
|
|
<span class="install-label">Install:</span> <code>claude /plugin install engineering-skills</code>
|
|
</div>
|
|
|
|
|
|
Automated code review tools for analyzing pull requests, detecting code quality issues, and generating review reports.
|
|
|
|
---
|
|
|
|
## Table of Contents
|
|
|
|
- [Tools](#tools)
|
|
- [PR Analyzer](#pr-analyzer)
|
|
- [Code Quality Checker](#code-quality-checker)
|
|
- [Review Report Generator](#review-report-generator)
|
|
- [Reference Guides](#reference-guides)
|
|
- [Languages Supported](#languages-supported)
|
|
|
|
---
|
|
|
|
## Tools
|
|
|
|
### PR Analyzer
|
|
|
|
Analyzes git diff between branches to assess review complexity and identify risks.
|
|
|
|
```bash
|
|
# 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:**
|
|
- Hardcoded secrets (passwords, API keys, tokens)
|
|
- SQL injection patterns (string concatenation in queries)
|
|
- Debug statements (debugger, console.log)
|
|
- ESLint rule disabling
|
|
- TypeScript `any` types
|
|
- TODO/FIXME comments
|
|
|
|
**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.
|
|
|
|
```bash
|
|
# Analyze a directory
|
|
python scripts/code_quality_checker.py /path/to/code
|
|
|
|
# Analyze specific language
|
|
python scripts/code_quality_checker.py . --language python
|
|
|
|
# JSON output
|
|
python scripts/code_quality_checker.py /path/to/code --json
|
|
```
|
|
|
|
**What it detects:**
|
|
- Long functions (>50 lines)
|
|
- Large files (>500 lines)
|
|
- God classes (>20 methods)
|
|
- Deep nesting (>4 levels)
|
|
- Too many parameters (>5)
|
|
- High cyclomatic complexity
|
|
- Missing error handling
|
|
- Unused imports
|
|
- Magic numbers
|
|
|
|
**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 |
|
|
|
|
---
|
|
|
|
### Review Report Generator
|
|
|
|
Combines PR analysis and code quality findings into structured review reports.
|
|
|
|
```bash
|
|
# 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
|
|
```
|
|
|
|
**Report includes:**
|
|
- Review verdict (approve, request changes, block)
|
|
- Score (0-100)
|
|
- Prioritized action items
|
|
- Issue summary by severity
|
|
- Suggested review order
|
|
|
|
**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 |
|
|
|
|
---
|
|
|
|
## Reference Guides
|
|
|
|
### Code Review Checklist
|
|
`references/code_review_checklist.md`
|
|
|
|
Systematic checklists covering:
|
|
- Pre-review checks (build, tests, PR hygiene)
|
|
- Correctness (logic, data handling, error handling)
|
|
- Security (input validation, injection prevention)
|
|
- Performance (efficiency, caching, scalability)
|
|
- Maintainability (code quality, naming, structure)
|
|
- Testing (coverage, quality, mocking)
|
|
- Language-specific checks
|
|
|
|
### Coding Standards
|
|
`references/coding_standards.md`
|
|
|
|
Language-specific standards for:
|
|
- TypeScript (type annotations, null safety, async/await)
|
|
- JavaScript (declarations, patterns, modules)
|
|
- Python (type hints, exceptions, class design)
|
|
- Go (error handling, structs, concurrency)
|
|
- Swift (optionals, protocols, errors)
|
|
- Kotlin (null safety, data classes, coroutines)
|
|
|
|
### Common Antipatterns
|
|
`references/common_antipatterns.md`
|
|
|
|
Antipattern catalog with examples and fixes:
|
|
- Structural (god class, long method, deep nesting)
|
|
- Logic (boolean blindness, stringly typed code)
|
|
- Security (SQL injection, hardcoded credentials)
|
|
- Performance (N+1 queries, unbounded collections)
|
|
- Testing (duplication, testing implementation)
|
|
- Async (floating promises, callback hell)
|
|
|
|
---
|
|
|
|
## Languages Supported
|
|
|
|
| Language | Extensions |
|
|
|----------|------------|
|
|
| Python | `.py` |
|
|
| TypeScript | `.ts`, `.tsx` |
|
|
| JavaScript | `.js`, `.jsx`, `.mjs` |
|
|
| Go | `.go` |
|
|
| Swift | `.swift` |
|
|
| Kotlin | `.kt`, `.kts` |
|