AIDive

Superpowers 對 Pocock:同功能做兩遍,只留一個

AIDive · 發布

編碼 agent

開場:一個 repo、兩個 pack、只留一個

Superpowers 和 Matt Pocock 的 skills 是多數 Claude Code 開發者拿來互相比較的兩個 skill pack。這支影片用同一個功能、同一個 repo 來量測它們,並逐個 stage 讀帳單。Superpowers(v6.4.2)附 15 個 skill 和一個強制使用它們的 SessionStart hook;Pocock 的 pack(v1.3.1)附 27 個 skill,沒有 hook,以及一條要自己打 slash 指令的七步驟 Main Flow。網路上唯一公開的實測比較說 Superpowers 便宜很多,而每一篇轉換心得都說 Pocock 浪費的 token 比較少。在這些執行中兩邊同時成立:交給 hook 的 Superpowers 只花 Main Flow 的四分之一,但走完整個迴圈的 Superpowers 卻花了將近兩倍的 Main Flow,而隱藏測試每次都是同樣的五個全過。這支影片要回答的是哪個 pack 該留下,以及哪一個 stage 決定了帳單。

兩個相反的賭注:強制 skill 的 hook 對上完全沒有 hook

Superpowers 是一個 plugin,有 15 個 skill 和一個 hook。每次 session 開始時,這個 hook 會把整份 using-superpowers skill(492 個字)注入 context,而這個 skill 告訴模型:"If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill."它賣的迴圈經過四個 skill:brainstorming、writing-plans、executing-plans,最後是 review。裝好之後,hook 應該會自己把請求導進這個迴圈。

Matt Pocock 的 pack 押的是相反的方向:27 個 skill,完全沒有 hook。什麼都不會被注入,每一步都是你自己打的 slash 指令。Main Flow 依序是 grill-with-docs、to-spec、to-tickets、implement、code-review、pr、retro。grill-with-docs 這個 skill 只有 35 個字,只負責呼叫另外兩個 skill;implement 有 103 個字,帶有 disable-model-invocation: true 旗標,所以模型無法自己載入它。Matt 在 v1.3 changelog 裡談自己這個迴圈的原話:"The agent loop is worse than a deterministic loop. But it is a good way to start with AFK work before your software factory is dialled in."

兩個 pack 都可以裝成 Claude Code plugin,也可以用複製檔案的方式安裝,Pocock 的 readme 講得很直接:每個 agent 只選一種,因為兩種都裝會讓每個 skill 出現兩次。這個比較一直沒人定案,是因為唯一的實測對比,跑 Pocock 的 pack 時八個實作 worker 有五個根本沒收到 implement skill,而每一篇轉換文章都只有意見,沒有數字。

Bench:ledgerly、一個需求、五個隱藏測試,以及純 Claude Code 基準

這個 repo 是 ledgerly,一個虛構的開票 API,用純 Node 和 TypeScript 寫成:有 domain 層、帶 schema migration 的 JSON 檔案 store、HTTP 層,以及 34 個全綠的測試。功能需求只有三行,寫法就是開發者平常的打法:加入部分付款、顯示已付金額和餘額、讓舊的 /pay endpoint 繼續能用,還要記得 store 裡有正式環境的資料。資深工程師讀到這段,會預期五件需求沒寫出來的事:金額計算、驗證、遷移正式環境的檔案、正確的錯誤碼,以及測試。這五件事被寫成 worker 看不到的隱藏驗收測試;參考 patch 五個全過,而原封不動的 repo 一個都沒過。

每次執行都是 repo 的全新複本、一個 headless Sonnet 5.5 worker、同一份工具 allow list,以及一個照腳本走的 product owner:這是第二個沒有任何工具的 headless 模型,只讀五條用白話寫的需求,回答簡短,沒被問到東西時就說 "go on"。每個 token 和每次 skill 呼叫都按 turn 記錄。有兩個限制先講清楚:headless 代表執行中沒有人可以介入,而且 Superpowers 的 hook 只在第一個 turn 觸發。

沒有任何 pack 的純 Claude Code 是基準,每一根長條都拿它來比。

設定(功能 1) 隱藏測試 每次執行成本 實際耗時 變動行數
純 Claude Code,3 次執行 5/5, 5/5, 5/5 平均 $0.34($0.47, $0.27, $0.29) 84.5 s 142

Superpowers:hook 單獨跑了什麼,以及完整迴圈要花多少

交給它的 hook 自己跑時,Superpowers 的行為是這樣:貼上請求,hook 觸發,模型打開 brainstorming,問一兩個問題,然後開始寫程式。三次執行裡 writing-plans 跑了零次,executing-plans 一次都沒跑。結果是五個全過,花約五十美分和約兩分鐘,同樣的分數下是純 Claude Code 的一點五倍,其中光 brainstorming 就花了約二十二美分。六次單 turn 探測顯示,這種路由是隨機的,不是接線出錯:用真正的 plugin 接線,brainstorming 三次觸發一次,用 bench 的接線則是三次觸發兩次。

手動驅動時,把 brainstorming、writing-plans 和 executing-plans 當成 slash 指令在 Native 模式(6.4.1 之後的預設)下打出來,每次執行都跑完整個迴圈。同樣是五個全過,每次約 $3.74 和十分鐘:是純 Claude Code 的十一倍,是交給 hook 路由那次的七點五倍,隱藏測試的分數卻一樣。

Superpowers stage(功能 1 平均) 成本
brainstorming $0.166
writing-plans $0.266
executing-plans $3.307
其中 TDD build 本身 $0.974
其中整個分支的 reviewer subagent $2.192

reviewer 就是解釋這個迴圈帳單的 stage。executing-plans skill 派出它時,用它自己的話說是 "on the most capable available model",而每次執行中那個模型都是最高階的。這個 skill 稱它為整個執行唯一買到的全新 context,並說不要跳過;在這個功能上,它沒有發現任何測試還沒證明過的東西。在第二個功能上,同一個 reviewer 在一次 $3.21 的執行中花了 $1.602,所以這不是偶發,而是這個 skill 本來的寫法。

逐個 stage 看 Main Flow:便宜的計畫、昂貴的實作

Pocock 的 pack 只能用唯一的方式驅動:grill-with-docs 一次問一個問題,每次執行約七個,Superpowers 的 brainstorming 則是一兩個;to-spec 寫出 spec;to-tickets 把它切成 ticket;implement 在一個 turn 裡建完所有 ticket,並自己呼叫 tdd 和 code-review;pr 寫出 pull request 文字。每次執行都以同樣的順序呼叫同樣四個 skill(grilling、domain-modeling、tdd、code-review):這個 pack 的路徑是確定的。十二個 driver turn 是 bench 設的上限,三次執行有兩次在到 pr 之前就撞到上限;唯一完整跑完的那次以 PR 內文結束,這是其他 pack 都沒留下的東西。

Main Flow stage(功能 1 平均) 成本
grill-with-docs $0.204
to-spec $0.118
to-tickets $0.143
implement $1.125
code-review $0.439
pr $0.041

計畫的前半段不到五十美分($0.465);implement 和 code-review 佔了帳單的四分之三。總計每次執行約 $2.04 和七分鐘,每次都是五個全過:是交給 hook 路由的 Superpowers 的四倍,比手動驅動的 Superpowers 迴圈少四成五。diff 比較大,約 372 行,純 Claude Code 是 142 行;新增測試約 28 個,純 Claude Code 是 5 個。token 總量和金額吻合:每次執行約 450 萬個 token,純 Claude Code 是五十萬,大部分是長 context 的 cache read。Main Flow 留下的是 spec、ticket 和 PR 內文,對團隊來說可能比那四十美分更有價值;而十二個 turn 的上限是 bench 的限制,真人會繼續做下去。

更難的功能:貸項通知單,以及唯一上線的那個 bug

到處都是五個全過,等於什麼都沒說,所以我在同一個 repo 上放了第二個需求:貸項通知單(credit notes),兩行,五條隱含規則。絕不超額沖銷發票,並讓報表保持正確;遷移正式環境的檔案;一組沒有缺號的單一編號序列;正確的錯誤碼;以及透過貸項通知單作廢已付款的發票,而舊測試要改寫,不能刪掉。第一個比較難的候選被捨棄了,因為純 Claude Code 在上面仍然五個全過。先驗證:參考 patch 五個全過,原封不動的 repo 一個都沒過,純 Claude Code 的 smoke run 得了四分,所以這次 oracle 有鑑別力。

設定(功能 2) 隱藏測試 每次執行成本 新增測試數
純 Claude Code,2 次執行 4/5, 5/5 平均 $0.41 5
手動驅動的 Superpowers,2 次執行 5/5, 5/5 平均 $3.21 33
Main Flow,2 次執行 5/5, 5/5 平均 $2.07 31

唯一的失誤:純 Claude Code 的第一次執行在驗證請求之前就先取了貸項通知單編號,做法和現有的開票 route 一樣,結果被拒絕的請求燒掉了一個編號,本來該發 CN-0002 的地方發了 CN-0004。稽核人員會標記缺號。兩個迴圈用同樣的方式抓到它,就是它們的 TDD 步驟在程式碼出現之前先為編號序列寫了測試;純 Claude Code 的第二次執行也做對了,花了四十五美分。兩次裡錯一次是一個資料點,不是一個比率。在這裡迴圈買到的是它們留下的測試,不是分數。

兩個疊在一起用,以及 marketplace 的陷阱

這個主題上聲量最大的一串討論說,兩個 pack 當成 router 裝在一起,會在 slash 名稱、session hook 和搶同一個意圖的 skill 上互相衝突。把它們裝進同一個專案並跑 Main Flow,Superpowers 的 hook 注入了它的文字,六個 Pocock 指令都打了出來,而 Superpowers 的 skill 一個都沒被呼叫:五個全過,$2.33,落在 Main Flow 的範圍內。原因有兩個:Pocock 由使用者呼叫的 skill 帶有一個旗標,讓模型無法自己載入它們,而且兩個 pack 沒有任何同名的 skill。不過這只是一次執行;在另一個 session 裡,hook 仍可能把某個由模型呼叫的 Pocock skill 拉進來。

真正的陷阱是你拿到的版本。官方 Claude plugin marketplace 把 Pocock 的 pack 固定在 1.2.3,落後 upstream v1.3.1 共 71 個 commit。那個被固定的版本沒有 implement-spec、沒有 pr、也沒有 retro;兩個 issue 從 10 月 5 日起一直開著,而 10 月 8 日 Matt 在 X 上請 Anthropic 更新:"All my users are stuck on v1.2." 同一個 marketplace 把 Superpowers 固定在落後一個 patch 的版本(6.4.1,對上 v6.4.2)。安裝器給你真正的 release;plugin 給你的是你安裝那天被固定的版本。要看版本號,不要只信這支影片。

stage 地圖與結論:Superpowers 留下

Superpowers 留下。交給 hook 自己跑,它是量測到最便宜的有引導路徑:約五十美分拿到五個全過,是純 Claude Code 的一點五倍。它的完整迴圈是量測到最貴的東西,約 $3.74,而和 Main Flow 之間的差距,幾乎都來自一個 stage:executing-plans 送給最強模型的整個分支 reviewer。改掉那一行,或傳入比較便宜的模型,迴圈就會落在約 $1.55,低於 Main Flow 的 $2.04。決定帳單的 stage 是 review,不是計畫:沒有誰的 grill、沒有誰的 brainstorm 動到這個數字。交給 hook 路由的路徑自己也有個問題,因為路由是隨機的(用 plugin 接線是三次一次);如果你在意 brainstorming,就自己打。

Main Flow 拿到同樣的分數,留下更多產物,代價是交給 hook 路由那次帳單的四倍。它的計畫前半段,從 grill-with-docs 到 to-tickets,花不到五十美分,是唯一值得借用的東西:用安裝器而不是被固定的 plugin 來裝 Pocock 的 pack,請求模糊時打 grill-with-docs。兩個疊在一起用,這次執行中沒有多花任何成本。

Stage 地圖 決定
Superpowers 交給 hook 路由(brainstorming、TDD) 保留
Pocock 的 grill-with-docs、to-spec、to-tickets($0.465) 借用
executing-plans reviewer 的模型那一行 修改

限制直說:Sonnet 5.5 headless、兩個功能、十九次執行、照腳本走的 product owner,十九次執行中只有一個 bug,還是純 Claude Code 交出的。更大的功能或團隊可能會更看重 spec 和 ticket。免費資源就是 bench 本身:虛構的 repo、隱藏測試、driver 和逐個 stage 的 ledger 腳本,讓你在花一天遷移之前,先用自己的功能把兩個 pack 都跑一遍。

免費資源

來源

常見問題

我應該在 Claude Code 裡從 Superpowers 換到 Matt Pocock 的 skills 嗎?
在這個 bench 上,不用。交給 hook 的 Superpowers 每個功能約 $0.50 拿到五個隱藏測試全過,Pocock 的 Main Flow 同分卻要 $2.04。Pocock 的 pack 唯一值得借用的是它的計畫前半段,從 grill-with-docs 到 to-tickets,花不到五十美分。
為什麼 Superpowers 迴圈比 Main Flow 貴這麼多?
因為一個 stage:executing-plans 會派出一個看整個分支的 reviewer subagent,跑在可用的最強模型上,在一次 $3.74 的執行中花了 $2.192。TDD build 本身約 $0.97。把那一行的模型改掉,迴圈約落在 $1.55。
如果只是貼上一個請求,Superpowers 的 hook 實際上會跑什麼?
先是 brainstorming,然後直接寫程式。在三次交給 hook 路由的執行中,writing-plans 跑了零次,executing-plans 一次都沒跑。六次單 turn 探測顯示路由是隨機的:用 plugin 接線時,brainstorming 三次觸發一次。
Superpowers 和 Matt Pocock 的 skills 可以一起安裝嗎?
在測過的那一次執行中可以:兩者裝在同一個專案,Superpowers 的 hook 注入了它的文字,六個 Main Flow 指令都打了出來,沒有任何 Superpowers skill 被呼叫,五個全過,花 $2.33。Pocock 由使用者呼叫的 skill 帶有 disable-model-invocation: true,而且兩個 pack 沒有同名的 skill。
Claude Code plugin marketplace 會安裝哪個版本的 Matt Pocock skills?
截至 2026 年 10 月 9 日,官方 marketplace 把它固定在 1.2.3,落後 upstream v1.3.1 共 71 個 commit,沒有 implement-spec、pr 和 retro。用安裝器的路徑 npx skills@latest add mattpocock/skills 才能拿到真正的 release。
這個比較是怎麼量測的?
在一個虛構的 TypeScript 開票 repo ledgerly 上跑了 19 次 headless Sonnet 5.5 執行,每個功能有五個 worker 看不到的隱藏驗收測試,由一個照腳本走的 product owner 回答問題,每個 token、每筆費用和每次 skill 呼叫都按 turn 記錄,再按 stage 加總。

相關影片