Coding Agent 實戰

Claude Code 進階究極手冊:官方完整技巧 × 大神實戰用法(2026 最新版・含舊指令勘誤)

這篇是把 Anthropic 官方《Claude Code 進階使用者技巧》逐條無遺漏整理,再疊上十位以上公認大神的真實工作流(每招都附原始出處),最後標出官方文件已經改掉、照舊教學會打到無效指令的地方。目標只有一個:讓你看完這一篇,就握有目前最完整、且最新最正確的 Claude Code 進階地圖。

全文分五部:A 心法(為什麼這樣用)→ B 官方核心技巧(原文 16 節全收)→ C 大神實戰(點名 + 招式 + 出處)→ D 社群工作流與避坑E 速查表。指令請以 code.claude.com/docs 為準——Claude Code 改版很快,本文已盡量對齊到 ~v2.1.19x。


本文大綱

Part A|心法:先懂「為什麼」,招式才用得對

1. 把 Claude Code 當「會自己驗證的工程隊」,不是自動補完

新手把 coding agent 當「更聰明的 Tab 補完」,於是一直盯著、一直手動修。進階者反過來:先給它一個能自己判斷對錯的環境,再放手讓它跑到對為止。官方《最佳實踐》把這列為第一準則,幾乎每位大神也獨立講了同一句話——這是整篇手冊最高槓桿的一招,後面所有技巧都是它的延伸。

2. 驗證迴圈(Validation)=品質的第一槓桿

只要 Claude 能自己驗證,它就會反覆迭代到正確;不能驗證,它只能賭一次。驗證在不同領域長得不一樣,但原理相同:

  • 後端/函式:跑 testsbuild、type-check、lint。
  • 前端/網頁:裝 Claude Code Chrome 擴充code.claude.com/docs/en/chrome),或用桌面版內建瀏覽器自動開測試伺服器——「如果你請工程師做網站卻不讓他開瀏覽器,成品會好看嗎?」
  • 改完隨手 /simplify:在任何 prompt 後面接 /simplify,它會平行開多個 agent 同時檢查「可重用性、品質、效率、是否符合 CLAUDE.md」。

大神共識:Mitchell Hashimoto 把整套方法稱為「harness engineering——修整環境,不是修整輸出」;給 agent 自我驗證的能力後「它十之八九會自己修好自己的錯」。Indragie、Cat Wu、Huntley 都把「自動化回饋迴圈」當成 agent 的核心工具。

3. 用最強模型 + 思考力,反而更快

官方團隊的數學:最大的模型 → 需要的來回更少 → 工具使用更準 → 整體更快,即使單次比較慢。實務控制有兩條:

  • 模型/model opus(或 /model best);長脈絡用 /model opus[1m](1M context)。
  • 思考力/Effort 等級/effort high|xhigh|max|auto(也可 --effort <level>effortLevel 設定)。日常用 high,複雜 agent 工作切 xhigh,最難的除錯/架構決策用 max
    • ⚠️ 勘誤:舊教學的「think / think hard / think harder」分級已不是有效關鍵字,現在只剩 ultrathink 仍被辨識;真正的旋鈕是 /effort。用 Option+T 切換是否常駐思考。

Part B|官方核心技巧(原文 16 節,逐條收錄)

4. 平行作戰:同時跑多個 Claude

agent 的真正生產力解鎖,是同時跑 3–5 個 session,各自關在獨立的 git worktree 互不污染。

claude --worktree                 # 在新 worktree 開 session
claude --worktree my_feature      # 指定名稱
claude --worktree --tmux          # 順便丟進自己的 tmux session
  • 非 git 版控:在 settings.json 定義 WorktreeCreate / WorktreeRemove hooks。
  • subagent 也能隔離:在 .claude/agents/ 的 agent 前言加 isolation: worktree。例:「把所有同步 IO 改成 async,分批啟動 10 個 worktree 隔離的平行 agent,每個都要端到端測試並開 PR。」
  • 大規模遷移用 /batch/batch migrate src/ from Solid to React,工作會分派給數十到數百個 worktree agent,各自獨立做、測、開 PR。
  • 實戰小技:幫 worktree 命名、設 shell alias(za/zb/zc)、終端分頁上色、開通知,才管得動多開的視窗。
  • 真正的工程在「避免衝突」:新 worktree 沒有 node_modules、沒有 gitignored 的 .env——
    • .claude/worktrees/ 加進 .gitignore(官方建議),用根目錄 .worktreeinclude(gitignore 語法)把 .env 等檔複製進每個 worktree;
    • 每個 agent 用不同 port/DBvite --port $((5173 + IDX))、各自 DATABASE_URL=…_featureX,否則多開會互撞;
    • node_modules 各自 install(最穩)或用 pnpm 內容定址 store。
  • 編排工具(懶得手刻就用):smtg-ai/claude-squad(tmux+worktree,brew install claude-squad)、devflowinc/uzi自動配 portuzi prompt --agents claude:2 "…")、coderabbitai/git-worktree-runner(postCreate 自動 npm install)、kbwo/ccmanager(免 tmux 的 TUI session 管理)。

