Code Review
Plugin
完整 code review 生態系統,以 Claude Code plugin 形式發布。提供 27 個 agent(含 Code Graph Analyzer、語言/框架專項 reviewer、Verification 等)、單一 /code-review command(自動偵測語言/框架並 dispatch 對應 agent)、以及 3 個自動觸發的安全 review skill。
所有 agent 僅報告 confidence ≥ 80% 的問題。零 finding 是合法結果,代表 clean code,不會強行挑毛病。
核心特性
- 單一
/code-review,自動 dispatch — 一個 command 處理全部。依變更檔案副檔名自動偵測語言/框架(.py→python-reviewer、.go→go-reviewer,Django/FastAPI/Flutter 以內容輔助),自動加對應專項 agent,不需記每個語言的 command - 27 個 Agent — 涵蓋 TypeScript、Python、Go、Rust、Java、Kotlin、Swift、C++、C#、F#、Django、FastAPI、Flutter、Database、Healthcare(PHI/HIPAA)、ML pipeline + Code Graph Analyzer + Verification + PR Walkthrough
- Code Graph + 八 Agent 並行 PR Review — PR 模式先執行 code-graph-analyzer(import deps + co-change risk),再並行啟動 8 通用 agent + 自動 dispatch 的語言 agent,confidence < 80% 自動過濾
- 多平台 PR Review — 自動偵測 GitHub(需
ghCLI)與 Bitbucket Cloud(需環境變數) - Auto-trigger Skills — 根據任務上下文自動啟動安全掃描,無需手動呼叫
Installation setup
Plugin 安裝(推薦)
在 Claude Code 中執行 /plugin,搜尋 jurislm/code-review,點擊安裝後執行 /reload-plugins 套用。安裝後無需額外設定即可使用所有功能。
手動安裝
# Clone 專案
git clone https://github.com/jurislm/code-review.git
# 複製各元件到全域
cp commands/*.md ~/.claude/commands/
cp agents/*.md ~/.claude/agents/
cp -r skills/* ~/.claude/skills/
Bitbucket 環境變數
使用 Bitbucket Cloud PR review 前,需在 ~/.zshenv(或 ~/.bashrc)加入:
export BB_USERNAME="your-bitbucket-username"
export BB_APP_PASSWORD="your-app-password"
前往 Bitbucket → Settings → Personal settings → App passwords,勾選 Pull requests(Read + Write)權限後建立。
/code-review command
唯一的 review 入口。依參數自動切換本地 / GitHub PR / Bitbucket PR 模式,並依變更檔案自動偵測語言/框架、dispatch 對應的專項 reviewer agent — 不需為每個語言記不同 command。
/code-review [pr-number | pr-url | --from=<commit> | blank] [--focus=comments|tests|errors|types|code|simplify] [--profile=chill|assertive]
Local Review Mode
不傳參數時進入本地模式,對目前 uncommitted 變更跑與 PR 模式相同的完整並行 stack(code-graph 前置 + 八通用 agent + 自動 dispatch 語言 agent + verification),只是結果輸出到終端機、不發佈。傳 --from=<commit> 則只審查自該 commit 以來的變更。
/code-review
執行流程:GATHER(git diff 收集變更)→ Classify & Dispatch → Context & Code Graph → Parallel Review(8 通用 agent + 自動 dispatch 語言 agent)→ Verification(Phase 3.5)→ Aggregate → 依 CRITICAL → HIGH → MEDIUM → LOW 輸出 finding(不發佈)。
GitHub PR Review Mode
傳入 PR 號碼或 GitHub URL,需本機安裝 gh CLI 並已登入。
/code-review 123
/code-review https://github.com/owner/repo/pull/123
PR 模式為完整並行流程:Fetch → Classify & Dispatch → Context → Code Graph → Parallel Review(8 通用 agent + 自動 dispatch 的語言 agent)→ Verification(Phase 3.5)→ Aggregate → Decide → Report → Publish → Output。HIGH/CRITICAL finding 由 verification-reviewer 三道關卡二次確認後才納入。
語言 / 框架自動 Dispatch
兩種模式都會依變更檔案自動加上對應的專項 reviewer。偵測到才加,零匹配不浪費。
| 變更檔案 | 自動加入的 agent |
|---|---|
.ts · .tsx · .js · .vue · .svelte | typescript-reviewer |
.py | python-reviewer(from django → +django-reviewer;from fastapi → +fastapi-reviewer) |
.go · .rs · .kt · .swift · .java · .cs · .cpp/.c/.h · .fs | 對應語言 reviewer |
.dart(+ pubspec.yaml) | flutter-reviewer |
.sql / migration 目錄 | database-reviewer |
network-config-reviewer / healthcare-reviewer / mle-reviewer 為內容導向(無可靠副檔名),依上下文相關性加入。
--focus 過濾(PR 模式)
code-reviewer 與自動 dispatch 的語言 agent 永遠執行;--focus 只縮減通用 agent 子集:
--focus | 執行的通用 agent |
|---|---|
| (none) | 全部 8 個通用 agent |
comments | code-reviewer + comment-analyzer |
tests | code-reviewer + pr-test-analyzer |
errors | code-reviewer + silent-failure-hunter |
types | code-reviewer + type-design-analyzer |
code | code-reviewer + security-reviewer |
simplify | code-reviewer + code-simplifier |
Review Profile
控制 NITPICK 級別 finding 的顯示與否:
| Flag | 行為 |
|---|---|
--profile=assertive | (預設)顯示全部 5 個嚴重等級,包含 NITPICK |
--profile=chill | 只報告 CRITICAL 與 HIGH,略過 MEDIUM / LOW / NITPICK |
Bitbucket Cloud PR Review Mode
URL 含 bitbucket.org 或 remote origin 指向 Bitbucket 時自動切換,使用 REST API(需 BB_USERNAME、BB_APP_PASSWORD)。
/code-review 123
/code-review https://bitbucket.org/workspace/repo/pull-requests/123
PR 模式 — 並行 Stack & Verification /code-review
傳入 PR 號/URL 時,/code-review 先執行 code-graph-analyzer(import dependency + co-change 風險,結果快取於 .claude/code-graph/),再並行啟動 8 個通用 agent + 依變更檔案自動 dispatch 的語言/框架 agent,彙整去重並排序 finding。confidence < 80% 自動過濾。所有 HIGH / CRITICAL finding 須通過 verification-reviewer(Phase 3.5)二次確認後才納入報告。
/code-review 123
/code-review 123 --focus comments
/code-review 123 --focus tests
/code-review 123 --focus errors
/code-review 123 --profile=chill
通用並行 Agents(8 個)
另依變更檔案副檔名自動加入對應語言/框架 agent(見上方「語言 / 框架自動 Dispatch」)。
| Agent | 負責範圍 |
|---|---|
code-reviewer | 整體品質、安全性、可維護性,含 false positive 過濾(anchor,永遠執行) |
security-reviewer | OWASP Top 10 分析;injection、SSRF、硬編碼 secrets、unsafe crypto |
comment-analyzer | 行內 comment 準確性、完整性、rot 風險 |
pr-test-analyzer | 測試覆蓋率、行為涵蓋、真實 bug 防護 |
silent-failure-hunter | swallowed error、ignored promise、錯誤傳遞缺失 |
type-design-analyzer | 型別封裝、invariant 表達、強制性 |
code-simplifier | 過度複雜實作、重複抽象、可讀性 |
pr-walkthrough-writer | 結構化 PR walkthrough + Mermaid sequence diagram;產出作為 PR 第一則 comment |
Phase 3.5 — Verification Pass
並行 agents 完成後,所有 HIGH 與 CRITICAL finding 自動送入 verification-reviewer 執行二次確認(三道關卡驗證)。CONFIRMED finding 及 UNCERTAIN(降為 MEDIUM)的 finding 均進入最終報告;若本 PR diff 已修復問題,以「FIXED IN THIS PR」verdict 移除(不受 CRITICAL 保護限制);CRITICAL finding 不可被完全移除,最多降為 HIGH。
Walkthrough & Effort Score
PR 模式輸出前先產生 Walkthrough 摘要,包含逐檔變更說明與 PR 複雜度評分:
| Effort Score | 定義 |
|---|---|
| 1 | 文件、設定或格式更新,無邏輯改動 |
| 2 | 小 bug fix 或輕微功能,1–3 個檔案 |
| 3 | 中型功能或重構,4–10 個檔案,含邏輯複雜度 |
| 4 | 複雜重構、核心邏輯改寫,或超過 10 個檔案 |
| 5 | 架構變更、DB schema migration、auth 系統或跨切面改動 |
Agents — 通用主審 agents
npm audit 與 ESLint security plugin。grep -Fn 確認程式碼存在、確認失敗場景可重現、檢查現有 guard 是否已覆蓋)。不產生新 finding。CONFIRMED 及 UNCERTAIN(降為 MEDIUM)finding 均保留;若問題已在本 PR diff 中修復,以「FIXED IN THIS PR」verdict 移除(不受 CRITICAL 保護限制);CRITICAL finding 最多降為 HIGH,永不完全移除。由 /code-review PR 模式 Phase 3.5 自動調用。Agents — 前置分析 agents
在並行 reviewer agents 啟動前,依序執行,建立跨檔案依賴圖,供所有下游 agent 使用。
.claude/code-graph/,下次相同 SHA 直接命中快取。由 /code-review PR 模式 Phase 2.5 自動調用。Agents — PR 協作 agents
以下 agent 由 /code-review PR 模式並行調用,也可在對話中單獨使用。
string 代表有語義的值)或未充分利用型別系統的模式。Agents — 語言 / 框架專項 agents
通用語言(Sonnet)
| Agent | 專項範圍 |
|---|---|
typescript-reviewer | type safety、async correctness、Node/web 安全性、idiomatic patterns。所有 TypeScript / JavaScript 變更必用。 |
python-reviewer | PEP 8 合規、Pythonic idioms、type hints、安全性、效能。所有 Python 變更必用。 |
go-reviewer | idiomatic Go、concurrency patterns、error handling、效能。所有 Go 變更必用。 |
rust-reviewer | ownership、lifetimes、error handling、unsafe usage、idiomatic patterns。所有 Rust 變更必用。 |
cpp-reviewer | 記憶體安全、modern C++ idioms(C++17/20)、concurrency、效能。所有 C++ 變更必用。 |
csharp-reviewer | .NET conventions、async patterns、安全性、nullable reference types、效能。所有 C# 變更必用。 |
java-reviewer | Spring Boot / Quarkus(自動偵測框架)、layered architecture、JPA/Panache、MongoDB、安全性、concurrency。 |
kotlin-reviewer | idiomatic patterns、coroutine 安全、Compose 最佳實踐、clean architecture、Android / KMP 常見陷阱。 |
swift-reviewer | protocol-oriented design、value semantics、ARC 記憶體管理、Swift Concurrency、idiomatic patterns。 |
fsharp-reviewer | functional idioms、type safety、pattern matching、computation expressions、效能。 |
框架專項(Sonnet)
| Agent | 專項範圍 |
|---|---|
django-reviewer | ORM correctness、DRF patterns、migration 安全、security misconfigurations、production-grade Django 實踐。 |
fastapi-reviewer | async 正確性、dependency injection、Pydantic schemas、安全性、OpenAPI 品質、測試、production readiness。 |
flutter-reviewer | widget 最佳實踐、state management patterns(BLoC / Riverpod / Provider / GetX / MobX / Signals)、Dart idioms、效能、accessibility。Library-agnostic。 |
database-reviewer | PostgreSQL query 優化、schema design、安全性、效能。涵蓋 Supabase 最佳實踐。寫 SQL / 建 migration / 設計 schema 時主動使用。 |
network-config-reviewer | Router / switch 設定的安全性、正確性、stale references、risky change-window commands、操作護欄缺失。 |
特殊領域
| Agent | 專項範圍 |
|---|---|
healthcare-reviewer | 臨床安全、CDSS 準確性、PHI 合規(HIPAA)、醫療資料完整性。適用 EMR/EHR、臨床決策支援、健康資訊系統。使用 Opus 模型。 |
mle-reviewer | data contracts、feature pipelines、training reproducibility、offline/online evaluation、model serving、monitoring、rollback。適用 ML / MLOps / 模型訓練 / 推論 / feature store。 |
Auto-trigger Skills skills
Skills 根據任務上下文自動啟動,無需手動呼叫。以下說明各 skill 的觸發條件與功能。
security-review
觸發條件:實作 authentication / authorization、處理 user input 或 file upload、建立 API endpoint、存取 secrets 或 credentials、實作付款功能、儲存或傳輸敏感資料、整合第三方 API。
提供完整的安全清單,涵蓋 secrets management、input validation、authentication、cryptography、dependency security 等,每項均附反例(FAIL)與正確做法(PASS)的程式碼範例。
security-scan
觸發條件:掃描 .claude/ 設定目錄的安全漏洞,包含 settings.json、hooks、MCP 設定、permission 設定等。
flutter-dart-code-review
觸發條件:Review Flutter / Dart 程式碼時啟動。
Library-agnostic 的 Flutter / Dart 完整 review 清單,涵蓋 widget 最佳實踐、各種 state management 模式(BLoC、Riverpod、Provider、GetX、MobX、Signals)、Dart idioms、效能、accessibility、安全性、clean architecture。
Severity Levels reference
| Level | 定義 | 處理方式 |
|---|---|---|
| CRITICAL | 安全漏洞、資料遺失風險 | BLOCK — merge 前必須修復 |
| HIGH | Bug、顯著品質問題 | WARN — 建議 merge 前修復 |
| MEDIUM | 可維護性問題 | INFO — 考慮修復 |
| LOW | 風格或輕微建議 | NOTE — 選擇性修復 |
| NITPICK | 純風格偏好,無正確性或可維護性影響 | 只在 --profile=assertive(預設)時顯示;--profile=chill 略過 |
HIGH / CRITICAL finding 三要素
每個 HIGH 或 CRITICAL finding 必須同時提供:
- 精確行號 — 指出問題所在的具體位置
- 具體失敗場景 — 描述這個問題在什麼情境下會造成實際問題
- 現有 guard 為何不夠 — 說明目前的防護機制有何缺失
Decision Logic reference
PR review 完成後,依據 finding 嚴重程度自動產生決策:
| 決策結果 | 觸發條件 |
|---|---|
| BLOCK | 任一 CRITICAL finding |
| REQUEST CHANGES | 任一 HIGH finding 或 validation 失敗 |
| APPROVE with comments | 僅 MEDIUM / LOW finding |
| APPROVE | 零 finding |
Design Principles reference
- 高信心原則 — 只報告 confidence > 80% 的問題。不確定的 finding 寧可略過,不製造雜訊。
- 讀全文 — PR review 讀每個變更檔案的全文,而非只看 diff 行。context 是判斷問題的關鍵。
- 零 finding 合法 — clean code 應該得到 APPROVE,不強行挑毛病。
- HIGH / CRITICAL 三要素 — 精確行號 + 具體失敗場景 + 現有 guard 為何不夠,缺一不可。
- False positive 過濾 — 明確排除 LLM reviewer 常見誤判,包含:magic number(有命名常數時)、fire-and-forget(設計如此時)、test fixture(測試資料不算 magic number)、未修改的程式碼(除非 CRITICAL 安全問題)。
- Verification gate —
/code-reviewPR 模式 Phase 3.5 由verification-reviewer對所有 HIGH / CRITICAL finding 執行三道關卡二次確認。CRITICAL finding 不可被完全移除,最多降為 HIGH。 - NITPICK 分層 — 純風格偏好歸類為 NITPICK;
--profile=chill時略過 MEDIUM / LOW / NITPICK,--profile=assertive(預設)時顯示所有等級。
Contributing guide
新增 Agent
- 在
agents/建立<name>.md,frontmatter 至少包含name、description、color、model、tools - 若是語言/框架專項,更新
commands/code-review.md的「Language / Framework Auto-Dispatch」對照表,讓/code-review能依副檔名或內容特徵自動 dispatch - 若是 PR 模式並行協作 agent,更新
commands/code-review.mdPhase 3 的通用 agent 列表 - 更新
README.md的 Agents 表格 - 更新
docs/index.html的 agent 列表與 stats 數字
修改 Command
本 repo 只有單一 command /code-review。所有 review 能力(本地 / GitHub PR / Bitbucket PR / 多 agent 並行 / verification / 語言自動 dispatch)都在 commands/code-review.md 內。新增能力時直接擴充該檔,不另建 command;若改動使用者可見行為,同步更新 README.md 與 docs/index.html。
Agent Frontmatter 格式
---
name: my-reviewer
description: <一句話說明觸發時機,Claude 靠這段決定何時使用>
tools: [Read, Grep, Glob, Bash]
model: sonnet # sonnet | opus | haiku
color: blue # green | red | blue | cyan | yellow | magenta
---
<agent prompt content>
所有 agent 必須在 prompt 開頭包含 Prompt Defense Baseline,防止 prompt injection 攻擊。參考現有 agent 的格式。