Tenten Field Notes Vol.07
Issue 2026.05 Claude Code v2.1.150+ Read time ≈ 22 min
CHAPTER 00 For Dummies × 認真用 ╱ ultrawork & /workflows

Claude Code
ultrawork
/workflows 手冊

v2.1.150 開始,社群圍繞「ultrawork 模式」與「/workflows 多代理人協作」建立了一套完整的使用約定。 本手冊涵蓋安裝步驟、關鍵字用法、prompt 設計範例,以及社群整理的常見問題清單。

10× 同時並行的 Subagents
15 /workflows 多代理人指令
42 單一用途 /tools
0 官方 ultrawork 內建指令
01
Chapter One — Ground Truth

v2.1.150 版本內容說明

Claude Code v2.1.150 的官方內建功能範圍,以及 ultrawork 與 /workflows 的實際來源。

Claude Code v2.1.150 是 2026 年 5 月 23 日釋出的版本,本身只是內部基礎建設改善, 沒有任何使用者可見的新功能。真正帶來新東西的是它的前一版 v2.1.149(5 月 22 日):新增了 /usage 的細項統計,能拆解 skill、subagent、plugin、MCP server 各自吃掉多少額度; 同時修掉了 PowerShell 權限繞過、macOS 上 find 指令會耗盡檔案表的 bug。

「ultrawork」這個關鍵字並不存在於 Claude Code 的官方文件中。 它源自社群,尤其是 TechDufus/oh-my-claude 這個 122 star 的 plugin、 以及 mnthe/hardworker-marketplace。Anthropic 至今沒有發表過名為 /ultrawork 的官方 slash command。

「/workflows」是社群命名慣例,主要來自 wshobson/commands(2.5k star)這份 slash command 集合, 它把 15 個多代理人協作的指令統一放在 workflows/ 目錄下,所以你會用 /workflows:feature-development 這樣的格式去呼叫。

為何這套用法值得了解

Claude Code 是設計成低層、不強迫工作流的工具。 Anthropic 在官方 best practices 中明確說明:「Claude Code is intentionally low-level and unopinionated」。 plugin、slash command、subagent、hook 等擴充點均由社群與使用者自行組合。 ultrawork 與 /workflows 雖非官方功能,是目前社群使用量較高、文件較完整的組合方式。

v2.1.150 提供基底執行環境,社群的 ultrawork 是利用 plugin hook 改寫 Claude 執行行為的具體做法。 兩者屬不同層次:官方版本定義能力邊界,社群套件定義工作流約定。

02
Chapter Two — Definition

ultrawork
運作機制

ultrawork 是一組行為改寫規則,注入後 Claude 將持續執行直到所有 to-do 完成且通過驗證。

ultrawork 是一組行為改寫規則,而非獨立工具。當你在 prompt 裡加入這個關鍵字, plugin 的 hook 會攔截你的訊息、注入一段隱形的系統提示,告訴 Claude: 接下來的任務必須並行執行、強制使用 TodoWrite 追蹤、所有檔案讀取交給 subagent、 不准只做一半、不准詢問權限、直到 todo 全部完成且驗證通過才能停下來

普通模式是問答式交互。ultrawork 模式是下達任務後由 Claude 自行組建代理人團隊完成整個專案。 Joe Njenga,Medium《I Tested Claude Code Ultrawork》2026.05

行為對照表(這才是重點)

行為 普通模式 ultrawork 模式
任務執行 循序,一次一件 並行,一個訊息內同時派出多個 subagent
檔案閱讀 直接讀進主對話 context 委派給 librarian subagent,主對話只拿摘要
進度追蹤 可有可無 強制 TodoWrite,且即時更新狀態
停止條件 每一步問你要不要繼續 所有 todo 完成且驗證通過才允許停止
半成品態度 願意接受「先這樣,之後再補」 零容忍,要求完整實作方可交付
詢問權限 常常停下來問 從不詢問,自己做合理判斷並寫下理由

ultrawork 調整的是 Claude 的確認行為,而非推理能力。 Anthropic 預設訓練 Claude 頻繁停下確認,適合新手,但對需要長時間自動化任務的使用者會造成中斷。 ultrawork 透過 plugin hook 注入系統提示,停用確認請求、強制並行執行,直到所有 todo 完成。

03
Chapter Three — Definition II

/workflows 指令集
說明

ultrawork 是行為模式,/workflows 是具體腳本,即預先定義的多代理人協作流程。

/workflows:xxx 這種寫法來自 wshobson/commands 的目錄結構: 它在 ~/.claude/commands/ 底下分成 workflows/(多代理人協作)和 tools/(單一用途工具)兩個資料夾, 所以呼叫時就會帶上前綴。你也可以選擇複製到根目錄、不要前綴,但慣例上保留前綴比較好辨識。

workflow 與 tool 的差別:workflow 是大寫的、跨領域的、需要多個專家代理人協作的任務, 譬如「實作一個完整的 OAuth2 登入系統」;tool 則是聚焦單一動作,譬如「掃描 OWASP Top 10 漏洞」。 Workflows 跑起來通常 30–90 秒,tools 約 5–30 秒。

三個你最常會用到的 /workflows

指令 用途 協作的代理人
/workflows:feature-development 從 0 到 1 完整實作一個新功能 後端、前端、測試、部署
/workflows:smart-fix 不確定問題出在哪、讓 AI 自己診斷 依 bug 類型動態挑選
/workflows:tdd-cycle 強制執行 red → green → refactor 測試撰寫者、實作者、重構者
/workflows:security-hardening 安全強化,從威脅模型到修補 威脅建模、漏洞評估、修補
/workflows:legacy-modernize 把老舊架構搬到現代化框架 架構遷移、依賴升級、樣式重構
/workflows:performance-optimization 找出系統瓶頸並全方位優化 剖析、快取、查詢優化、壓測
/workflows:incident-response 線上事故處理 SOP 診斷、根本原因、熱修部署

與 ultrawork 怎麼搭?

建議組合方式:以 /workflows 指定任務腳本,以 ultrawork 設定執行強度。 例如 /workflows:feature-development implement OAuth2, ultrawork,前段指定多代理人協作腳本,後段關鍵字停用確認提示並強制跑至完成。 依社群討論,兩者併用是 context 消耗相對較低、完成率較高的組合。

04
Chapter Four — Installation

完全新手
安裝步驟

如果你連 Claude Code 都還沒裝,這一章請從頭跟著做。已經有 Claude Code 的可以跳到步驟 4。

1

確認你有 Claude Pro 或 Max 訂閱

Claude Code 必須綁訂閱才能跑。Free 帳號用不了。Pro $20/月、Max $100~200/月。 訂閱層級直接決定 ultrawork session 可用時間,額度用完 session 即停止。

2

安裝 Claude Code 本體

三個方法,挑一個(推薦原生安裝,會自動更新):

# macOS / Linux 原生(推薦) curl -fsSL https://claude.ai/install.sh | bash # Homebrew(macOS/Linux) brew install --cask claude-code # Windows(PowerShell) irm https://claude.ai/install.ps1 | iex
3

初次啟動並登入

到任一專案目錄下執行 claude, 會自動開瀏覽器做 OAuth 登入。登入完就連上你的訂閱了。確認版本是不是 v2.1.150 或更新:

claude --version # 應該看到 2.1.150 或更高
4

安裝 uv(oh-my-claude 的依賴)

oh-my-claude plugin 用 Python,內建 uv 會自己管 Python,不用另外裝。

curl -LsSf https://astral.sh/uv/install.sh | sh
5

裝 ultrawork 主力 plugin(oh-my-claude)

在 Claude Code 終端內(不是系統 shell)執行這兩行:

/plugin marketplace add TechDufus/oh-my-claude /plugin install oh-my-claude@oh-my-claude
6

(可選)裝 /workflows 指令集

如果你也要 wshobson 的 15 個 multi-agent workflows:

cd ~/.claude git clone https://github.com/wshobson/commands.git
7

重啟 Claude Code

hook 必須在重啟後才會生效。完全退出 Claude Code 再重新開啟。 之後在任何 prompt 中加上 ultrawork 即可觸發。

裝完怎麼驗證? 在 Claude Code 裡輸入 /plugin,應該看到 oh-my-claude @ oh-my-claude, Status: Enabled。 看到的話就代表 hook 已上線,可以開始用 ultrawork 關鍵字了。
05
Chapter Five — Magic Words

oh-my-claude
三個觸發關鍵字

安裝 oh-my-claude 後可用的三個關鍵字。每個關鍵字可放在 prompt 的任意位置觸發。

EXECUTION
ultrawork
縮寫:ulw
最大並行執行、強制 TodoWrite、做完才能停。 適合「我已經知道要做什麼,幫我幹完」的場景,例如把所有 type error 修掉、實作完整的功能模組。
RESEARCH
ultraresearch
縮寫:ulr
系統性平行搜尋、交叉比對來源、每一個結論都附引用。 適合「我需要 30 分鐘也讀不完的調研」,例如比較三個框架、整理某個 API 最新規格變動。
DEBUG
ultradebug
縮寫:uld
7 步系統性除錯流程:多假設、3 振出局機制、實證導向診斷。 適合「奇怪的 bug、不知道從哪查」的場景。會自動跳出單純試錯,逼自己提出 hypothesis 再驗證。

怎麼用?舉幾個真實 prompt

claude // examples.session
# 例 1:修掉一整個專案的 type error fix all the type errors in src/, ultrawork # 例 2:縮寫版(更快打字) add unit tests for the payment module ulw # 例 3:研究模式 ultraresearch best practices for tRPC + Drizzle in 2026 # 例 4:除錯模式 our cron job randomly fails on Mondays, ultradebug # 例 5:和 /workflows 搭配(社群推薦組合) /workflows:feature-development implement Stripe webhooks, ultrawork

說明:oh-my-claude 另有第二個觸發路徑。 按 Shift+Tab 進入 plan mode 時,plugin 會自動執行一個 7 步驟計畫強化流程 (偵察 → 訪談 → 研究 → 缺口分析 → 風險評估 → 寫計畫 → critic 審查)。 不下任何關鍵字、單純使用 plan mode,同樣會啟動此流程。

06
Chapter Six — The Crew

ultrawork 的
代理人團隊結構

ultrawork 在背景啟動一組 6 個專屬 subagent,各自持有獨立 context,分工執行不同任務。

為什麼要有 subagent?因為 Claude 主對話的 context 視窗是有限的。 如果你叫主 Claude 直接讀 2000 行的檔案,那 2000 行會永遠卡在它的工作記憶裡,後面所有推理都會受影響。 Subagent 在獨立沙箱中讀取檔案,只回傳摘要給主 Claude,細節保留在沙箱中。 這是 ultrawork 執行長任務時 context 不超限的主要原因。

advisor
Pre-Plan
在計畫成形前,找出隱藏需求與範圍風險
risk
Risk Pass
評估計畫與差異對應用、依賴、基礎設施的衝擊
critic
Plan Review
在執行前挑出計畫的瑕疵與遺漏的邊界情況
librarian
Smart Read
摘要大型檔案、git diff、changelog,控制主 context 用量
worker
Execute
專心執行一個明確任務,完整實作
validator
QA Gate
跑測試、lint、type check,回報 pass / fail
explore
Built-in
Claude Code 內建:找檔案、搜尋程式碼、定位定義

你也可以手動點名某個 subagent

claude // manual.subagent.invocation
Task(subagent_type="oh-my-claude:librarian", prompt="Summarize src/auth/service.ts") Task(subagent_type="oh-my-claude:critic", prompt="Review this implementation plan for flaws") Task(subagent_type="oh-my-claude:validator", prompt="Run all tests and report results") [librarian] reading 847 lines... done [librarian] summary: auth service uses JWT with 7-day expiry, refresh token rotation enabled, but no rate limiting on /refresh endpoint. [critic] ⚠ found 3 edge cases not addressed in plan... ✓ validator: 142/142 tests passing, 0 lint errors, 0 type errors
07
Chapter Seven — Worked Example

Prompt 設計
完整範例

以下示範從 prompt 輸入到 ultrawork 執行完成的完整流程。 場景:為 Next.js 專案新增 Stripe webhook 處理。

YOU // 使用者輸入
/workflows:feature-development

We need to handle Stripe webhooks for payment_intent.succeeded, payment_intent.payment_failed, and customer.subscription.updated. Database is Drizzle + Postgres. The handler should be idempotent (use Stripe event ID as dedupe key), log every event to webhook_events table, update the orders table accordingly, and send a Slack notification on failures. Test coverage must be ≥85%.

ultrawork
CLAUDE // 內部展開(hook 攔截後注入)
# Injected context (hidden from you):
MODE: ultrawork
RULES:
  - parallel subagents in single message
  - TodoWrite immediately, update real-time
  - no permission requests
  - zero tolerance for partial implementation
  - stop only when all todos done + validation passed
CLAUDE // 第 1 個訊息:建立 todo + 並行展開
TodoWrite created (7 items):
① Read existing API route structure ② Design webhook handler architecture ③ Add Drizzle schema for webhook_events ④ Implement Stripe signature verification ⑤ Implement three event handlers ⑥ Add Slack notifier ⑦ Write tests to ≥85% coverage

Spawning parallel subagents:
librarian: 摘要 src/app/api/ 現有結構
librarian: 摘要 drizzle/schema.ts 與 orders 表
advisor: 找出 Stripe webhook 容易踩到的隱藏需求
CLAUDE // advisor 回報的隱藏需求
★ Insight ───────────────────────────────────────────
Stripe webhook hidden requirements you didn't mention:
  1. Webhook signature verification needs raw body,
     not parsed JSON — needs route segment config
  2. Retry tolerance: Stripe retries failed webhooks
     for up to 3 days, idempotency key MUST be persistent
  3. Customer subscription events fire before
     payment_intent — handle ordering or use eventual consistency
  4. Test webhooks with Stripe CLI stripe listen,
     not curl (signature won't match)
─────────────────────────────────────────────────────
CLAUDE // critic 審查計畫後產出檔案
// src/app/api/webhooks/stripe/route.ts
export const config = { api: { bodyParser: false } };

export async function POST(req: NextRequest) {
  const body = await req.text();
  const sig = req.headers.get('stripe-signature')!;
  
  let event: Stripe.Event;
  try {
    event = stripe.webhooks.constructEvent(body, sig, env.STRIPE_WEBHOOK_SECRET);
  } catch (err) {
    return NextResponse.json({ error: 'invalid signature' }, { status: 400 });
  }
  
  // idempotency check using Stripe event.id
  const existing = await db.query.webhookEvents.findFirst({
    where: eq(webhookEvents.stripeEventId, event.id),
  });
  if (existing) return NextResponse.json({ received: true });
  
  await db.insert(webhookEvents).values({
    stripeEventId: event.id, type: event.type, payload: event, status: 'processing',
  });
  
  switch (event.type) {
    case 'payment_intent.succeeded': await handlePaymentSuccess(event); break;
    case 'payment_intent.payment_failed': await handlePaymentFailure(event); break;
    case 'customer.subscription.updated': await handleSubscriptionChange(event); break;
  }
  
  return NextResponse.json({ received: true });
}
CLAUDE // validator 收尾
✓ validator finished:
— Type check: 0 errors
— Lint: 0 warnings
— Unit tests: 23/23 passing
— Integration tests: 7/7 passing
— Coverage: 89.2% (target was 85%) ✅
— All 7 todos marked complete. Session terminating.

此範例的三個關鍵點: ① 使用者只下一段 prompt,整個流程由 plugin 自動展開; ② advisor 主動補充了三個原始 prompt 未提及的需求(signature 須使用 raw body、retry 期限為 3 天、event 順序問題); ③ validator 完整執行後回報具體 coverage 數字(89.2%),確認達標後才結束 session。

08
Chapter Eight — From the Trenches

社群整理的
實用建議

以下內容摘自 r/ClaudeAI、X、Medium、Substack 的討論,整理為可執行的操作建議。

r/ClaudeAI / Boris C.▲ 312

並行開 5–10 個 session

Claude Code 創作者 Boris Cherny 的工作流:終端跑 5 個 Claude、web 跑 5–10 個 session, 用編號標籤與系統通知追蹤哪個 session 需要輸入。 早上啟動 session,白天返回時 Claude 已連續執行數小時。

Hacker News thread▲ 287

先用 Plan mode(Shift+Tab 兩次)再下 ultrawork

在執行任何 ultrawork prompt 之前,先進入 Plan mode 與 Claude 確認計畫細節。 Plan mode 不寫程式碼,只迭代計畫。 依 Hacker News 討論,這個步驟節省的反覆修改時間通常多於 ultrawork 並行加速帶來的收益。

Medium / Joe Njenga▲ 199

在專案根目錄維護 CLAUDE.md

在專案根目錄放置 CLAUDE.md,記錄專案規則與限制。每次出現錯誤時更新此檔,PR 時用 @claude 標記補充學到的約定。 作者稱此做法為「Compounding Engineering」,使 Claude 在同一專案中累積上下文。

X / Anthropic Devs▲ 168

選用 Opus 4.5(thinking 模式)

Boris 與 Anthropic 內部團隊偏好搭配 thinking 模式的 Opus 4.5,而非 Sonnet。 理由是 Opus 4.5 需要較少的人為糾正與來回確認,總計執行時間反而更短。

r/LocalLLaMA▲ 142

搭配 git worktree 隔離執行環境

ultrawork 執行長任務時可能會大幅修改檔案。社群建議搭配 git worktree 建立隔離工作區,Claude 出錯時影響範圍限於該 worktree,不會污染主分支。 oh-my-claude 內建 /worktree skill 可自動化此流程。

r/ClaudeAI / 警告貼⚠ 警告

禁止使用 --dangerously-skip-permissions

r/ClaudeAI 有用戶回報:「Claude CLI deleted my entire home directory」。 ultrawork 雖然會自動同意安全指令,但絕對不要--dangerously-skip-permissions。 請改用官方 /sandbox 指令將檔案系統與網路存取限制在當前目錄。

r/ClaudeAI / Burnout 警告⚠ 警告

ultrawork 的 token 消耗量

長時間自動執行等比例消耗 token。依社群回報,Pro($20)每天約執行兩三次大型 ultrawork 即達上限; Max($100)是可日常使用的最低門檻。 先用 Plan mode 規劃,再開 ultrawork 執行,可節省約 40–60% 額度(社群估算)。

Substack / homeeconomics▲ 124

使用 /commit-push-pr 指令

Boris 推薦的 slash command:將 commit、push、開 PR 打包為單一指令。 設為 ultrawork 結束後自動執行,Claude 完成功能後會順帶建立 PR 並填寫說明。

X / TechDufus▲ 98

README 的 TL;DR 區段已足夠入門

oh-my-claude 作者在 README 中寫道:「Skip This README」。 初次使用只需記得在 prompt 加 ultraworkulw。 遇到具體問題時再查閱 README,不需要從頭讀完。

The bottleneck for agentic coding tools isn't usually the model's capability — it's the usage limits. MindStudio.ai, 2026,引述 Claude Code source code leak 分析
09
Chapter Nine — /workflows in Action

/workflows 的
串接用法

wshobson/commands 的主要用法是串接多個 workflow 與 tool,組成完整的執行流水線。

劇本一:完整新功能上線

claude // feature.shipping.pipeline
# Step 1: 從需求到實作 /workflows:feature-development real-time notifications with WebSockets, ultrawork # Step 2: 安全掃描 /tools:security-scan WebSocket implementation for OWASP Top 10 # Step 3: 效能優化 /workflows:performance-optimization WebSocket connection handling # Step 4: 部署準備 /tools:deploy-checklist notification service requirements # Step 5: K8s manifest /tools:k8s-manifest WebSocket service with session affinity ✓ 5 個步驟、5 個檔案產出,總耗時約 12 分鐘

劇本二:把老 monolith 拆成微服務

claude // legacy.modernize.pipeline
/workflows:legacy-modernize migrate Express monolith to microservices /tools:deps-audit check dependency vulnerabilities /tools:deps-upgrade update to latest stable versions /tools:refactor-clean remove deprecated patterns /tools:test-harness generate comprehensive test coverage /tools:docker-optimize create optimized container images /tools:k8s-manifest deploy with rolling update strategy

你應該用 workflow 還是 tool?

判斷面向用 /workflows用 /tools
問題複雜度跨領域、橫切多個系統單一領域、明確範圍
解法清晰度探索性、做法未定實作路徑已知
需要的代理人多位專家協作單一專長就夠
實作規模從頭到尾整個功能特定元件
典型耗時30–90 秒5–30 秒
10
Chapter Ten — Survival Guide

六個
常見問題與排查方法

安裝後常見的六個問題,附各自的排查與解決步驟。

坑 1:版本不同步,plugin 不更新

hardworker-marketplace 的 GitHub 文件特別點出: plugins/{plugin}/.claude-plugin/plugin.json.claude-plugin/marketplace.json 的版本號必須一致,否則 plugin 更新後不會生效。 解法:重新 install。/plugin uninstall/plugin install

坑 2:Worker 沒收到任務

teamwork 模式下,spawned 出來的 worker 如果都在 idle 不執行, 代表 orchestrator 沒透過 TaskCreateTaskUpdate(owner) 派工。 解法:/teamwork-status 檢查、確認 hooks.json 有註冊 TaskCompletedTeammateIdle

坑 3:Evidence collection 失敗

ultrawork verifier 報「missing evidence」但任務看起來完成了? 用 /ultrawork-evidence 檢查。evidence 必須包含 command、output、exit code。 Validator 會拒絕包含「should work」、「TODO」、「FIXME」等詞的交付物,不接受不完整實作。

坑 4:Skills 被靜默忽略

Claude Code 對 skill 描述總長度有限制(context 視窗的 ~1%–2%)。 如果你裝太多 plugin、skill 描述合計超過配額,會被無聲砍掉,但你不會收到錯誤訊息。 解法:SLASH_COMMAND_TOOL_CHAR_BUDGET 環境變數調高、或卸載重複功能的 plugin。 dev-skillsdev-workflows 系列不要同時裝多個。

坑 5:Auto mode 把你「不要 push」當耳邊風

v2.1.130 之前有個 bug:auto mode 會忽略你下的明確邊界(譬如「先不要 push」)。 v2.1.130 已修。所以請確認你的 Claude Code 至少在 v2.1.150 才是安全的claude --version 檢查一下。

坑 6:hook 沒觸發

如果 evidence 沒被收集、insight 沒被擷取、quality gate 沒擋下, 多半是 Bun 沒裝(bun --version 檢查),或 hooks/hooks.json 沒註冊。 手動測試:echo '{"session_id": "test"}' | bun hook-script.js 看回應。 跨平台時 hooks.json 裡明確寫 bun 前綴可避免 shell 差異。

給新手的最後一個忠告:先用「普通」Claude Code 工作 2–3 週, 把 CLAUDE.md、slash command、subagent 的基礎玩熟,跳進 ultrawork。 否則 plugin hook 的隱形行為容易造成混淆,表面上看起來是「Claude 行為異常」,實際上是 plugin 介入所致。

Anthropic 官方說明 Claude Code「intentionally low-level and unopinionated」。 基礎操作不熟悉就疊加外掛,只會放大不確定性。建議先把基礎用法練熟,再引入 ultrawork 等進階套件。