Code Review
Plugin

MIT License 27 Agents 1 Unified Command 3 Skills Claude Code Plugin
27
Reviewer Agents
1
Unified Command
3
Auto Skills
80%+
Confidence Gate
8
Parallel PR Agents

完整 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(需 gh CLI)與 Bitbucket Cloud(需環境變數)
  • Auto-trigger Skills — 根據任務上下文自動啟動安全掃描,無需手動呼叫

Installation setup

Plugin 安裝(推薦)

在 Claude Code 中執行 /plugin,搜尋 jurislm/code-review,點擊安裝後執行 /reload-plugins 套用。安裝後無需額外設定即可使用所有功能。

手動安裝

bash
# 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)加入:

~/.zshenv
export BB_USERNAME="your-bitbucket-username"
export BB_APP_PASSWORD="your-app-password"
Bitbucket App Password

前往 Bitbucket → Settings → Personal settings → App passwords,勾選 Pull requests(Read + Write)權限後建立。

/code-review command

唯一的 review 入口。依參數自動切換本地 / GitHub PR / Bitbucket PR 模式,並依變更檔案自動偵測語言/框架、dispatch 對應的專項 reviewer agent — 不需為每個語言記不同 command。

syntax
/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 以來的變更。

example
/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 並已登入。

example
/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 · .sveltetypescript-reviewer
.pypython-reviewerfrom django → +django-reviewerfrom fastapi → +fastapi-reviewer
.go · .rs · .kt · .swift · .java · .cs · .cpp/.c/.h · .fs對應語言 reviewer
.dart(+ pubspec.yamlflutter-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
commentscode-reviewer + comment-analyzer
testscode-reviewer + pr-test-analyzer
errorscode-reviewer + silent-failure-hunter
typescode-reviewer + type-design-analyzer
codecode-reviewer + security-reviewer
simplifycode-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_USERNAMEBB_APP_PASSWORD)。

example
/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)二次確認後才納入報告。

examples
/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-reviewerOWASP Top 10 分析;injection、SSRF、硬編碼 secrets、unsafe crypto
comment-analyzer行內 comment 準確性、完整性、rot 風險
pr-test-analyzer測試覆蓋率、行為涵蓋、真實 bug 防護
silent-failure-hunterswallowed 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