5. 先計畫再動工:Plan Mode

複雜任務先進 plan mode(按 Shift+Tab 切換),把計畫打磨到能「一次過」再執行:

  1. 進 plan mode → 反覆精修計畫 → 切到 auto-accept edits → 執行。
  2. 雙 Claude 互審:一個寫計畫,另一個當資深工程師 review。
  3. 出問題立刻切回 plan mode 重新規劃,不要在執行中途硬拗。
  4. session 會自動命名,也可 claude --name "auth-refactor" 預設。
  5. 看計畫的好工具Ctrl+G 把計畫開進 $EDITOR 再決定是否放行。Boris Cherny 的口訣:「如果你能用一句話描述這個 diff,就跳過 plan。」

6. Prompt 心法:不接受第一版

  • 逼它更好:「在開 PR 前先問我這些改動,別等你測試過了才問」「證明給我看這真的能動(比較 main 與 feature 分支的行為)」「以你現在知道的一切,放棄這版、改用最優雅的解法重寫」。
  • 寫詳細 spec:交付前先把規格寫清楚,減少模糊空間。
  • /btw 問旁支問題:不打斷當前工作,單回合、不呼叫工具、但帶完整脈絡。例:/btw 這段 retry 邏輯在做什麼?

7. CLAUDE.md 與記憶系統:複利工程(Composite Engineering)

把每一次糾正變成所有未來 session 的永久改善——這是進階者與新手最大的差距。

  • CLAUDE.md:repo 根目錄一份、入 git、團隊共筆。/init 產生起手式;用「拿掉這行會不會讓 Claude 犯錯?」檢驗每一行的價值;關鍵指令加 IMPORTANT / YOU MUST 提升遵從度。
  • 犯錯就補一條:每次 Claude 出錯,結尾就說「把這個更新到你的 CLAUDE.md,別再犯」。Boris Cherny 本人「一週改好幾次、全部 commit 進 git」。
  • 記憶層級(由廣到精,全部疊加、不互相覆蓋):
    • 組織政策層(managed)→ 使用者層 ~/.claude/CLAUDE.md → 專案層 ./CLAUDE.md./.claude/CLAUDE.md → 本地層 ./CLAUDE.local.md(gitignored,仍完整支援)。
    • @path 匯入其他檔(最多 4 跳):See @README for overview and @package.json for npm commands.
  • PR 裡用 @claude 補規則:先 /install-github-app 裝 GitHub Action,之後在 PR 留言 nit: 用字面 union 不要用 ts enum @claude 把「永遠用字面 union、不要 enum」加進 CLAUDE.md
  • 自動記憶/memory 設定內建記憶系統,跨 session 自動存偏好/糾正/模式,寫到 ~/.claude/projects/<project>/memory/
    • ⚠️ 勘誤:舊教學的「# 一鍵加入記憶」在現行官方文件查不到;請用自然語言(「以後一律用 pnpm 不要 npm」)或 /memory 編輯。

