前言¶
PR 一打開,滿屏 diff,很多人的做法是從上往下掃一遍,憑感覺留兩條「看起來沒問題」的評論。結果是安全漏洞漏掉、性能問題沒人管,評審意見也零散,作者看完不知道優先級在哪。
下面介紹的 Code Review 是一個通用 SKILL.md 格式的代碼評審 Skill,由 wpank 發佈在 ClawHub 上。它不替代人做判斷,而是把評審這件事拆成固定維度、固定流程和固定輸出格式,讓你照着清單逐項過,避免隨機掃描。
這是什麼¶
一句話定位:一套系統化的代碼評審模式,覆蓋安全性、性能、正確性、可維護性和測試,附帶嚴重等級、結構化反饋指南、評審流程和需要避免的反模式。
- 出品方:wpank,座標
@clawhub_wpank/code-review - 來源:ClawHub,版本 1.0.0
- 分類:dev-programming
- 上游倉庫:https://clawhub.ai/wpank/code-review
- SkillHub 頁面:https://www.skillhub.cn/skills/clawhub_wpank/code-review
- 標籤:
requires_api_key=false,即使用前不需要配置 API Key
它解決三類問題:評審標準不統一(每個人關注點不一樣)、評審順序隨意(容易漏邊界條件)、反饋不可執行(只說「這裏不對」,不說怎麼改、多嚴重)。
核心功能¶
評審維度¶
Skill 把變更拆成七個維度,每個維度標了優先級。優先級是固定的,不是按文件大小平均分配精力。
| 維度 | 關注點 | 優先級 |
|---|---|---|
| 安全性 | 漏洞、鑑權、數據暴露 | Critical |
| 性能 | 速度、內存、擴展性瓶頸 | High |
| 正確性 | 邏輯錯誤、邊界情況、數據完整性 | High |
| 可維護性 | 可讀性、結構、後續改造空間 | Medium |
| 測試 | 覆蓋率、測試質量、可靠性 | Medium |
| 可訪問性 | WCAG 合規、鍵盤導航、屏幕閱讀器 | Medium |
| 文檔 | 註釋、API 文檔、變更記錄 | Low |
分維度清單¶
每個維度都有一份可逐條打勾的清單。安全清單 13 條,覆蓋 SQL 注入、XSS、CSRF、認證與授權(含 IDOR)、服務端輸入校驗、密鑰管理、依賴安全、敏感數據不入日誌、限流、文件上傳、HTTP 安全頭。性能清單 10 條,覆蓋 N+1 查詢、無謂重渲染、內存泄漏(監聽器與定時器需在卸載時清理)、包體積與 tree-shaking、懶加載、緩存策略、數據庫索引與 EXPLAIN、分頁、異步任務外移、圖片資源優化。
正確性清單 10 條,覆蓋邊界值、null/undefined 檢查、off-by-one、競態條件、時區(UTC 存儲、展示層轉換)、Unicode 與編碼、整數溢出與金額精度(BigInt / Decimal)、錯誤傳播(Promise 不被靜默吞掉)、多步操作的事務一致性、邊界值測試。
可維護性清單 10 條,覆蓋命名錶意、單一職責、DRY、圈複雜度、錯誤處理邊界、死代碼清理、魔法數字提取、沿用倉庫既有約定、函數長度、依賴方向(依賴指向內層,核心邏輯不反向依賴 UI 或框架層)。
測試清單 8 條,覆蓋新邏輯路徑的測試、邊界與失敗用例、測試確定性(不依賴時序和外部服務)、測試獨立性、斷言應針對行爲而非實現細節、Arrange-Act-Assert 結構、只對外部邊界做 mock、修復 bug 時補回歸測試。
三遍評審流程¶
Skill 明確要求分三遍過,不要試圖在一次閱讀裏抓完所有問題。
- 第一遍,2-5 分鐘看高層結構:讀 PR 描述和關聯 issue,掃文件列表判斷改動範圍是否合理,確認整體方案是否是該問題的合適解法,檢查是否引入架構漂移。
- 第二遍,逐行細看,佔用主要評審時間:逐個文件 diff 從上到下讀,對照上面各維度清單檢查每個函數改動,驗證每個 I/O 邊界的錯誤處理,標記任何讓人需要停下來想一下的地方。
- 第三遍,5 分鐘做邊界與加固:檢查失敗模式、併發情況、邊界值、缺失的測試。
嚴重等級與反模式¶
清單用嚴重等級給意見分級,並給出結構化反饋指南,即每條意見需要說清問題、位置、影響和建議改法。同時列出評審中要避免的反模式,例如把風格偏好當成缺陷、只提問題不給方案、把個人偏好的實現方式當成唯一正確解。
安裝與啓用¶
這是通用 SKILL.md 格式的 Skill,通過命令行安裝後由支持該格式的編碼工具加載。ClawHub 頁面給出兩種命令。
在 OpenClaw / Moltbot / Clawbot 環境安裝:
npx clawhub@latest install code-review
通用安裝命令:
$ openclaw skills install @wpank/code-review
安裝完成後,把 Skill 作爲評審環節的一部分觸發,例如在 PR 評審時明確要求按安全、性能、正確性、可維護性、測試五個維度逐項過,並輸出分級意見。Skill 本身不含可執行程序,它是評審模式與清單,實際判斷仍由模型結合你的代碼上下文完成,所以觸發時最好把 PR 描述、涉及文件列表和關鍵 diff 一起提供。
至於 Cursor、Codex CLI、Claude Code 的具體加載方式,官方資料沒有分別說明,這裏不猜測,按各自工具對 SKILL.md 的通用支持方式操作即可。
典型用法¶
下面是可復現的用法,直接照做即可。
- 安裝後,把 Skill 接入 PR 評審流程:
npx clawhub@latest install code-review
- 評審時按三遍流程要求模型執行:
按 Code Review Skill 評審當前 PR 的 diff。
第一遍看整體方案和改動範圍,第二遍逐行對照安全、性能、正確性、
可維護性、測試清單檢查,第三遍看邊界情況和缺失的測試。
輸出按嚴重等級分級,每條給出位置、問題、影響和修改建議。
- 如果是建立團隊審查標準,可以把安全清單和測試清單單獨抽出來作爲 PR 模板裏的 checklist,讓提交者先自查一遍,評審時再按同樣維度複覈。
適用場景與注意¶
適合這些人:想在團隊裏統一評審標準的負責人、PR 評審質量不穩定的開發者、想把安全與性能檢查常態化但又不想引入重型靜態掃描工具的項目。
使用上的限制:
- 它是評審模式,不是自動掃描器,不會跑測試也不會跑靜態分析,結論質量取決於餵給它的上下文是否完整。
- 清單是通用維度,需要結合具體技術棧調整。比如後端項目重點看安全和正確性,前端項目重點看可訪問性和重渲染,純腳本項目可訪問性基本用不上。
- 嚴重等級是相對優先級,不等於漏洞確認。看到 Critical 只是說這個維度必須處理,不等於該行代碼有確定漏洞。
- 依賴安全這一條要求「新依賴來自可信來源、有維護、無已知 CVE」,實際覈對仍需外部漏洞庫支持。
- 版本 1.0.0,清單內容後續可能變化,以 ClawHub 頁面當前內容爲準。
結尾¶
Code Review 的價值不在於給出一份完美清單,而在於把評審順序和維度固定下來,減少隨機掃描帶來的漏項,並讓反饋帶上嚴重等級和修改建議。如果你現在的評審流程還靠經驗和感覺,可以從安全清單和三遍流程開始用,成本最低。
官方地址:https://clawhub.ai/wpank/code-review
SkillHub 頁面:https://www.skillhub.cn/skills/clawhub_wpank/code-review