全部技能

code-review (Matt Pocock)

從某個提交或分支起審查變更,並行對照儲存庫規範與原始需求規格。

Matt Pocock 的 code-review:在 3 個審查任務上,召回率與單純使用 Codex 相同,但 Token 用量是 1.5 倍

視情況推薦安全

Codex CLI · gpt-6-astra

23.5 / 30

相對未使用技能的提升:+0.08 · 視情況推薦 · 18 次執行

視情況推薦:提升幅度 +0.08 低於 +1.0。推薦條件為總分至少 22/30、產出品質至少 3.5、提升幅度至少 +1.0。

SOTA

透過

使用 Codex 測試。

涵蓋 Codex, Claude Code

Codex CLI 0.166(SOTA 等級):18 次評分執行。依我們的等級規則,在這裡通過也涵蓋 Claude Code;但這不代表第二等級的結果。

分數

每個維度為 0 到 5 分,六個維度相加即為滿分 30 的總分。每個維度都是 5 分最好。成本 5 分代表便宜又快速;安裝 5 分代表容易安裝。

觸發可靠性
5.0
相對未使用技能的提升
2.1
產出品質
4.5
Token 與時間成本
3.0
安裝與可攜性
4.0
安全性
5.0

安全審查

安全

靜態掃描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工審查:可在無網路沙箱中安全執行(未發現問題)。掃描結果乾淨,不代表技能一定安全。

安裝

npx skills@latest add mattpocock/skills --skill code-review

來源

固定 Commit: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

測試日期: 2026-11-02

我們測了什麼

  • 審查一個小型服務模組 — 在我合併前審查 orders_service.py。列出你發現的問題,最嚴重的排前面。不要修改任何檔案。
  • 審查一個身分驗證輔助程式 — 審查 auth_handlers.py:這是我剛為我們的登入流程寫的。列出問題,最嚴重的排前面。不要修改任何檔案。
  • 依既有標準與規格審查最新 Commit — 依 CODING_STANDARDS.md 與 SPEC.md 審查我最新的 Commit(自 HEAD~1 以來的變更)。列出每一項偏差,最嚴重的排前面。不要修改任何檔案。

優點

  • 技能即使未被點名也會被採用:6/6 次實驗組執行都讀取了技能檔案。

缺點

  • 相較未使用技能,沒有可測量的提升(+0.08,落在雜訊範圍內)。
  • 每個任務的每個組別 n=2;約 1 分以內的差異屬於雜訊。

評測

在 Mac 測試機上使用 Codex CLI 0.166(gpt-6-astra,低推理),每次執行都建立全新的暫存專案與暫存的 HOME/TMPDIR/快取,分別安裝技能(實驗組)、未安裝技能(對照組),或未安裝技能但把技能的核心要求濃縮成一句話附在提示詞後(一句話提示組);每個任務的每個組別執行 2 次,關閉網路,封鎖 /tmp 寫入。提示詞從未提到技能(下方註明的措辭除外)。測試包含兩份單檔審查(一個有 8 個植入問題的訂單服務,其中三個與安全性無關;一個有 8 個植入問題的身分驗證輔助程式),以及一次依 CODING_STANDARDS.md 與 SPEC.md 審查最新 Commit(8 個植入的偏差),這正是技能預期的用途。所有提示詞都是唯讀的(「列出問題,最嚴重的排前面,不要修改檔案」)。

三組對照

組別平均分數(0-5)每次執行 Token 用量
未使用技能4.3778k
一句話提示4.3777k
使用技能4.45114k

以 Codex CLI 執行 18 次,採規則式檢查評分,不經 LLM 評審。總分 23.5 / 30,評級為 視情況推薦。

判定:視情況而定(23.5 / 30)。 來源:mattpocock/skills,skills/engineering/code-review,固定於提交 4ae2317。安裝:npx skills@latest add mattpocock/skills --skill code-review。授權條款: MIT(儲存庫 LICENSE)。

這是什麼

來自 mattpocock/skills 的 code-review 技能(engineering/code-review)。它會從兩個面向審查指定 ref 之後的變更:程式碼是否遵循儲存庫中記載的程式設計標準(以及常見的壞味道),以及是否實作規格要求;它專為有標準/規格文件的儲存庫,以及搭配子代理使用而撰寫。僅有 Markdown,沒有指令碼。

