開場:一個 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 都跑一遍。
AIDive