code-reviewer – skill Lập trình cho agent AI
Dùng cho mọi code review: pull request, diff, commit, hoặc đoạn hàm, handler hay file dán vào bằng TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#/.NET, Java, C, C++, Rust, Ruby, PHP hoặc Dart/Flutter. Áp dụng bộ quy tắc theo ngôn ngữ (bảo mật như SQL injection và thiếu xác thực, xử lý bất đồng bộ và tài nguyên, er
Cài skill code-reviewer bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/code-reviewer-83d55.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /code-reviewer – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/code-reviewer-83d55.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $code-reviewer – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/code-reviewer-83d55.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /code-reviewer – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/code-reviewer-83d55.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /code-reviewer – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
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 + idiomsLoading 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 --jsonWhat 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 --jsonUniversal 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.jsonVerdicts:
| 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:
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.jsonSkill liên quan
- skill-installer – Cài đặt skill Codex vào $CODEX_HOME/skills từ danh sách tuyển chọn hoặc đường dẫn repo…
- iso-standards-readiness – Chuẩn bị và rà soát cấu trúc bằng chứng sẵn sàng cho các tiêu chuẩn ISO về hệ thống quản…
- code-to-prd – Dịch ngược bất kỳ codebase nào thành Tài liệu Yêu cầu Sản phẩm (PRD) đầy đủ. Phân tích…
- code-tour – Dùng khi người dùng yêu cầu tạo file CodeTour .tour — hướng dẫn từng bước theo đối tượng…
- speech – Dùng khi người dùng yêu cầu chuyển văn bản thành giọng nói hoặc lồng tiếng thuyết minh…
- labarchive-integration – Tích hợp với API LabArchives ELN kiểu REST chính thức và Inventory API v1. Hỗ trợ chọn…
- awt-e2e-testing – Kiểm thử E2E web bằng AI — đôi mắt và đôi tay cho các công cụ lập trình AI. Kịch bản…
- hunt-mfa-bypass – Săn lỗ hổng bypass MFA / 2FA — 7 mẫu khác nhau. (1) MFA không được áp dụng ở các…