8. 指令、Skills、Subagents

  • Skills 取代重複工作:一天做超過一次的事就做成 skill,放 .claude/skills/<name>/SKILL.md、入 git 共享。
    • ⚠️ 重大變動自訂 slash command 已與 Skills 合併——.claude/commands/x.md.claude/skills/x/SKILL.md 都會產生 /x(舊的 commands/ 仍可用)。
    • slash command 可內嵌 bash 預先算好資訊(如 !`git status`)省一次模型呼叫;需在 frontmatter 用 allowed-tools: Bash(...) 放行。
  • Subagents(.claude/agents/:每個 .md 一個專家,可設名稱/顏色/工具集/權限模式/模型。frontmatter 只有 namedescription 必填;description 寫「何時該派它」會驅動自動委派(加「use proactively」更容易被自動叫用)。
    • 自訂唯讀 agent 範例
      # .claude/agents/ReadOnly.md
      ---
      name: ReadOnly
      description: 只能用 Read 工具的唯讀 agent
      color: blue
      tools: Read
      ---
      你是唯讀 agent,不能改檔、不能跑 bash。
      

      claude --agent ReadOnly 啟動;/agents 互動管理(即時生效不必重啟)。

    • runtime 借力:在請求後面加「use sub-agents」把零碎工作丟給 subagent,保持主 agent 的 context 乾淨。
    • Code review agent 隊:PR 一開,自動派一隊 agent 各管一塊(邏輯錯誤、安全、效能回歸)貼 inline 評論。Anthropic 自家就是先為自己做這個——工程師產出暴增後,review 反而成了瓶頸。

9. Hooks:生命週期自動化

在 agent 生命週期的特定時點自動執行邏輯(直接叫 Claude「幫我加 hook」最快上手)。

事件 用途
SessionStart 每次啟動動態載入內容
PreToolUse 記錄每一條 bash 指令
PostToolUse 寫檔後自動 format,避免 CI 掛掉
PermissionRequest 把權限提示轉到 Slack/WhatsApp/Opus 審
Stop 對長任務跑確定性檢查,或叫 Claude 繼續
PreCompact / PostCompact 壓縮前後重新注入關鍵指令

PostToolUse 自動 format 範例(寫進 .claude/settings.json):

{
  "hooks": {
    "PostToolUse": [
      { "matcher": "Write|Edit",
        "hooks": [{ "type": "command", "command": "bun run format || true" }] }
    ]
  }
}

🆕 現行 hook 事件已大幅擴充(UserPromptSubmitSubagentStartPostToolUseFailureTaskCompleted…),handler type 除了 command 還有 httpprompt(用 Haiku 當 LLM 把關)、mcp_tool。退出碼 2=阻擋並把 stderr 餵回 Claude;/hooks 是唯讀檢視。

10. 權限與安全

  • /permissions 預先核可:把安全指令加白名單、入團隊 .claude/settings.json。這是「完全取代直接跳過權限」的建議做法——少打擾、可稽核。支援 wildcard:"Bash(bun run *)""Edit(/docs/**)"
    • 規則評估順序 deny → ask → allow,任何 scope 的 deny 都是最終決定。
  • Auto 模式claude --enable-auto-mode,分類器逐一評估操作,安全的自動放行、有風險的標記。開啟後 Shift+Tab 循環 default → acceptEdits → plan → auto
  • Sandbox/sandbox 啟用開源沙箱(檔案+網路隔離),三種模式(沙箱化 BashTool 自動放行/一般權限/無沙箱)。macOS 用 Seatbelt 免安裝;Linux/WSL2 需 bubblewrap+socat
  • 長時間無人值守:用 Stop hook 做確定性檢查,或在沙箱裡用 --permission-mode=dontAsk / --dangerously-skip-permissions 避免被卡住。
    • 想要 ralph 式「自動迴圈」但別自己刻 while 迴圈了——用官方 ralph-wiggum 外掛/ralph-loop "…完成時輸出 <promise>COMPLETE</promise>" --completion-promise "COMPLETE" --max-iterations 50務必設 --max-iterations),/cancel-ralph 停止。它在同一個 session 內靠 Stop hook 迴圈,比外部 while 安全。
    • 注意:Stop hook 連續被擋 8 次後 Claude Code 會強制收尾,不是無限保證。
    • ⚠️ 勘誤:權限模式現有六種(含 autodontAsk);bypassPermissions--dangerously-skip-permissions,非沙箱環境下以 root 執行會被擋。

11. 排程與重複任務

  • /loop(本地,最多 3 天)/loop 5m /babysit(自動處理 review/rebase/顧 PR)、/loop 30m /slack-feedback/loop 1h /pr-pruner
  • /schedule(雲端,關電腦也跑)/schedule 每天看昨天之後 ship 的所有 PR、據此更新文件,用 Slack MCP 把變更貼到 #docs-update
  • 把常用工作流做成 skill + loop,威力最大。