code-reviewer
主審 agent,負責整體程式碼品質、安全性、可維護性。包含嚴格的 false positive 過濾機制,針對 React / Node.js 有專項規則。修改任何程式碼後應立即使用。
Sonnet Read · Grep · Glob · Bash 觸發:所有程式碼變更後
security-reviewer
安全漏洞偵測與修補專家。掃描 OWASP Top 10、hardcoded secrets、SSRF、injection、unsafe crypto。遇到 CRITICAL finding 發出緊急警報,可執行 npm audit 與 ESLint security plugin。
Sonnet Read · Write · Edit · Bash · Grep · Glob 觸發:auth · API endpoint · user input · secrets
verification-reviewer
驗證 agent,對 HIGH / CRITICAL finding 執行二次確認(三道關卡: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 自動調用。
Sonnet Read · Grep · Glob · Bash 觸發:/code-review PR 模式並行 agents 輸出後

Agents — 前置分析 agents

在並行 reviewer agents 啟動前,依序執行,建立跨檔案依賴圖,供所有下游 agent 使用。

code-graph-analyzer
預計算 Code Impact Map:L2 import dependency tracing(多語言 grep,單跳 BFS;支援 JS/TS、Python、Java/Kotlin、Rust、Swift、C#、Ruby、PHP)+ L3 co-change risk(git log 最近 50 commits)。結果快取於 .claude/code-graph/,下次相同 SHA 直接命中快取。由 /code-review PR 模式 Phase 2.5 自動調用。
SonnetRead · Grep · Glob · Bash · Write

Agents — PR 協作 agents

以下 agent 由 /code-review PR 模式並行調用,也可在對話中單獨使用。

comment-analyzer
分析程式碼行內 comment 的準確性、完整性、可維護性,以及 comment rot 風險(comment 與實際行為脫節)。
SonnetRead · Grep · Glob
pr-test-analyzer
審查 PR 測試覆蓋品質與完整性,重點在行為涵蓋(behavioral coverage)與真實 bug 防護,而非表層語法檢查。
SonnetRead · Grep · Glob · Bash
silent-failure-hunter
專門偵測 swallowed error、ignored promise、bad fallback、缺失的錯誤傳遞——這類問題不會讓程式崩潰,但會讓 bug 靜默擴散。
SonnetRead · Grep · Glob · Bash
type-design-analyzer
分析型別設計的封裝性、invariant 表達、有效性與強制性。找出過度鬆散的 type(如裸 string 代表有語義的值)或未充分利用型別系統的模式。
SonnetRead · Grep · Glob
code-simplifier
找出過度複雜的實作,提出簡化方案。在保留行為的前提下,改善清晰度、一致性與可維護性,不引入不必要的抽象。
SonnetRead · Write · Edit · Bash · Grep · Glob
pr-walkthrough-writer
生成結構化 PR walkthrough:file-change 表格 + Mermaid sequence diagram(僅限 ≤10 個 LOGIC 檔案且流程清晰時)。作為 /code-review PR 模式並行 agent 之一,產出的內容作為 PR 第一則獨立 comment。
SonnetRead · Grep · Glob · Bash

Agents — 語言 / 框架專項 agents

通用語言(Sonnet)

Agent專項範圍
typescript-reviewertype safety、async correctness、Node/web 安全性、idiomatic patterns。所有 TypeScript / JavaScript 變更必用。
python-reviewerPEP 8 合規、Pythonic idioms、type hints、安全性、效能。所有 Python 變更必用。
go-revieweridiomatic Go、concurrency patterns、error handling、效能。所有 Go 變更必用。
rust-reviewerownership、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-reviewerSpring Boot / Quarkus(自動偵測框架)、layered architecture、JPA/Panache、MongoDB、安全性、concurrency。
kotlin-revieweridiomatic patterns、coroutine 安全、Compose 最佳實踐、clean architecture、Android / KMP 常見陷阱。
swift-reviewerprotocol-oriented design、value semantics、ARC 記憶體管理、Swift Concurrency、idiomatic patterns。
fsharp-reviewerfunctional idioms、type safety、pattern matching、computation expressions、效能。

框架專項(Sonnet)

Agent專項範圍
django-reviewerORM correctness、DRF patterns、migration 安全、security misconfigurations、production-grade Django 實踐。
fastapi-reviewerasync 正確性、dependency injection、Pydantic schemas、安全性、OpenAPI 品質、測試、production readiness。
flutter-reviewerwidget 最佳實踐、state management patterns(BLoC / Riverpod / Provider / GetX / MobX / Signals)、Dart idioms、效能、accessibility。Library-agnostic。
database-reviewerPostgreSQL query 優化、schema design、安全性、效能。涵蓋 Supabase 最佳實踐。寫 SQL / 建 migration / 設計 schema 時主動使用。
network-config-reviewerRouter / switch 設定的安全性、正確性、stale references、risky change-window commands、操作護欄缺失。

特殊領域

Agent專項範圍
healthcare-reviewer臨床安全、CDSS 準確性、PHI 合規(HIPAA)、醫療資料完整性。適用 EMR/EHR、臨床決策支援、健康資訊系統。使用 Opus 模型。
mle-reviewerdata 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 前必須修復
HIGHBug、顯著品質問題WARN — 建議 merge 前修復
MEDIUM可維護性問題INFO — 考慮修復
LOW風格或輕微建議NOTE — 選擇性修復
NITPICK純風格偏好,無正確性或可維護性影響只在 --profile=assertive(預設)時顯示;--profile=chill 略過

HIGH / CRITICAL finding 三要素

每個 HIGH 或 CRITICAL finding 必須同時提供:

  1. 精確行號 — 指出問題所在的具體位置
  2. 具體失敗場景 — 描述這個問題在什麼情境下會造成實際問題
  3. 現有 guard 為何不夠 — 說明目前的防護機制有何缺失

Decision Logic reference

PR review 完成後,依據 finding 嚴重程度自動產生決策:

決策結果觸發條件
BLOCK任一 CRITICAL finding
REQUEST CHANGES任一 HIGH finding 或 validation 失敗
APPROVE with commentsMEDIUM / LOW finding
APPROVE零 finding

Design Principles reference

  1. 高信心原則 — 只報告 confidence > 80% 的問題。不確定的 finding 寧可略過,不製造雜訊。
  2. 讀全文 — PR review 讀每個變更檔案的全文,而非只看 diff 行。context 是判斷問題的關鍵。
  3. 零 finding 合法 — clean code 應該得到 APPROVE,不強行挑毛病。
  4. HIGH / CRITICAL 三要素 — 精確行號 + 具體失敗場景 + 現有 guard 為何不夠,缺一不可。
  5. False positive 過濾 — 明確排除 LLM reviewer 常見誤判,包含:magic number(有命名常數時)、fire-and-forget(設計如此時)、test fixture(測試資料不算 magic number)、未修改的程式碼(除非 CRITICAL 安全問題)。
  6. Verification gate/code-review PR 模式 Phase 3.5 由 verification-reviewer 對所有 HIGH / CRITICAL finding 執行三道關卡二次確認。CRITICAL finding 不可被完全移除,最多降為 HIGH。
  7. NITPICK 分層 — 純風格偏好歸類為 NITPICK;--profile=chill 時略過 MEDIUM / LOW / NITPICK,--profile=assertive(預設)時顯示所有等級。

Contributing guide

新增 Agent

  1. agents/ 建立 <name>.md,frontmatter 至少包含 namedescriptioncolormodeltools
  2. 若是語言/框架專項,更新 commands/code-review.md 的「Language / Framework Auto-Dispatch」對照表,讓 /code-review 能依副檔名或內容特徵自動 dispatch
  3. 若是 PR 模式並行協作 agent,更新 commands/code-review.md Phase 3 的通用 agent 列表
  4. 更新 README.md 的 Agents 表格
  5. 更新 docs/index.html 的 agent 列表與 stats 數字

修改 Command

本 repo 只有單一 command /code-review。所有 review 能力(本地 / GitHub PR / Bitbucket PR / 多 agent 並行 / verification / 語言自動 dispatch)都在 commands/code-review.md 內。新增能力時直接擴充該檔,不另建 command;若改動使用者可見行為,同步更新 README.mddocs/index.html

Agent Frontmatter 格式

agents/my-reviewer.md
---
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>
Prompt Defense Baseline

所有 agent 必須在 prompt 開頭包含 Prompt Defense Baseline,防止 prompt injection 攻擊。參考現有 agent 的格式。