一次 PR 四個視角:parallel-code-review 並行 Code Review Skill 實戰

前言

合併 PR 前做 Code Review,是團隊裏幾乎繞不開的一道工序。改動不大時,人工掃一遍 diff 還能應付;一旦涉及認證邏輯、支付鏈路或核心熱路徑,Reviewer 往往要在安全、性能、正確性、可讀性之間來回切換——單線程大腦很難同時盯住四個維度,漏看一類問題並不罕見。

Cursor 從 Agent 2.0 起支持通過 Task 工具啓動並行子 Agent。社區維護的 awesome-cursor-skills 倉庫裏,有一個專門利用這項能力的 Skill:parallel-code-review。它把同一份 diff 交給四個只讀子 Agent,分別從安全、性能、正確性、可讀性四個角度審查,再由主 Agent 去重合並,輸出一份按優先級排序的審查報告。本文基於官方 SKILL.md 覈實後,介紹它的定位、安裝方式與完整工作流。

這是什麼

parallel-code-review 是一份遵循通用 SKILL.md 格式的 Agent Skill,出自 GitHub 倉庫 spencerpauly/awesome-cursor-skills,歸類爲「Cursor-Native」——即依賴 Cursor 獨有的 Task 並行子 Agent 能力,在 Codex CLI、Claude Code 等其它工具中無法原樣復現同一工作流。

一句話定位:啓動四個並行只讀 explore 子 Agent,各守一個審查維度,審查同一批變更文件,最後合併成一份去重、分級的 Code Review 報告。

Skill 元數據中標註了 user-invocable: true,意味着你可以在對話裏直接點名調用,而不必等 Agent 自行匹配觸發。

核心功能與亮點

四維度並行審查

與「一個 Agent 從頭到尾掃一遍 diff」不同,parallel-code-review 固定拆成四個專責視角:

維度 關注範圍(官方 prompt 摘要)
Security SQL/Shell/XSS 注入、鑑權缺口、硬編碼密鑰、不安全反序列化、路徑遍歷、SSRF、IDOR、依賴 CVE
Performance N+1 查詢、缺失索引、O(n²) 循環、包體積、多餘重渲染、熱路徑同步 I/O、無界緩存
Correctness 邏輯錯誤、邊界條件、競態、錯誤處理缺失、破壞性 API 變更、新行爲測試覆蓋
Readability 命名、重複代碼、抽象邊界、文件體量、控制流清晰度、關鍵處缺失類型或文檔

四個子 Agent 同時啓動、各自只讀代碼,互不爭搶寫權限——這是並行審查能安全跑起來的前提。

結構化合並輸出

主 Agent 收到四份報告後,按官方流程做三步合成:

  1. 去重:同一問題被多個維度命中時,只保留一條,取最高嚴重級別。
  2. 排序:先按 Critical / High / Medium / Low,再按修復成本。
  3. 彙總:輸出不超過 5 條的執行摘要,外加可操作的條目列表(含文件:行號與修復建議)。

可選的後續修復

審查完成後,主 Agent 可以自行修問題,也可以針對你批准的項目,再啓動非只讀的跟進 Task——審查與修改階段刻意分離,避免並行讀寫衝突。

安裝與啓用

Skill 以單個 SKILL.md 文件形式分發,安裝本質是把它放到 Agent 能自動發現的 skills 目錄。

在 Cursor 中使用

根據 awesome-cursor-skills READMECursor Skills 文檔 的說明,Skill 文件應放在:

  • 項目級:<項目根>/.cursor/skills/parallel-code-review/SKILL.md
  • 或個人級:~/.cursor/skills/parallel-code-review/SKILL.md

手動安裝(最直接):

mkdir -p .cursor/skills/parallel-code-review
curl -o .cursor/skills/parallel-code-review/SKILL.md \
  https://raw.githubusercontent.com/spencerpauly/awesome-cursor-skills/main/resources/parallel-code-review/SKILL.md

保存後重啓或新開 Agent 對話,Cursor 會自動發現該 Skill。

CLI 安裝(若已配置 npx skills 工具鏈):

npx skills add spencerpauly/awesome-cursor-skills --skill parallel-code-review

具體目標目錄以 CLI 當前版本行爲爲準;Cursor 環境下通常寫入項目的 .cursor/skills/