12. 行動與遠端遙控

  • 手機作業:下載 Claude app(iOS/Android)→ Code 分頁。iMessage 外掛:/plugin install imessage@claude-plugins-official,從任何 Apple 裝置丟任務。
  • 跨裝置接力claude --teleport/teleport 把雲端 session 接到本地;/remote-control 從手機/網頁控制本地 session;claude remote-control 從手機 app 起一個新的本地 session(Pro/Max/Team/Enterprise,CLI v2.1.51+)。在 /config 開「Enable remote control for all sessions」。
  • Claude Cowork:桌面版的安全遠端遙控(MCP+瀏覽器+電腦操作,皆受權限約束),適合人不在電腦前時清 Slack/email、管檔案。

13. 工具整合(MCP)

  • 接既有工具claude mcp addsettings.jsonmcpServers 區塊。三種傳輸:
    claude mcp add --env KEY=val airtable -- npx -y airtable-mcp-server          # stdio
    claude mcp add --transport http notion https://mcp.notion.com/mcp            # HTTP(建議)
    claude mcp add --transport sse asana https://mcp.asana.com/sse               # SSE(已淘汰)
    

    scope:--scope local(預設)/project(寫 .mcp.json、入 git、需核可)/user/mcp 觸發 OAuth。

  • 資料分析:叫 Claude 用 bq CLI 即時抓 BigQuery 指標——官方團隊「六個月沒手寫過一行 SQL」。任何有 CLI/MCP/API 的資料庫都適用。
  • 除錯:開 Slack MCP,把錯誤 thread 貼給 Claude 說「Fix」,零脈絡切換;或「去修掉失敗的 CI 測試」;分散式系統把它指到 docker logs
  • 實務最有用的幾個 server(確認各自 README 的套件名再自動化):
    Server 加進來能幹嘛 安裝
    Context7 版本鎖定的最新套件文件,根治「用過時 API」——CP 值最高 claude mcp add --transport http context7 https://mcp.context7.com/mcp
    Playwright 開真瀏覽器點擊/填表/截圖/E2E,讓 agent 自己驗前端 claude mcp add playwright -- npx -y @playwright/mcp@latest
    Chrome DevTools 看 network/console/效能 trace/Lighthouse claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
    GitHub issue/PR/CI/review claude mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer PAT"
    Sentry 真實 prod 錯誤 + 哪次部署引入的 claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
    Postgres(dbhub) 自然語言查 schema(用 read-only DSN claude mcp add db -- npx -y @bytebase/dbhub --dsn "postgresql://readonly:…"

    ⚠️ 安全:官方明講「連接前先確認你信任這個 server;會抓外部內容的 server 有 prompt injection 風險」。DB 用唯讀憑證、PAT 用細粒度權限、project scope 的 .mcp.json 首次使用會要你核可。

  • Plugins:打包 LSP+MCP+skills+agents+hooks,從官方 marketplace 或自架內部 marketplace 安裝;marketplace 設定入 settings.json 讓每位開發者自動裝。/plugin 開始。

14. 打造你的環境

  • 終端/terminal-setup 啟用 Shift+Enter 換行(VS Code/Warp/Alacritty,Apple Terminal 不支援);vim 鍵位在 /config → editor mode;官方團隊推 Ghostty(同步渲染、24-bit 色)。
  • 狀態列/顏色/鍵位/statusline.zshrc 產生自訂狀態列(顯示模型/目錄/剩餘 context/花費);/color 改輸入框顏色(多開時一眼分辨);/keybindings 重映任意鍵(即時生效,存 ~/.claude/keybindings.json)。
  • 語音輸入/voice 後按住空白鍵;macOS 任何終端按 fn 兩下用系統聽寫。官方團隊大半用講的——「比打字快約 3 倍、prompt 還更詳細」。
  • Output styles/config 設定。Explanatory(邊做邊解釋框架/模式,適合新 codebase)、Learning(帶你走過改動),也可自訂。
    • ⚠️ 勘誤/output-style 指令已於 v2.1.91 移除,改用 /configoutputStyle 設定。
  • settings.json 入 git:團隊共享數十個設定/環境變數(用 "env" 欄位免寫包裝腳本)。支援逐 codebase/逐子目錄/逐使用者/全企業政策。

15. SDK 與多 repo

  • --bare 加速約 10×claude -p(SDK)預設會搜尋本地 CLAUDE.md/設定/MCP;非互動用途明確指定 --system-prompt/--mcp-config/--settings 並加 --bare,跳過自動探索、CI 可重現。
    claude -p "summarize this codebase" --output-format=stream-json --verbose --bare
    

    官方說 --bare 未來會變成 -p 的預設。

  • --add-dir 跨 repo--add-dir/add-dir 給 Claude 存取其他資料夾;或 settings.jsonadditionalDirectories 永遠帶上。
  • 分叉 session:⚠️ 勘誤——舊教學的 /branch 不存在,正解是 claude --continue --fork-session(或 --resume <id> --fork-session)。
  • 雲端環境 setup script:Web/Desktop 版可在每個新雲端 session 前跑 setup script(裝相依、設環境變數);resume 時略過。
  • ⚠️ 勘誤:「Claude Code SDK」已改名 Claude Agent SDK@anthropic-ai/claude-agent-sdk / pip install claude-agent-sdk)。