我們如何測試

在 Mac 測試機上使用 Codex CLI 0.166(gpt-6-astra,低推理),每次執行都使用全新的暫存專案與暫存 HOME/TMPDIR/快取,安裝技能(實驗組)、未安裝(對照組),或未安裝但將技能核心要求濃縮成一句話附加在提示詞後(一句話提示組),每個任務每組執行 2 次,網路關閉,/tmp 寫入封鎖。提示詞從未提及技能(以下註明的措辭除外)。

兩項單檔審查(一個有 8 個植入問題的訂單服務,其中三個與安全性無關;一個有 8 個植入問題的驗證輔助程式),以及一項依 CODING_STANDARDS.md 與 SPEC.md 審查最新提交的審查(8 個植入偏差),後者是技能的預期用途。所有提示詞都是唯讀的(「列出問題,最嚴重的排前面,不要變更檔案」)。

  1. 審查一個小型服務模組 — 在我合併 orders_service.py 之前審查它。列出你發現的問題,最嚴重的排前面。不要變更任何檔案。
  2. 審查一個驗證輔助程式 — 審查 auth_handlers.py:我剛為我們的登入流程寫好它。列出問題,最嚴重的排前面。不要變更任何檔案。
  3. 依書面標準與規格審查最新提交 — 依 CODING_STANDARDS.md 與 SPEC.md 審查我的最新提交(HEAD~1 之後的變更)。列出每一項偏差,最嚴重的排前面。不要變更任何檔案。

評分方式為程式化檢查(隱藏測試/植入問題召回/限制條件檢查/視情況進行渲染與 OCR),每次執行 0–5 分。沒有任何 LLM 評審決定分數。

結果

提供給第三組的一句話提示:「從兩個面向審查:程式碼是否遵循儲存庫中記載的程式設計標準(加上常見的程式碼壞味道),以及是否實作規格要求,並為每一項發現引用檔案與行號。」

任務對照組分數一句話提示使用技能對照組 Token 數一句話提示 Token 數使用技能 Token 數技能讀取
t1-orders3.823.593.8279k79k94k2/2
t2-auth4.294.534.5376k70k93k2/2
t3-diff5.05.05.078k80k153k2/2

平均分數:未使用技能 4.37,使用技能 4.45(差異 +0.08)。每次執行 Token 數:78k 對 114k(1.46 倍);時間 44 秒對 57 秒。一句話提示組:4.37(技能相較一句話提示的增益:+0.08;一句話提示相較無技能的增益:+0.0);一句話提示每次執行 77k Token,因此技能的成本是一句話提示的 1.49 倍。

實際發生了什麼

  • 沒有可測量的增益:平均分數未使用技能 4.37、使用一句話版本 4.37、使用技能 4.45。每次執行的植入問題召回:對照組 5.0/8、一句話提示 5.0、技能組 5.1。
  • 在技能原本針對的任務上(依標準檔與規格審查提交),每一組都在 6/6 次執行中找到全部 8 個偏差。只要被要求,單純的 Codex 就已經會讀取 CODING_STANDARDS.md 與 SPEC.md,並將差異與它們比對。
  • 在兩項單檔審查中,每一組都找到 8 個植入問題中的 5-7 個。各組漏掉的是同一批(以浮點數處理金錢、把機密寫進日誌、登入沒有速率限制),技能增加的內容並沒有改變這點。
  • 技能在 6/6 次執行中被讀取,每次執行花費 114k Token,對照組為 78k(1.5 倍);提交審查任務為 154k 對 79k(約 2 倍),是最沉重的情況。一句話提示的成本與對照組相同。沒有任何一次執行變更檔案。
  • 評分上的一點提醒:項目是以正規表示式比對,因此措辭不同的發現可能被算作漏掉。

各面向分數

面向分數原因
1_輸出品質4.45

使用技能時平均分數 4.45/5(程式化檢查,見各任務 表格)。

2_相較無技能的提升2.08

相較未使用技能的 4.37,+0.08 分(每項任務 n=2;約 1 分以下 屬於雜訊)。

3_觸發5.0技能檔案在 6/6 次實驗組執行中被讀取。
4_指令可攜性4

為有標準/規格文件的儲存庫,以及能產生子代理的代理而撰寫; 在其他環境中可作為單純的指令使用。

