Claude Code Superpowers 隱藏規則:4 個你不知道的坑與避開方法

重點摘要

  • Superpowers skills 有幾條「隱藏規則」會在你不注意時改變 Claude 的行為
  • 最常見的問題:skill 自動選 Haiku 做本該 Sonnet/Opus 的工作
  • 三個簡單設定可以避開 90% 的干擾:dev branch、AGENTS.md 指定 model、關閉 feedback survey
  • 文末附 CLAUDE.md 覆寫規則範本,直接貼進去就能用

用 Claude Code 跑 Agent Team 一段時間後,你可能會發現:明明設定都正確,Claude 還是會跑來問奇怪的問題、用錯 model、或在不該停的地方停下來。這篇文章整理了 Superpowers plugin 裡幾條「你不一定知道」的隱藏規則,以及最簡單的避開方法。

為什麼 Agent Team 會「自己做決定」?

Claude Code 的 Superpowers plugin 提供了一套 skill 系統,讓 Claude 在執行任務時有明確的工作流程可依循。這些 skill 設計上是給通用場景用的,因此內建了一些「省成本、保安全」的預設行為。

問題是:這些預設行為有時候和你的需求相衝突,而且你很難從文件上看出來。

隱藏規則 1:Skill 會自動選最便宜的 Model

來源: subagent-driven-development skill

這條規則直接寫在 skill 裡:

“Use the least powerful model that can handle each role to conserve cost and increase speed. Mechanical implementation tasks: use a fast, cheap model.”

也就是說,當 Claude 判斷一個 task 是「機械性的」(1-2 個檔案、規格清楚),它就會選 Haiku。這對一般的 CRUD 功能可能沒問題,但對複雜業務邏輯(像 iDempiere plugin、Taiwan 發票系統)來說,Haiku 根本不夠用。

Skill 的 Model 選擇邏輯

Task 類型 Skill 的選擇 適合複雜專案?
Mechanical(1-2 files, clear spec)Haiku(最便宜)❌ 通常不夠用
Integration(多 file、需判斷)Sonnet(標準)✅ 通常足夠
Architecture / ReviewOpus(最強)✅ 正確

避開方法:在 AGENTS.md 明確指定 Model

最簡單的解法是在每個專案的 AGENTS.md 裡明確寫好每個 agent 的 model。Claude 在 dispatch subagent 時,如果 AGENTS.md 有寫,就應該照抄,不用自己判斷。

| Agent | Model | Role |
|-------|-------|------|
| pack-builder | sonnet | Build 2Pack XML + ZIP |
| model-fixer | sonnet | Fix Model classes |
| idempiere-expert | opus | Technical reviewer |

同樣地,在 IMPLEMENTATION_PLAN.md 每個 phase 標上 model,讓 LEAD 照單全收:

## Phase 0.1:建立 PackOut.xml [pack-builder / sonnet]
## Phase 0.2:Activator 邏輯 [activator-fixer / sonnet]
## Review Gate [idempiere-expert / opus]

隱藏規則 2:在 main/master 上工作會被詢問確認

來源: 幾乎所有 implementation skill

所有 skill 都有這條規則:“Never start implementation on main/master without explicit user consent.” 只要你的 working branch 叫 mainmaster,Claude 每次開始實作前都會停下來問你確認。

避開方法:永遠從 dev branch 開工

一條指令解決:

git checkout -b dev

在 dev branch 上,這條保護規則不會觸發。這也是好的 git 習慣,順手為之即可。

隱藏規則 3:Subagent 不繼承你的對話 Context

來源: 所有使用 subagent 的 skill

這是設計上的特性,不是 bug:每個 subagent 都是 fresh 啟動,完全不知道你之前跟 LEAD 說過什麼。LEAD 要把所有需要的 context 手動打包給 subagent。

這代表你告訴 LEAD「不要動 X 檔案」、「記得用 Y 方式」,subagent 不一定會知道,除非 LEAD 把這些資訊包進去。

避開方法:把規則寫進文件,不要只說給 LEAD 聽

任何重要的約定,放進 AGENTS.mdCLAUDE.mdIMPLEMENTATION_PLAN.md。這些檔案 subagent 啟動時會讀到,不依賴 LEAD 的記憶。

隱藏規則 4:Feedback Survey 會擋住畫面

Claude Code 會隨機彈出「How is Claude doing this session?」的評分畫面。這個畫面不是 blocking prompt,按 Enter 沒有用,要按 0 才能 dismiss。

更乾脆的做法是直接關閉它。在 ~/.claude/settings.json 加一行:

{
  "feedbackSurveyRate": 0
}

設為 0 後,這個 survey 就永遠不會出現了。

完整 CLAUDE.md 覆寫規則範本

把以下內容加進你的 CLAUDE.md,可以覆寫 skill 的預設行為:

## Superpowers Skill Override Rules

### Model Selection (OVERRIDES subagent-driven-development skill)
NEVER use haiku for implementation tasks. Follow this mapping regardless
of what the skill says about "mechanical" tasks:
- opus: architecture decisions, code review, cross-file reasoning
- sonnet: all implementation tasks (CRUD, API, forms, tests, services)
- haiku: file scanning, directory listing, config comparison ONLY

When dispatching subagents, ALWAYS check AGENTS.md for the assigned model.
If AGENTS.md specifies a model, use it. Do not override with cheaper model.

### Git Branch
Never ask for branch confirmation if already on a non-main/master branch.
Treat any branch that is not named "main" or "master" as pre-approved for
implementation work.

一次性設定清單

以下是只需要做一次的設定,之後每個專案都受益:

設定 位置 效果
"feedbackSurveyRate": 0~/.claude/settings.json永久關閉 feedback survey
"defaultMode": "bypassPermissions"~/.claude/settings.json工具不再逐一詢問確認
Model 覆寫規則~/.claude/CLAUDE.md強制 sonnet 做實作工作

以下是每個新專案開始時的習慣:

  1. git checkout -b dev(避開 main/master 保護規則)
  2. 建立 AGENTS.md 並寫好每個 agent 的 model
  3. IMPLEMENTATION_PLAN.md 每個 phase 標記 model

為什麼這些規則存在?

這些 skill 是為「通用場景」設計的,預設行為是合理的:

  • 省成本: 對大多數用戶來說,Haiku 做簡單任務確實夠用,費用少一半
  • 保安全: 不讓 Claude 在 main branch 亂動是好習慣
  • 隔離 context: Fresh subagent 避免舊 context 污染新任務

問題不是規則本身,而是當你的專案比「通用場景」複雜時,這些預設值就不夠精準了。透過明確的文件(AGENTS.md、CLAUDE.md)和一次性的 settings.json 設定,你可以讓 Claude 按照你的規格工作,而不是照 skill 的預設值工作。


延伸閱讀:

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *