Claude Code 是 Anthropic 官方的 CLI 代理。可以直接從終端機呼叫 Claude,從程式碼產生、編輯、除錯、Git 操作到專案管理,一氣呵成。

本文整理了截至 2026 年 4 月的全部功能(按類別),並介紹「意外不為人知的 10 大實用功能」。

本文針對 Claude Code v2.1.x 系(2026 年 4 月時點)。部分功能可能隨版本不同而不可用。


意外不為人知的 10 大實用功能

意外不為人知的10大實用功能

精選 10 個常被使用者忽略,但能顯著提升日常工作效率的功能。只要納入工作流程,就能改變作業速度與品質。

1. /btw — 不污染主要語境的側邊問題

在長時間實作過程中,常會冒出「順手的小問題」。一般提問會加入會話歷史、膨脹主語境,但使用 /btw 可以不污染主語境地問側邊問題。

範例:

/btw TypeScript 中 Record 型別與 Map 型別的使用時機為何?
/btw 這個錯誤 "ECONNREFUSED" 可能的原因有哪些?

/btw 在回答時會共享目前的語境(開啟的檔案或最近的討論),因此能給出貼近上下文的精準答案。由於重用 prompt 快取,額外的 token 成本也被降到最低。

與子代理(sub-agent)做區分能讓使用更順暢。比較如下:

特性 /btw 子代理
上下文 共享目前語境 空 / 獨立語境
工具使用 可用(檔案讀寫等)
適合用途 概念確認、用語釐清 重度調查、跨檔案實作

2. Ctrl+S — 提示草稿存放(stash)

在撰寫長 prompt 時,常會想先切換去確認別的事。按 Ctrl+S 可將正在編寫的提示詞暫存(stash)。

流程範例:

# 作業流程
1. 正在輸入長指示...
2. Ctrl+S 將下書存入暫存
3. 中斷去問其他問題
4. 收到回答
5. 草稿自動回復 → 從上次位置繼續輸入

這與 Git 的 git stash 概念相同。中斷結束後,下書會自動回來,不必費心回想「剛寫到哪裡」。

3. # 文字 — 當場將備註永久寫入 auto-memory

工作時想到「這個規則以後都要遵守」,可以直接把備註存到專案記憶(project memory),不中斷工作流程。

範例:

# 測試必須用 jest
# API 回應請統一為 snake_case
# 環境變數放在 .env.local

只要以 # 開頭輸入,會被存到 auto-memory(路徑為 .claude/projects/<project>/memory/)。這不是直接寫入 CLAUDE.md,而是由 Claude 自動管理的記憶區。

不過以 # 為前綴的記憶寫入方式正逐漸被取代。現在建議改用直接對 Claude 說「請記住這件事」或使用 /memory 指令來管理。

在團隊開發中,若在當下把新決定的程式規範或架構判斷記下來,下一次的 session 裡 Claude 就能提供一致的建議。

4. /loop — 本機定期執行(最長 3 天)

可指定 prompt 或 slash 指令,以固定間隔重複執行:

/loop 5m npm test            # 每 5 分鐘執行一次測試
/loop 30m /security-review   # 每 30 分鐘做一次安全檢查
/loop 1h git log --oneline -5  # 每小時檢查最近的提交

每次迭代在獨立語境中執行,不會被上一次結果影響。預設間隔為 10 分鐘,最長可維持 3 天。

/loop 在本機運行,電腦進入睡眠會停止。若需要與機器無關的持續定期任務,請使用 /schedule(在雲端運行)。

5. ! 指令 — 直接在 Shell 執行(不經過 Claude 推論)

在命令前加 !,可直接執行 shell 指令,不經過 Claude 的推論處理。

!git status                # 確認 staging 狀態
!git log --oneline -10     # 最近的提交清單
!ls -la src/               # 檢視目錄結構
!cat package.json | jq .version  # 確認版本

若讓 Claude 去執行 git status,會先由 Claude 解析內容再執行工具;用 ! 則跳過這個推論步驟,能立即看到結果。

命令輸出會包含在會話語境中,因此並非完全零 token 成本。建議避免產生大量輸出的命令。

建議的使用方式是:用 ! 執行「僅需查看」的命令;需要判斷或修改的工作則交由 Claude 處理。

6. Ctrl+B — 背景執行

當 Claude 在做長時間處理(例如執行大量測試、進行大規模重構)時,按 Ctrl+B 可將該處理移到背景執行。

流程範例:

# 作業流程
1. 指示「執行所有測試」
2. Claude 開始執行測試
3. 按 Ctrl+B 將任務移到背景
4. 進行其他詢問或工作
5. 收到測試完成通知

主提示列會立即清空,讓你無需等待即可繼續其他工作。按 Ctrl+T 可列出背景任務與其進度。

7. --bare — 輕量模式(跳過 hooks、快速啟動)

此模式會跳過所有初始化處理(hooks、LSP、外掛同步、skill 掃描、auto-memory、CLAUDE.md 自動偵測、鑰匙串讀取等),可達到最快啟動速度。

範例使用情境:

# CI/CD pipeline 範例
claude --bare -p "這個 diff 有安全性問題嗎?" < diff.patch

# 從 shell script 呼叫的例子
result=$(claude --bare -p "把這個函式名稱轉為 snake_case: getUserName" --output-format json)

# 與管道結合做程式碼審查
git diff HEAD~1 | claude --bare -p "請審查此 diff" --max-turns 5

由於省略了啟動時的初始化步驟,單次執行的體感速度會明顯提升。常和 -p(非互動模式)及 --output-format json 結合,用於自動化流程。

8. /rewind(連按 ESC×2)— 還原變更

可以還原 Claude 剛剛做出的最近一次檔案變更,回到變更前的狀態。

範例流程:

# 作業流程
1. 指示「把認證邏輯重構」
2. Claude 修改了多個檔案
3. 檢查結果 → 覺得「有點不對」
4. 執行 /rewind(或連按 ESC 兩次)
5. 回復到變更前的狀態
6. 修正指示並重新嘗試

這讓你能放心採用「先試再回退」的實驗性做法。在 commit 前,隨時都能重試並迭代。

9. Ctrl+G — 用 $EDITOR 編輯提示詞

可以在你系統上設定的外部編輯器(如 Vim、Neovim、VS Code)中開啟當前輸入的 prompt。

範例:

# 事前設定 $EDITOR
export EDITOR=nvim        # 使用 Neovim
export EDITOR="code --wait"  # 使用 VS Code

在終端的一行輸入不易撰寫長文本或多步驟指示時,使用熟悉的編輯器(語法高亮、補完)會更舒適。編輯器儲存並關閉後,內容會當作提示詞送出。

10. Sparse worktree — 加速大型 monorepo 的啟動

在大型 monorepo 中,Claude Code 啟動時若要讀取全部檔案會很慢。可透過 worktree.sparsePaths 設定,僅載入必要路徑。

settings.json 範例:

{
  "worktree": {
    "sparsePaths": [
      "packages/my-service",
      "shared/utils"
    ]
  }
}

內部採用 git sparse-checkout(cone 模式),只會 checkout 指定的目錄。要指定目錄路徑(非 glob pattern)。即便是數百個套件的 monorepo,只要只讀取負責的服務,啟動速度會明顯變快。


以下為按類別整理的完整功能參考。

鍵盤快速鍵

鍵盤快速鍵

輸入/編輯類

Ctrl+S — 提示草稿存放

將正在撰寫的提示詞暫存(stash)。中斷後會自動復原草稿。

Ctrl+G — 用 $EDITOR 編輯提示詞

在外部編輯器中開啟當前提示詞,寫長文件或多步驟指示時很方便。

\ + Enter — 多行輸入

在行尾放 \ 再按 Enter 可以換行。Option+Enter / Shift+Enter / Ctrl+J 也通用,但最保險的是 \ + Enter

Ctrl+R — 反向搜尋命令歷史

可以增量搜尋過去輸入的提示詞,操作感與 shell 的 Ctrl+R 類似。重複按 Ctrl+R 可依序往回找較舊的匹配項。

執行控制類

Ctrl+B — 背景執行

將目前處理移到背景,例如跑測試或 build。

Ctrl+C — 中斷回應(session 繼續)

立即停止 Claude 的輸出,但會話本身不會結束。與 Ctrl+D/exit 不同,僅中斷當前回應。

Ctrl+F ×2 — 停止所有背景子代理

在 3 秒內連按 2 次可強制終止所有正在運作的背景子代理,作為緊急停止用。

顯示/切換類

Ctrl+T — 切換任務列表顯示

在多個子代理並行時,可檢視進度清單。即便跨越 /compact,任務仍會保留。

Ctrl+O — 轉錄檢視器(Transcript Viewer)

以轉錄形式顯示當前 session 的全部日誌,可回顧 Claude 讀了哪些檔案、做了哪些判斷。

Shift+Tab — 依序切換權限模式

循環切換:defaultacceptEditsautoplan

模式說明:

  • default:僅讀取自動允許,寫入需逐次確認
  • acceptEdits:自動允許檔案編輯,指令執行需確認
  • auto:AI 分類器自動允許安全操作,危險操作會被阻擋
  • plan:僅提供計畫,執行需批准

Option+T / Alt+T — Extended Thinking 切換

可在 session 中隨時開啟/關閉擴展思考模式。遇到複雜設計或深度除錯想要 Claude 更深入思考時開啟,做簡單任務時關閉以節省成本。

Option+P / Alt+P — 模型選擇器

可即時在 Opus、Sonnet、Haiku 間切換。簡單問題用 Haiku、複雜實作用 Opus,可依任務重量來調整成本。

快捷鍵一覽

  • Ctrl+S — 提示草稿存放(輸入)
  • Ctrl+G — 用 $EDITOR 編輯提示詞(輸入)
  • \ + Enter — 多行輸入(輸入)
  • Ctrl+R — 命令歷史反向搜尋(輸入)
  • Ctrl+B — 背景執行(執行控制)
  • Ctrl+C — 中斷回應(執行控制)
  • Ctrl+F ×2 — 停止所有背景子代理(執行控制)
  • Ctrl+T — 切換任務列表顯示(顯示)
  • Ctrl+O — 轉錄檢視器(顯示)
  • Shift+Tab — 權限模式切換(切換)
  • Option+T / Alt+T — Extended Thinking 切換(切換)
  • Option+P / Alt+P — 模型選擇器(切換)

Slash 指令(斜線指令)

Slash 指令

Session 管理

/compact [指示] — 將對話摘要壓縮後繼續

當對話過長、上下文視窗接近上限時,先嘗試 /compact 而不是直接清除 /clear/compact 會用摘要取代對話內容並繼續。

/compact                          # 將全部摘要
/compact 只保留與 auth 有關的討論    # 只聚焦特定議題
/compact 只保留實作方針的結論        # 僅保留決定事項

可用 /context 檢查上下文使用量,建議在達到約 80% 時執行 /compact

/clear — 完全重置對話歷史

會保留檔案變更,但會清除所有會話語境。通常在要切換到全新任務前使用。

/resume — 繼續會話

不帶參數會列出過去的 session,選擇後可繼續。

/resume

CLI 也提供旗標來重開 session:

claude -c               # 繼續最新的 session
claude -r "auth 改修"   # 以名稱指定並重新開啟

/rename <名稱> — 為 session 命名

/rename auth-refactor
/rename 修 bug - 登入頁面

當同時開多個 session 時,取有意義的名稱能讓 /resume 更好辨識。

/color <顏色> — 變更提示列顏色

/color red
/color blue

若同時開多個終端視窗,可以用顏色區分視窗用途。與 /rename 搭配使用效果更佳。

/context — 顯示上下文使用量圖表

可視化當前 token 消耗,作為決定是否執行 /compact 的參考依據。

/export [檔名] — 將對話輸出到檔案

/export debug-session.txt

把問題解決過程存成文字檔,做故障排查記錄或與團隊分享用。

執行控制

/plan — 實作前制定計畫並等待批准

/plan 將認證系統從 JWT 移轉到 OAuth

Claude 會提出實作方針並停下來等待你確認。先確認/修正計畫再批准進入實作,能避免直接開始碼程式導致迷失方向。

/effort [low/medium/high/max] — 調整推理深度

/effort low      # 校正 typo、簡單問題
/effort medium   # 一般實作(預設)
/effort high     # 複雜設計抉擇
/effort max      # 架構層級的深度推理

也可以透過環境變數 CLAUDE_CODE_EFFORT_LEVEL 固定預設值。

/btw <問題> — 側邊問題

已在前述 Top10 中介紹。用於不污染主語境、但共享上下文的輕量問題。

/loop [間隔] <指令> — 本機定期執行

已在 Top10 中介紹。可指定 prompt 或 slash 指令定時重複。

/schedule — 雲端排程執行

在 Anthropic 的雲端執行,電腦關機也會持續執行。

/schedule "每天早上 9 點在 main branch 執行測試並把結果通知 Slack"

/loop 的差別在於執行環境:/loop 在本機(最多 3 天),/schedule 在雲端(長期持續)。

/rewind — 還原最近的檔案變更

已在 Top10 介紹。也可連按 ESC 兩次執行相同動作。

程式碼審查與品質

/simplify — 三代理並行程式碼審查

會從「程式碼重用」「品質」「效率」三個觀點,由三個獨立代理並行審查。若發現問題,會自動進行修正。

/simplify   # 審查最近的變更

作為 PR 建立前的品質門檻,可顯著提升自我審查的效果。

/batch <指示> — 大規模並行變更

在平行 worktree 中針對大量檔案套用重複性變更,並自動建立 PR。

/batch 為所有 API endpoint 新增速率限制
/batch 為所有元件新增 aria-label

在需對大量檔案應用相同模式時非常有效。每個變更在獨立 worktree 中執行,失敗不會影響其他變更。

/security-review — 安全掃描

對變更內容進行資料流分析,檢測潛在弱點。會檢查 XSS、SQL 注入、認證繞過等常見脆弱性模式。

/diff — 檢視 session 內的差異

以 git diff 格式顯示 Claude 在本 session 中所做的變更,適合在 commit 前做最後確認。

/pr-comments [PR號碼] — 匯入 GitHub PR 評論

/pr-comments 142

會把 GitHub PR 的審查評論讀入 session,讓你把審查指摘交給 Claude 修正,整個流程可一氣呵成。

Git 操作與會話分支

/commit/commit-push-pr 並非 built-in command,而是以 bundled skill 的形式提供。可以透過 / 呼叫,但內部以 markdown-based skill 實現。

/branch — 會話分支

/branch my-experiment

把目前的會話分支成新的獨立 session(別名 /fork)。注意:這是會話歷史的分支,不是 Git branch。適合想嘗試某個方針,但失敗時想回到原本狀態的情境。

/commit — 自動產生 commit message 並 commit

分析變更內容後自動產生適當的 commit 訊息並執行 commit。

/commit-push-pr — 從 commit 到 PR 建立一鍵完成

會執行 commit → push → 建立 PR。commit 訊息與 PR 的標題、內文會自動生成。

設定與診斷

/config — 以互動式方式變更設定

以選單形式修改模型、語音、記憶、提示候補等,無需直接編輯 JSON。

/status — 檢視當前設定狀態

列出目前使用的模型、權限模式、連線的 MCP 伺服器、工具狀態等。與 /doctor 的差別是 /status 不會執行診斷測試。

/cost — 檢查 token 消耗(對 API 使用者)

顯示本 session 消耗的 token 數與對應成本。

/stats — 使用統計(Pro/Max 用戶)

顯示訂閱方案下的使用統計資料。

/insights — 分析 session 使用趨勢

從過去的 session 中分析你使用 Claude Code 的習慣,如等待時間與實際工作時間的比率,幫助找出浪費時間的習慣。

/doctor — 安裝診斷

檢查環境問題、鍵盤映射警告、MCP 伺服器狀態等。若遇到異常,先執行此指令檢查。

/memory — 以互動方式編輯 CLAUDE.md

可在 UI 上直接編輯 CLAUDE.md。配合 # 前綴的 auto-memory 使用效率更高。

/init — 自動產生 CLAUDE.md

cd my-new-project
claude
/init

在新專案根目錄執行會掃描程式碼庫,自動抽出 build 指令、測試流程與程式規範,並生成 CLAUDE.md。

/vim — Vim 鍵綁定輸入模式

在提示輸入中啟用 Vim 操作(normal/insert 切換、h/j/k/l 移動、d/c/y 操作、文字物件)。

/voice — 語音輸入

使用 push-to-talk 模式支援 20 種語言(含日文)。對技術詞彙(專案名、OAuth、JSON 等)的辨識也有所改進。

外部整合

/teleport — 裝置間會話轉移

可把在 PC 上的 session 轉到手機或平板繼續操作。適合外出時檢視或移動中做簡易審查。

/remote-control/rc)— 從 claude.ai 遠端操作

可從瀏覽器(claude.ai)監控並操作本機的 Claude Code session。

/rc    # 啟用遠端控制

即便無法直接開終端,也能透過瀏覽器檢視並下指令。

/chrome — 設定 Chrome 整合

設定 Claude in Chrome 的連動後,便可從 Claude Code 指示 Web 應用進行測試、Console 除錯、表單操作與資料擷取等。

/chrome

/install-github-app — GitHub PR 自動審查

設定完成後,每當建立 PR,Claude 就會自動進行審查。可透過 claude-code-review.yml 自訂審查用的 prompt。

/install-slack-app — Slack 整合

在 Slack 中提到 @Claude 即可把任務送到 Claude Code。可用來傳送 bug 修正或程式碼審查請求。

子代理與工具管理

/agents — 管理子代理(sub-agents)

列出正在執行的子代理,並檢視或變更其設定。

/mcp — 管理 MCP 伺服器

可列出、加入或刪除已連線的 MCP 伺服器。MCP 伺服器的命令會以 /mcp__伺服器名__命令 的格式提供成為 slash 指令使用。

/skills — 列出技能(skills)

查看已安裝的所有技能(內建或自訂)。預設包含 /simplify/batch/loop/debug/claude-api 等。

/add-dir <path> — 新增工作目錄

/add-dir ../shared-libs

在 monorepo 或多專案情境下,把其他目錄加進來以同時參考。也可在 CLI 啟動時用 --add-dir 旗標指定。

/hooks — 互動式 Hook 設定 UI

不用直接編輯 JSON,可以用選單設定 hook。第一次設定 hook 時建議從這裡開始。


CLI 旗標(啟動時選項)

CLI 旗標

Session 控制

-c / --continue — 繼續上一個 session

claude -c              # 繼續最新的 session
claude -r "auth 改修"  # 以名稱指定並重新開啟

-p "..." — 非互動模式(單次執行)

# 單次執行範例
claude -p "把 package.json 的 dependencies 列出來"

# JSON 輸出以利腳本串接
claude -p "請說明此函式的 bug" --output-format json < buggy.ts

# 與管道結合輸入
cat error.log | claude -p "請說明此錯誤的原因與處理方法"

會送出 prompt 並回傳結果後結束。是 CI/CD 或 shell script 整合的基本模式。

-c --fork-session — 分叉 session

在保留目前上下文的同時,用新的 ID 建立分支 session。想在不污染主線的情況下做實驗時使用。

--from-pr <PR號碼> — 復原與 PR 相關的 session

claude --from-pr 142

可把與特定 GitHub PR 相關的 session 復原,方便把 PR 審查修正接續到隔天。

執行模式

--permission-mode auto — Auto 模式

AI 分類器會自動允許安全的操作(如讀取、git status、執行測試等),對危險操作(檔案刪除、force push)則會阻擋。

claude --permission-mode auto

也可用 Shift+Tab 在 session 中切換。

--bare — 輕量模式

前述 Top10 中介紹,跳過初始化以達到最快啟動。

--max-turns <N> — 限制回合數

claude -p "請重構此程式碼" --max-turns 20

限制代理的回合數,對 CI 或腳本自動化時防止暴走非常重要。

模型與推理

--model opus/sonnet/haiku — 指定模型

claude --model haiku    # 適合輕量詢問
claude --model opus     # 適合複雜設計

Session 中也可用 /model 指令或 Option+P 切換。

--effort [low/medium/high/max] — 推理深度

啟動時指定推理層級。也可透過環境變數 CLAUDE_CODE_EFFORT_LEVEL 固定預設值。

Worktree(工作樹)

-w <branch> / --worktree — 在獨立 worktree 中啟動

claude -w feature-auth       # 在 feature-auth 的 worktree 啟動
claude -w bugfix-login       # 在另一個 worktree 並行作業

變更會限制在該 worktree,對 main branch 不會產生影響。/batch 指令內部也會使用此機制。

工具與提示控制

--allowedTools / --disallowedTools — 工具白名單/黑名單

# 只允許讀取與 git 命令
claude --allowedTools "Read,Bash(git *)"

# 阻擋 rm -rf
claude --disallowedTools "Bash(rm -rf *)"

可以同時設白名單與黑名單以達到更精細的控制。

--system-prompt / --append-system-prompt — 系統提示注入

# 完全替換系統提示
claude --system-prompt "請以注重安全性的審查員身份回答"

# 在既有系統提示上追加內容
claude --append-system-prompt "請以中文回答"

可在啟動時指定特定人格或限制。


子代理與工具功能

子代理與工具

子代理(Sub-agent)

可在 .claude/agents/ 目錄放置代理定義檔,建立專職的代理人。

範例:.claude/agents/security-auditor.md

---
name: security-auditor
description: 安全弱點審查專用
model: opus
allowed-tools: Read,Grep,Glob,Bash(grep *),Bash(git *)
---

你是安全審查員,請從以下觀點審查程式碼:
- SQL 注入
- XSS
- 認證繞過
- 機密資訊硬編碼

可依前端、後端、安全等角色定義不同代理,讓它們在獨立語境中運行以提升 token 效率。

行內操作

!命令 — 直接在 shell 執行

已在 Top10 介紹。直接執行 shell 指令而不經過 Claude 推論。

@檔案路徑 — 檔案引用(支援 Tab 補全)

@src/auth/login.ts 的驗證邏輯幫我看一下
@package.json 的依賴幫我確認

支援 Tab 補全,可降低輸入錯誤。比起模糊的「請看這個檔案附近」,更精確且效率高。

#文字 — 將備註存入 auto-memory

已在 Top10 介紹。以 # 起頭即可存入 auto-memory。

AskUserQuestion 工具 — 以訪談驅動的需求定義

Claude 可以扮演訪談者,透過連串問題在實作前把需求與規格釐清完整。

範例指示:

使用 AskUserQuestion 工具,按以下順序進行訪談:
1. 功能目的與使用者故事
2. 技術限制與既有系統整合點
3. 邊界情況與錯誤處理方針
4. 性能需求
5. 安全性需求
完成後將結果整理到 SPEC.md

可避免在需求模糊時就動手實作造成大量返工。

Channels — 從外部發送事件到 session

可把 Slack、Discord、Telegram 或 Webhook 的事件即時注入到正在執行的 Claude Code session。

# 與 Slack 整合範例
/install-slack-app

# 設定完成後,在 Slack 中:
@Claude 請調查這個 bug: #issue-1234

可把 CI/CD 完成通知、監控警報或團隊請求整合到 Claude 的會話中。


Git 與版本控制

Git 與版本控制

並行 worktree 開發

範例操作:

# 終端機 1:前端工作
claude -w feature-frontend
/color blue
/rename frontend-auth

# 終端機 2:後端工作
claude -w feature-backend
/color green
/rename backend-api

# 終端機 3:緊急修正
claude -w hotfix-login
/color red
/rename hotfix-login

每個 branch 建立獨立的目錄並啟動各自的 Claude session。worktree 相互隔離,一方修改不會影響另一方。工作完成後再將分支合併回 main。

Sparse worktree

在大型 monorepo 中,可設定 worktree.sparsePaths,只 checkout 必要的路徑以加速啟動(已於 Top10 說明)。

檔案檢查點(File checkpoint)

/rewind 是不同的概念:/rewind 是還原 session 整體變更,而檔案檢查點可以針對特定檔案選擇性回滾,例如想還原某個函式的變更但保留測試檔的變更時非常好用。

PR 相關 session 恢復

claude --from-pr 142

可復原與特定 PR 相關的 Claude Code session,方便把前一日的審查上下文直接帶入隔天的修正工作。


Hooks(自動化掛勾)

Hooks 自動化

Hooks 允許你把 Claude Code 事件綁定到 shell 指令。可在 settings.json 中設定,或透過 /hooks 互動式界面設定。

PreToolUse — 工具執行前的 Hook

在工具執行前觸發,用來自動阻擋危險指令。

settings.json 範例:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash(rm -rf *)",
        "command": "echo 'BLOCKED: rm -rf 已被禁止' && exit 1"
      }
    ]
  }
}

PostToolUse — 工具執行後的 Hook

在工具執行後觸發,常用於在檔案儲存後自動執行格式化工具。

settings.json 範例:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write(*.ts)",
        "command": "npx prettier --write $CLAUDE_FILE_PATH"
      },
      {
        "matcher": "Write(*.py)",
        "command": "black $CLAUDE_FILE_PATH"
      }
    ]
  }
}

可以用像 Write(*.ts) 的模式匹配,只對特定檔案類型生效。

PostCompact — /compact 完成後的 Hook

在執行 /compact 並壓縮上下文之後觸發。可用於把在壓縮中可能遺失的重要資訊再注入回去。

Notification — 狀態變更 Hook

在任務完成、等待輸入等狀態變化時觸發。

settings.json 範例(macOS 通知):

{
  "hooks": {
    "Notification": [
      {
        "command": "osascript -e 'display notification \"$CLAUDE_NOTIFICATION\" with title \"Claude Code\"'"
      }
    ]
  }
}

可整合桌面通知、Slack Webhook、LINE 通知等,讓你即使離席也能掌握任務狀態。

CwdChanged / FileChanged — 目錄或檔案變動 Hook

會對工作目錄或檔案變更作出反應。可與 direnv 整合以自動切換環境變數,實現更具回應性的環境管理。

Hook 一覽

  • PreToolUse:工具執行前 — 阻擋危險指令
  • PostToolUse:工具執行後 — 自動執行格式化/linter
  • PostCompact:/compact 完成後 — 重新注入重要資訊
  • Notification:狀態變更時 — 桌面通知/Webhook
  • CwdChanged:工作目錄變更時 — 自動切換環境變數
  • FileChanged:檔案變更時 — live reload/自動測試

Skills(技能)與自訂化

Skills 與自訂化

自訂技能(Custom Skill)

把技能放在 .claude/skills/NAME/SKILL.md,即可作為 slash 指令呼叫的可重用指示集合。相較舊的 .claude/commands/ 增加了支援檔案、front-matter 控制與自律啟動等功能。

目錄範例:

.claude/skills/
├── qiita-writing/
│   ├── SKILL.md
│   └── references/
├── code-review/
│   └── SKILL.md
└── deploy/
    └── SKILL.md

技能的 front-matter

範例 SKILL.md 開頭 front-matter:

---
name: my-skill
description: 在技能列表中顯示的描述
allowed-tools: Read,Write,Bash
model: sonnet
context: fork
user-invocable: true
argument-hint: "<檔案名稱>"
---

這裡是技能本體(對 Claude 的指示)

主要欄位說明:

  • allowed-tools:執行時允許的工具(例如 Read, Write, Bash)
  • model:指定此技能專用模型(sonnet、haiku 等)
  • context:上下文分離方式(fork 分支、isolate 完全隔離)
  • user-invocable:是否允許使用者手動呼叫(true / false)
  • argument-hint:slash 指令時的參數提示(例如 "<PR號碼>"

Plugin Marketplace

/plugin marketplace add <URL>

可安裝社群創建的技能、代理或 hook 套件,也可作為團隊下發共同工作流程的管道。

鍵盤綁定自訂

可在 ~/.claude/keybindings.json 重定義所有快捷鍵。

範例:

{
  "ctrl+k ctrl+s": "save-draft",
  "ctrl+k ctrl+r": "rewind",
  "ctrl+k ctrl+b": "background"
}

支援 chord(兩段鍵序,如 ctrl+k ctrl+s),可統一為你習慣的 VS Code 或 Emacs 快捷鍵。設定後建議用 /doctor 做驗證檢查。

CLAUDE.md 中的 HTML 註解

CLAUDE.md 範例:

# 專案規則

<!-- 這是給團隊成員看的備註,Claude 不會看到 -->
<!-- 負責: Taka / Reviewer: Yuki -->

測試必須使用 jest。
API 回應統一為 snake_case。

在 CLAUDE.md 中的 HTML 註解(<!-- -->)會在 Claude 自動注入時被過濾,方便在同一檔案中同時放置給人看的備註與給 Claude 的指令。

若 Claude 以 Read 工具直接讀檔,註解仍然可見;僅在自動注入時會被過濾。


設定與診斷

設定與診斷

Auto 模式管理

claude auto-mode config     # 檢視目前規則
claude auto-mode critique   # AI 評估規則並提出改善建議

可檢視與優化 --permission-mode auto 使用的規則。critique 會指出規則的不足或矛盾。

過去 session 全文檢索

transcript search "認證 OAuth 移轉"

可全文搜尋過去的 session,幫你在「當初為何這樣做」的情境下找回過去決策與上下文。

managed-settings.d/ — 團隊政策的分散管理

可在 managed-settings.d/ 放置多個政策片段,與 managed-settings.json 並行管理。

範例目錄:

managed-settings.d/
├── 01-security.json      # 安全團隊的政策
├── 02-frontend.json      # 前端團隊的政策
└── 03-testing.json       # QA 團隊的政策

檔案會按照字母序合併,方便各團隊獨立管理其政策片段。

設定指令一覽

  • 互動式設定:/config
  • 設定狀態:/status
  • 使用統計(Pro/Max):/stats
  • Token 消耗(API):/cost
  • 檢視 Auto 模式:claude auto-mode config
  • Auto 模式優化:claude auto-mode critique
  • Session 搜尋:transcript search
  • 安裝診斷:/doctor

實務組合模式

實務組合模式

模式 1:CI/CD Pipeline

腳本範例:

#!/bin/bash
# PR 建立時自動審查
claude --bare \
  -p "請審查此 PR 的變更,從安全性、效能、可讀性三方面提出指摘" \
  --output-format json \
  --max-turns 10 \
  --permission-mode auto \
  --model sonnet

此示例結合 --bare(快速啟動)、-p(非互動)、--max-turns(防止暴走)、--model sonnet(成本與效果最佳平衡)等旗標。

模式 2:並行分支開發

# 終端 1:前端(藍)
claude -w feature-frontend --model sonnet
/color blue
/rename frontend-auth

# 終端 2:後端(綠)
claude -w feature-backend --model opus
/color green
/rename backend-api

# 各 session 在獨立 worktree 中運作
# 完成後將各分支合併回 main

模式 3:PR 建立前的品質閘門

# 1. 三觀點並行程式碼審查
/simplify

# 2. 安全掃描
/security-review

# 3. 檢視差異
/diff

# 4. commit → push → 建立 PR
/commit-push-pr

模式 4:長時間任務的定期監控

# 本機每 10 分鐘執行一次測試
/loop 10m npm test ,若失敗請分析原因

# 雲端每天早上 9 點在 main branch 檢查健全性並通知 Slack
/schedule 每天早上 9 點在 main branch 執行測試與 lint,並把結果通知 Slack 的 #ci-alerts

模式 5:PR 審查回應的隔日接手

# 第一天:匯入 PR 評論並修正
claude
/pr-comments 142
# Claude 依評論自動處理修正...
# 下班前離開

# 第二天:復原前一日的 PR session 並繼續
claude --from-pr 142
# 前一日的上下文保留,可以從中繼續工作

參考網站

Claude Code 正在積極開發,功能會頻繁新增與變更。請參考官方文件或釋出說明以取得最新資訊: https://docs.anthropic.com/en/docs/claude-code


原文出處:https://qiita.com/nogataka/items/5e64037cc452c5d497fa


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝9   💬10   ❤️3
539
🥈
我愛JS
📝2   💬7   ❤️2
145
🥉
💬1  
4
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登