16. 成本優化(進階者的省 token 心法)

  • 模型分層:日常 Sonnet、規劃/硬問題 Opus、機械性子任務 Haiku。建議流程:/model opus 在 plan mode 規劃 → /model sonnet 執行;subagent 設 model: haiku 做便宜的結構化工作。
  • 善用 prompt caching(自動):system prompt + CLAUDE.md + 穩定前綴會被快取,命中時極省。保持 context 穩定才不會洗掉快取——中途改 CLAUDE.md、切模型、開關 MCP server 都會讓那一點之後的快取失效。快取 TTL 約 5 分鐘,連續對話最划算。
  • 思考是最大花費旋鈕:thinking token 以最貴的 output token 計價、預設預算可達數萬。簡單工作就用 /effort 調低、或 /config thinking=false、或 MAX_THINKING_TOKENS=8000
  • 別讓 token 白燒:任務間 /clear(過時 context 每則訊息都重新計費)、/compact "聚焦 X"、CLAUDE.md 控制在 ~200 行內、/context 看誰在吃 context、/mcp 關掉沒用的 server、能用 CLI 就別用 MCP、把冗長操作丟給 subagent、prompt 要具體(「在 auth.ts 的 login 加驗證」勝過「改善這個 codebase」)。
  • 追蹤花費/usage(額度/限流)、/context,外部用 npx ccusage@latest(日/週/月/session 報表)。Max/Pro 訂閱者吃到飽,/usage 的金額對你無意義。

Part C|大神實戰:他們真正怎麼用(點名 × 招式 × 出處)

以下每招都取自當事人自己的部落格/演講/repo/commit。連結列在每段末。

Boris Cherny — Claude Code 作者

官方《最佳實踐》的作者,本人日常「5 個 Claude 跑終端、另外 5–10 個跑 claude.ai/code,設定意外地樸素」。核心四招:Explore → Plan → Implement → Commit給 Claude 驗證的方法(測試/build/截圖);CLAUDE.md 當錯誤修正簿(「每次它犯錯,我就叫它寫進 CLAUDE.md」,一週改好幾次入 git);/permissions 預核可取代 --dangerously-skip-permissions,並自製 /commit-push-pr 一天用幾十次。「一天做超過一次的事,就做成 skill 或 command。
 出處:code.claude.com/docs/en/best-practices、x.com/bcherny。

Anthropic 內部團隊(官方)

資料團隊把儀表板截圖貼進 Claude Code 危機除錯(菜單級定位 K8s pod IP 耗盡並給出確切 gcloud 指令);設計團隊餵 Figma 檔、設自動迴圈(寫→測→迭代);安全團隊餵 stack trace + docs 追控制流(快約 3 倍)。
 出處:claude.com/blog/how-anthropic-teams-use-claude-code

Simon Willison — Django/Datasette 作者

Playwright MCP 開場就註冊:claude mcp add playwright npx '@playwright/mcp@latest'(第一句 prompt 要明講「playwright mcp」否則它會去用 Bash);要 HTML 不要 Markdown(能放 SVG 圖、互動小工具);新工具走 README 驅動開發 + 紅綠 TDD;用 --dangerously-skip-permissions(YOLO)但關進 Docker 沙箱;丟失的平行 session 可從 ~/.claude/projects/ 的 transcript 救回。
 出處:simonwillison.net/tags/claude-code/til.simonwillison.net/claude-code

Armin Ronacher(mitsuhiko)— Flask/Jinja2 作者