在 Claude Code 中使用

第三方目錄 Claude Skills Hub 給出了 Claude Code 的安裝命令:

npx skills add spencerpauly/awesome-cursor-skills --skill parallel-code-review --agent claude-code

Skill 內容相同,但 parallel-code-review 的工作流明確依賴 Cursor 的 Task 工具;在 Claude Code 中安裝後,能否完整執行四路並行審查,取決於該環境是否提供等價的並行只讀子 Agent 機制。Cursor 是官方設計的目標平臺。

典型用法示例

啓用 Skill 後,在合併大型或高風險 PR 前,按以下四步操作。

1. 圈定變更範圍

優先給審查者一份明確的文件列表。官方推薦:

git diff --name-only origin/main...HEAD

也可以直接粘貼 PR 鏈接,讓主 Agent 從分支 diff 中提取變更文件。

2. 一次消息啓動四個並行子 Agent

關鍵規則:在同一條消息裏發送四個 Task 調用,每個 Task 設置 subagent_type: "explore"readonly: true。官方給出的 prompt 模板如下(<list> 替換爲實際文件列表):

Security 審查 prompt:

Read-only review: SECURITY

Changed files:
<list>

Focus: injection (SQL, shell, XSS), authZ/authN gaps, secrets in code, unsafe deserialization, path traversal, SSRF, IDOR, dependency CVEs mentioned in diff.

Output:
- Critical / High / Medium / Low findings
- File:line and short fix recommendation
- "No issues" if nothing material

Performance、Correctness、Readability 三個維度的 prompt 結構相同,僅 Focus 字段不同——完整原文見 官方 SKILL.md

你也可以用自然語言觸發,例如:

請按 parallel-code-review Skill,對當前分支相對 origin/main 的 diff 做四維度並行審查。

Agent 讀取 Skill 後會自動套用上述工作流。

3. 等待合成報告

四個子 Agent 全部返回後,主 Agent 執行去重、分級、彙總。期望產出包括:

  • 5 條以內的執行摘要
  • 帶嚴重級別、位置、修復建議的 actionable 列表

4. (可選)逐項修復

確認要修的項目後,讓主 Agent 直接改代碼,或爲單項問題啓動 targeted 的非只讀 Task。官方建議:只有經你批准的項目才進入修改階段,避免 Agent 過度「自說自話」地重構。

適用場景與注意事項

適合什麼時候用

官方 When to use 列出了三類典型場景:

  • 大 diff 或重構:單次線性審查容易漏掉某一類問題。
  • 安全敏感變更:認證、支付、解析不可信輸入等。
  • 性能敏感路徑:熱循環、N+1 查詢、打包入口等。

對於幾十行的小改動,直接人工 Review 或單次 Agent 審查往往更划算;parallel-code-review 的價值在「變更面大、風險維度多」時最明顯。

使用限制(官方 Notes)

  1. 保持只讀:並行階段務必 readonly: true,防止多個子 Agent 同時寫文件。
  2. 超大 diff 分片:若變更橫跨多個目錄,按目錄拆分,每個目錄再跑一輪四維度審查,不要把互不相關的 megadiff 硬塞進一次 pass。
  3. 不替代人工與合規流程:Skill 明確寫明,它是對人類 Review 的補充,不能代替受監管環境下的合規或安全籤批
  4. Cursor 專屬能力:Task 並行子 Agent 是 Cursor Agent 2.0 的核心特性;其它 AI 編程工具即便能加載同一份 SKILL.md,也未必具備等價的並行執行環境。

小結

parallel-code-review 把 Cursor 並行 Agent 能力落到了 Code Review 這一高頻場景:四個只讀子 Agent 各守一個專業視角,主 Agent 負責去重合並——相當於把「安全工程師 + 性能工程師 + 邏輯審查 + 可讀性審查」同時拉進 PR 討論,而 wall-clock 時間接近單次審查。

如果你經常面對大型 PR、或在敏感模塊上擔心「Reviewer 顧此失彼」,值得把這份 Skill 放進項目的 .cursor/skills/ 目錄,在合併前跑一輪四維度並行審查。

官方 Skill 地址:github.com/spencerpauly/awesome-cursor-skills/tree/main/resources/parallel-code-review

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