5_效率31.46 倍 Token(每次執行 114k 對 78k)與 1.30 倍時間(57 秒對 44 秒)。
6_安全性與衛生5僅有 Markdown;沒有指令碼、沒有指令。

這項測試的限制

  • 此技能設計上是將兩個面向分派給子代理,並讀取儲存庫文件;在只有一個小型儲存庫的非互動式 Codex 執行中,無法看出這在大型差異上是否有幫助。
  • 植入問題位於極小的檔案中;解釋品質、嚴重程度排序與誤報並未計分。
  • 一句話提示重述了技能的兩個面向;沒有書面標準的團隊,第一個面向就無從比較。
  • 每項任務每組 n = 2:約 1 分以下的差異屬於雜訊。
  • 規則式評分只能衡量檢查看得到的部分;無法評判品味,也無法判斷結果是否為最佳可能。

安全性

見 security.md。掃描:CRITICAL 0 / HIGH 0 / MEDIUM 0。判定:可安全執行(網路關閉的沙箱)。乾淨的掃描結果不能證明技能安全。

總結

當被要求依書面標準與規格審查提交時,單純的 Codex 就已經找到每一個植入偏差,而技能增加了 Token(1.5 到 2 倍)卻沒有找到更多。對於希望每次審查都遵循相同雙軸格式的團隊,它或許仍有幫助,而這項測試並未衡量這一點。

完整紀錄

執行日誌:code-review (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
欄位:任務、組-輪次、得分(0-5)、token、秒、通過的檢查、代理開啟的 skill 檔案。

t1-orders control-1: 得分 3.59, token 79037, 秒 43.8, 檢查 2/2, 未開啟
t1-orders control-2: 得分 4.06, token 79487, 秒 50.4, 檢查 2/2, 未開啟
t1-orders oneliner-1: 得分 3.59, token 97051, 秒 50.6, 檢查 2/2, 未開啟
t1-orders oneliner-2: 得分 3.59, token 61642, 秒 42.5, 檢查 2/2, 未開啟
t1-orders treatment-1: 得分 4.06, token 65668, 秒 44.1, 檢查 2/2, 開啟 code-review
t1-orders treatment-2: 得分 3.59, token 123428, 秒 56.0, 檢查 2/2, 開啟 code-review
t2-auth control-1: 得分 4.53, token 76436, 秒 43.2, 檢查 2/2, 未開啟
t2-auth control-2: 得分 4.06, token 76339, 秒 43.5, 檢查 2/2, 未開啟
t2-auth oneliner-1: 得分 4.53, token 61176, 秒 49.9, 檢查 2/2, 未開啟

18 次執行、3 個產出檔案

範例產出

SOTA · 装了 skill:final message(t1-orders,第 1 次,Codex)

Found six problems, most serious first: 1. **High — Missing cancellation authorization** ([line 13](orders_service.py:13)). `current_user` is never checked. Anyone able to call this function can cancel another user’s order by supplying its ID. Verify ownership or administrative permission before updating. 2. **High — SQL injection** ([line 9](orders_service.py:9)). `order_id` is interpolated directly into SQL. A value such as `"0 OR 1=1"` changes the query and can return another order. Use a parameterized query. 3. **High — Credential exposure** ([line 4](orders_service.py:4), [line 48](orders_service.py:48)). A live-looking API key is hardcoded, and the successful charge path prints it to logs. Load credentials from secure configuration and remove the logging. If this key is real, rotate it. 4. **High — Charging always fails silently** ([lines 45–55](orders_service.py:45)). `send_to_gateway()` always raises `NotImplementedError`; `charge()` catches it and returns `None`. No payment can succeed, and callers receive no explicit failure. Implement the gateway and propagate or explicitly report failures. 5. **Medium — Discount thresholds are incorrect** ([line 24](orders_service.py:24)). The documented “or more” thresholds require `>=`. Currently, a total of 100 receives no discount, and 500 receives only 10%, yielding 100 and 450 instead of 90 and 400. 6. **Medium — Export file is never explicitly closed** ([line 39](orders_service.py:39)). Buffered output and resource cleanup depend on garbage collection, including on exceptions. Use a `with open(...)` block to ensure flushing and closing. Static review only; no files changed.

檢視 Pro