Sonnet(非 Opus)+ claude --dangerously-skip-permissions 別名 claude-yolo + Docker選對 agent 友善的技術棧(Go 後端、純 SQL 走 psql 不用 ORM、長函式名不用繼承);快工具藏在 Makefile 後、永遠 log 到檔make tail-log 把日誌餵給 agent);最關鍵的一句——「Code is all you need:與其裝 MCP,不如叫 agent 寫一個可重用腳本,之後再跑幾乎零推論成本」。
 出處:lucumr.pocoo.org/2025/6/12/agentic-coding//2025/8/18/code-mcps/

Geoffrey Huntley — 發明「ralph」自動迴圈

最有名的一行:while :; do cat PROMPT.md | claude-code ; done——每圈都是乾淨脈絡的全新 agent,只有磁碟狀態存活。原則「One thing per loop. Only one thing.」;磁碟固定佈局(PROMPT.md@specs/fix_plan.mdAGENTS.md);多 subagent 平行讀搜、但只用 1 個 subagent 跑 build/測試控制反壓;context 利用率「smart zone」40–60%。他也用 ~300 行 Go 教你「自己寫一個 coding agent」。
 出處:ghuntley.com/ralph/ghuntley.com/agent/

Thorsten Ball — Amp(Sourcegraph);《How to Build an Agent》

一個 agent = 一個 LLM + 一個迴圈 + 足夠的 token,不到 400 行 Go」;三個工具(read_file/list_files/edit_file)就能讓它會寫程式;用 git staging area 當檢查點(叫它 git diff 自審再 commit);小 thread、context 衛生(「Sonnet 超過 10 萬 token 就開始模糊」每個任務開新 thread)。
 出處:ampcode.com/notes/how-to-build-an-agent

Peter Steinberger(steipete)— PSPDFKit 作者;agent-rules

main 上開 ~4 個 agent(worktree 反而拖慢他)、3840×1620 螢幕一眼看完 4 個 Claude + Chrome;砍掉所有 MCP 讓 Claude 直接讀 code——「多數 MCP 其實該是 CLI」(GitHub MCP ~23k token vs gh = 0,例外是 chrome-devtools-mcp);CLAUDE.md「是地圖不是手冊」;語音優先(Wispr Flow)+ 約一半 prompt 配拖進來的截圖。
 出處:steipete.me/posts/commanding-your-claude-code-armygithub.com/steipete/agent-rules

Indragie Karunaratne — 用 Claude Code 寫了 95% 的 macOS app「Context」

這是 context engineering,不是 prompt engineering——用有限的 context token 產出最高品質」;動工前先 prime(「讀這些檔、讀這份 docs、總結你學到什麼」)再配 ultrathinkswift build+swift test 接成 agent 的自我驗證工具;接受壓縮是有損的,所以靠 priming 前置脈絡而非信任 compaction。
 出處:indragie.com/blog/i-shipped-a-macos-app-built-entirely-by-claude-code

Mitchell Hashimoto — Ghostty 作者、HashiCorp 共同創辦人

Harness engineering——修整環境不是修整輸出」三槓桿:AGENTS.md(每行都源自一個壞行為)、給 agent 自我驗證的方法、自製程式化工具(截圖腳本、過濾測試);規劃與執行分開自己當架構師(界定資料流與狀態位置,「像有護欄的保齡球道」);關掉 agent 桌面通知(「何時打斷是我這個人的工作」);每天最後 30 分鐘啟動隔夜 agent。
 出處:mitchellh.com/writing/my-ai-adoption-journey

Kenton Varda — Cloudflare;用 Claude 寫出 workers-oauth-provider

精華是他的 commit 歷史=prompt 序列:每個 commit 一個單一目的提示(「請 Claude 寫一個 OAuth provider」→「叫 Claude 改用 WebCrypto」→「叫 Claude 把 props 加密存」→「叫 Claude 修自己的 bug」),判斷性工作(key-wrapping 格式、錯誤處理收尾)他自己手動 commit。刻意全寫進單一檔(~4,600 行)方便安全審查AGENTS.md 釘住「永遠查最新發布版 MCP 規格、別用草稿」。
 出處:github.com/cloudflare/workers-oauth-provider(commit 歷史)。

Cat Wu + Boris Cherny — Claude Code 產品負責人

自訂指令串起重複工作流:/feature-dev(問需求→寫規格→詳細計畫→to-do→逐步做)、/commit/code-reviewplan mode 讓成功率翻倍到三倍平行 subagent 做 review/遷移(一個查風格、一個看歷史、一個抓 bug,再派更多 subagent 去挑戰前一批的發現);共享 settings.json 入 repoStop hook 逼它收尾(跑測試、要它修完才返回)。
 出處:every.to/podcast/how-to-use-claude-code-like-the-people-who-built-it

大神共識(幾乎人人獨立講到的核心)

  1. Context 是最稀缺資源——積極 /clear、用 subagent 保持主視窗乾淨、CLAUDE.md/AGENTS.md 維持精簡。
  2. 給 agent 自我驗證的方法——測試/build/截圖迴圈,是單一最高槓桿。
  3. 規劃與執行分開——plan/spec 先行,再在乾淨脈絡實作。
  4. CLI 優於 MCP——gh/psql/vercel 比 MCP server 省 context。
  5. CLAUDE.md/AGENTS.md 當「活的錯誤簿」——每犯一次錯就補一條規則。
  6. 平行多開——worktree 或編號終端,~4–5 個是實務甜蜜點。
  7. 一個 agent 不過是「300–400 行的迴圈」——理解它,你就不會迷信它。

Part D|社群工作流與避坑

值得抄的社群資源庫

  • awesome-claude-codehesreallyhim/awesome-claude-code):最權威的彙整索引(Skills/Subagents/Hooks/Slash-Commands/Status Lines/CLAUDE.md 範例)。
  • claude-code-cookbookwasabeef/claude-code-cookbook):39 個 slash command(/pr-review/refactor/tech-debt/semantic-commit…)+ 專家角色 subagent,/plugin marketplace add wasabeef/claude-code-cookbook 一鍵裝。
  • claude-code-templatesdavila7/...,aitmpl.com):npx claude-code-templates@latest 裝 Agents/Commands/MCPs/Hooks/Skills,附 --analytics 儀表板。
  • ccusagenpx ccusage@latest):本地 token/花費報表(日/週/月/session)。
  • ccmanager:跨 git worktree 的 TUI session 管理(免 tmux)。
  • 官方:anthropics/claude-cookbooks(API/SDK 食譜)、anthropics/claude-quickstarts(autonomous-coding 起手式)。

最有用的幾個 MCP server(實務)

  • playwright / chrome-devtools:讓 agent 自己截圖、自己驗前端。
  • context7:抓最新套件文件,避免它用過時 API。
  • github / sentry:PR、issue、錯誤追蹤接進來,「貼 thread 說 Fix」。
  • 但記住大神警語:能用 CLI 就別裝 MCP(context 成本差很多)。

常見錯誤與反模式(避坑)

  1. 放任 context 腐化:塞太多、不 /clear、CLAUDE.md 又臭又長。修法:兩次糾正失敗就 /clear;用 subagent 隔離雜訊。
  2. 給模糊大 prompt 又不給驗證:它只能賭。修法:先 plan、給 spec、接上測試。
  3. 過度信任、不審 diff:尤其安全/金流。Kenton Varda 連 AI 寫的 OAuth 都「每行人工 review + 對照 RFC」。
  4. 濫用 --dangerously-skip-permissions:請務必配沙箱/Docker(Simon、Armin 都這樣)。非沙箱 root 直接被擋是有原因的。
  5. Prompt injection 風險:來自網頁/MCP/issue 的內容可能挾帶指令。用 PermissionRequest hook 把敏感操作轉人工/Opus 審;限制 WebFetch(domain:...) 白名單。
  6. 把祕密 commit 進去deny: ["Read(./.env)"]、別讓它讀/貼憑證;sandbox 的 credentials 可擋環境變數。
  7. 以為 /rewind 是 Git:checkpoint 只追蹤 Claude 直接改的檔,bash rm/手動改/其他 session 都不算。重要工作照樣 commit。
  8. 點權限點到麻木:官方原話「按到第十個核可,你已經不是在 review、只是在連點」。所以才要 /permissions 白名單 + 沙箱,而不是無腦放行。

安全:agentic coding 的真實事故與防線(這段請務必看)

進階用法的風險不是理論。記住 Simon Willison 的「致命三角(lethal trifecta)」:當 ① 能存取私密資料、② 接觸到不可信內容、③ 有對外傳輸能力,三者同時成立,資料就可能被偷——因為「LLM 無法可靠地依來源判斷指令該不該聽」。防線是結構性的:別讓三者並存,一旦不可信輸入進來,就限制 agent 不能做有後果的動作。

真實案例(都已公開):

  • GitHub MCP 越權竊取(Invariant Labs, 2025/5):一個惡意公開 issue 注入指令,一個帶寬鬆 PAT、被叫去「看我的 open issues」的 agent,被誘導去讀私有 repo 並外洩。不是 server 的 bug,是「過寬 token + 不可信內容 + 外傳路徑」的教科書三角。解法:最小權限、逐 repo scope 的 token
  • Nx「s1ngularity」供應鏈攻擊(2025/8, CVE-2025-10894)——史上第一個把 AI CLI 當武器的惡意程式:CI 被攻陷後,payload 直接呼叫已安裝的 AI CLI 並帶上 bypass 旗標claude --dangerously-skip-permissions -pgemini --yolo…)去遞迴掃描錢包/SSH/.env/憑證。教訓血淋淋:你圖方便的 bypass 旗標,就是攻擊者的 API
  • --dangerously-skip-permissions 的經典慘案(2025/10):Claude Code 從 / 跑了 rm -rf、毀掉開發者的家目錄。社群共識:要嘛關進 container,要嘛別用。連 Anthropic 自家 16 平行 agent 的示範都標註「請在 container 跑,不要在你真的機器上」。較安全的中間地帶:--permission-mode auto(分類器擋危險動作)、/sandbox(OS 層檔案/網路隔離)。

防身清單(跨來源共識):打破致命三角;任何自動跑都進 container/sandbox(--dangerously-skip-permissions 只在拋棄式容器用);token 最小權限、短時效;--allowedTools 白名單;網路出口管制;絕不 commit 祕密deny: ["Read(./.env)"]);連 MCP server 與 npm 相依都要審;CI 的 pull_request_target 要加固;把 clone 來的 repo 裡的 .claude/ 設定與 hook 當成不可信程式碼(有一類漏洞是在你按「信任」對話框之前就執行的),並保持 Claude Code 更新。


Part E|速查表 & 延伸資源

指令速查

領域 關鍵指令
平行 claude --worktree--tmux/batch、subagent isolation: worktree
規劃 Shift+Tab(plan mode)、/effort maxCtrl+Gclaude --name
記憶 CLAUDE.md@path 匯入、/memory、PR 裡 @claude
驗證 Chrome 擴充、/simplify、桌面內建瀏覽器
自動化 .claude/skills/.claude/agents/--agent、「use sub-agents」
Hooks PostToolUseStopPreCompactPermissionRequest
權限 /permissions(wildcard)、--enable-auto-mode/sandbox
排程 /loop(本地)、/schedule(雲端)
遠端 --teleport/remote-control、手機 app、iMessage 外掛
客製 /statusline/color/voice/keybindings/config
SDK/多 repo claude -p --bare--add-dir--fork-session
看花費 /usage(headless:--output-format jsontotal_cost_usd

已變動 / 易踩雷的舊指令(勘誤總表)

舊講法 現況
/branch ❌ 不存在 → claude --continue --fork-session
/output-style 指令 ❌ 移除 → /configoutputStyle 設定
/cost /usage
think / think hard / think harder ⚠️ 只剩 ultrathink;改用 /effort
CLAUDE.md # 一鍵加入 ⚠️ 官方查不到 → 自然語言或 /memory
slash command $1=第一個參數 ⚠️ 改 0-based($1=第二個)
「Claude Code SDK」 → 「Claude Agent SDK」
自訂 command 與 Skills 分家 🆕 已合併

延伸資源(官方)

  • 最佳實踐:code.claude.com/docs/en/best-practices
  • Hooks:code.claude.com/docs/en/hooks
  • Subagents:code.claude.com/docs/en/sub-agents
  • Skills:code.claude.com/docs/en/skills
  • MCP:code.claude.com/docs/en/mcp
  • 排程任務:code.claude.com/docs/en/scheduled-tasks

最後提醒:Claude Code 改版頻繁,內部分享前請以 code.claude.com/docs 的最新版本為準。把這篇當地圖,把官方 docs 當即時路況。


本文由 DataAgent 整理:官方《進階使用者技巧》全收錄 + 十位以上大神實戰用法 + 最新勘誤。覺得有用,歡迎收藏轉給還在「一個 prompt 盯到死」的隊友。

— DataAgent · Coding Agent 實戰教學

發表迴響

%d 位部落客按了讚: