AI 程式設計教程中文版
官方教程中文版擴充套件與自動化

使用 Commands

說明 Claude Code slash commands、Skill commands、legacy commands、MCP prompts 和常用命令分組。

Command 不是另一套擴充套件系統,而是 Claude Code 會話裡的入口層。它可以開啟 CLI 內建功能,也可以呼叫 Skill,還可以觸發 MCP server 暴露的 prompt。先分清背後是哪一類能力,才知道該去哪裡配置。——翔宇

這一章用 12 分鐘換什麼:前面已經講完 Skills、Subagents、Hooks。現在把 / 命令體系收口。讀完你應該能判斷一個命令是 CLI 內建邏輯、官方 bundled skill、自定義 Skill,還是 MCP prompt,並知道常用命令該怎麼歸類、怎麼傳參、怎麼排障。

1. Command 解決什麼問題

Claude Code 的 slash command 是會話內控制入口。

它負責:

  • 切模型、調 effort、看用量。
  • 管理許可權、MCP、記憶、Hooks、Plugins。
  • 清理、壓縮、恢復上下文。
  • 開啟 diff、狀態、配置、診斷面板。
  • 執行官方 bundled skills。
  • 執行你寫的 Skills。
  • 執行 MCP server 暴露的 prompts。
  • 啟動 web / remote / schedule / review 等工作流。

基礎規則:

  • 輸入 / 可以看到當前可用命令。
  • 輸入 / 後繼續打字可以過濾。
  • 命令只在訊息開頭識別。
  • 命令後的文本會作為引數傳入。
  • 可用命令取決於平臺、計劃、登入狀態、版本、配置和環境變數。

第一性原理/command 是入口,不一定是同一種實現。排障時先判斷它背後是 built-in、bundled skill、自定義 Skill,還是 MCP prompt。

flowchart TD
    Slash["使用者輸入 /command"]
    BuiltIn["Built-in command"]
    Bundled["Bundled skill"]
    Custom["Custom Skill command"]
    Legacy["Legacy custom command"]
    MCP["MCP prompt"]

    CLI["Claude Code CLI 固定邏輯"]
    Skill["Skill 機制"]
    CommandFile[".claude/commands/*.md"]
    MCPServer["MCP server 暴露 prompt"]

    Slash --> BuiltIn
    Slash --> Bundled
    Slash --> Custom
    Slash --> Legacy
    Slash --> MCP
    BuiltIn --> CLI
    Bundled --> Skill
    Custom --> Skill
    Legacy --> CommandFile
    MCP --> MCPServer

    style BuiltIn fill:#e0f2fe,stroke:#0284c7,stroke-width:2px
    style Bundled fill:#dcfce7,stroke:#22c55e,stroke-width:2px
    style MCP fill:#fef3c7,stroke:#f59e0b,stroke-width:2px

2. 四類命令入口

第一類:Built-in commands。

這些命令列為由 Claude Code CLI 實現。例如:

  • /help
  • /clear
  • /compact
  • /config
  • /model
  • /permissions
  • /mcp
  • /memory
  • /hooks
  • /plugin
  • /status

它們通常開啟介面、修改會話狀態、管理配置或呼叫固定功能。

第二類:Bundled skills。

官方文件把帶 Skill 標記的命令稱為 bundled skills。它們和你自己寫的 Skill 用同一套機制:本質是一個 prompt handed to Claude。典型例子包括:

  • /debug
  • /simplify
  • /batch
  • /loop
  • /claude-api
  • /fewer-permission-prompts

第三類:Custom Skill commands。

你在 .claude/skills/<name>/SKILL.md 裡寫 Skill,就會得到:

/<name>

第四類:MCP prompts。

MCP server 可以暴露 prompts,Claude Code 會把它們顯示成:

/mcp__<server>__<prompt>

判斷背後機制:管理狀態多半是 built-in;執行流程多半是 Skill;連線外部系統的 prompt 多半來自 MCP。

3. Built-in command 和 bundled skill 的區別

Built-in command:

  • 行為寫在 Claude Code CLI 裡。
  • 通常直接改變會話、配置、許可權、模型或 UI。
  • 不依賴 Claude 自己理解一段 prompt 後執行。
  • 典型例子:/model/compact/permissions/mcp

Bundled skill:

  • 是官方內建 Skill。
  • 給 Claude 一段詳細流程,讓 Claude 按任務執行。
  • 可以像普通 Skill 一樣被 Claude 在相關場景自動呼叫。
  • 典型例子:/debug/simplify/batch/loop

這解釋了一個常見差異:

  • /compact 會直接觸發上下文壓縮。
  • /debug 會讓 Claude 啟動除錯工作流,讀取日誌、分析問題、給出處理建議。

不要把 bundled skill 當固定按鈕:它仍然經過 Claude 的理解和執行。高風險動作仍要看 permissions、Hooks 和人工確認。

4. 命令引數怎麼傳

官方約定:

  • <arg> 表示必填引數。
  • [arg] 表示可選引數。
  • 命令後的文本會作為引數傳給命令。

例子:

/compact focus on the migration plan and unresolved test failures
/plan fix the authentication redirect bug
/batch migrate src/ from Solid to React
/debug the MCP server disconnects after OAuth

對 Skill command 來說,這些引數會進入 $ARGUMENTS。如果 Skill 宣告瞭命名引數,也可以用 $0$name 讀取。

引數要像任務 brief:不要只寫 /debug,能補一句現象、範圍、錯誤文本,就補一句。

5. 命令可用性不是固定的

不是所有命令每個人都能看到。

官方說明可用性取決於:

  • Claude Code 版本。
  • 平臺:macOS、Windows、Linux、WSL、Web、Desktop。
  • 登入方式和訂閱計劃。
  • 是否啟用 Claude Code on the web。
  • 是否安裝 gh CLI。
  • 是否在 git repo 中。
  • 是否設定 Bedrock / Vertex 環境變數。
  • 是否啟用 Remote Control、Plugins、Agent teams、sandbox 等功能。

例子:

  • /desktop 只在 macOS 和 Windows 場景出現。
  • /setup-bedrock 依賴 Bedrock 環境。
  • /setup-vertex 依賴 Vertex 環境。
  • /autofix-pr 依賴 gh CLI 和 Claude Code on the web 許可權。
  • /sandbox 取決於平臺和 sandbox 支援。

不要寫死“所有人都有這個命令”:教程裡可以講命令型別和用途,實際可用列表以你當前 / 選單和官方 Commands 頁面為準。

6. 上下文管理類命令

這類命令控制當前會話的上下文。

  • /clear:開始一個空上下文的新對話。舊會話仍可在 /resume 找回。
  • /compact [instructions]:壓縮當前對話,保留摘要繼續工作。
  • /context:視覺化當前上下文使用情況,並提示最佳化方向。
  • /resume [session]:恢復歷史會話。
  • /branch [name]:從當前點建立會話分支。/fork 預設是 alias,但在 forked subagent 環境變數開啟時含義不同。
  • /rewind:回到之前的對話或程式碼 checkpoint。
  • /btw <question>:問一個 side question,不加入主會話歷史。

什麼時候用:

  • 上下文太重:先 /context,再 /compact
  • 想幹淨開始:用 /clear
  • 想回到舊會話:用 /resume
  • 想旁路問小問題:用 /btw

/clear/compact 不同:前者開新上下文,後者壓縮當前上下文繼續幹同一件事。

7. 配置和許可權類命令

這類命令管 Claude Code 的行為邊界。

  • /config/settings:開啟設定介面,管理主題、模型、輸出風格等。
  • /permissions/allowed-tools:管理 allow、ask、deny 許可權規則。
  • /mcp:管理 MCP 連線和 OAuth 認證。
  • /memory:檢視和編輯 CLAUDE.mdCLAUDE.local.md、rules、auto memory。
  • /hooks:檢視 Hook 配置。
  • /plugin:管理 Plugins。
  • /skills:列出可用 Skills,並可按 token count 排序。
  • /agents:管理 Subagents。
  • /sandbox:切換 sandbox mode,取決於平臺支援。

這些命令是“看當前真實狀態”的入口。排障時不要只看檔案,先用命令確認當前 session 看到什麼。

排障順序:許可權問題看 /permissions,MCP 問題看 /mcp,記憶問題看 /memory,Hook 問題看 /hooks,Skill 問題看 /skills

8. 模型、用量和狀態類命令

這類命令影響執行成本、速度和可觀察性。

  • /model [model]:選擇或切換模型。
  • /effort [level|auto]:設定 reasoning effort。
  • /fast [on|off]:切換 fast mode。
  • /usage:檢視 cost、plan usage limits 和 activity stats。
  • /cost/usage alias。
  • /stats/usage alias,開啟 Stats tab。
  • /status:檢視版本、模型、賬號、連線狀態。
  • /doctor:診斷安裝和設定。
  • /release-notes:檢視 changelog。

什麼時候用:

  • 回答變慢或成本異常:/usage/context
  • 模型不對:/model
  • 推理深度不合適:/effort
  • 安裝或登入異常:/doctor

模型切換會重新讀取歷史:有歷史輸出的會話裡切模型,Claude Code 會提示確認,因為下一輪需要重新讀完整歷史。

9. 程式碼工作流類命令

這類命令圍繞 git、diff、review、修復和分支。

  • /diff:開啟互動式 diff viewer,看未提交變更和每輪 diff。
  • /review [PR]:在本地當前會話 review PR。
  • /security-review:分析當前分支 pending changes 的安全風險。
  • /autofix-pr [prompt]:啟動 Claude Code on the web session,跟蹤 PR 裡的 CI 和 review comment 修復。
  • /ultrareview [PR]:在 cloud sandbox 做更深的 multi-agent review。
  • /ultraplan <prompt>:在 cloud session 草擬 plan,再執行或帶回本地。
  • /batch <instruction>:官方 bundled skill,大規模並行改程式碼。
  • /simplify [focus]:官方 bundled skill,審查近期改動並修復可複用性、質量和效率問題。

邊界:

  • 本地小 review:/review/security-review
  • 大範圍批次遷移:/batch
  • 需要 cloud/web session:/autofix-pr/ultraplan/ultrareview

批次和 cloud 命令要先看工作區狀態:執行前先確認 git clean / 當前分支 / PR 目標,避免把未準備好的變更交給遠端 workflow。

10. 自動化和長期任務類命令

這類命令讓 Claude Code 持續或定時工作。

  • /loop [interval] [prompt]:官方 bundled skill。讓 prompt 按間隔重複執行;不寫 interval 時 Claude 自行節奏。
  • /schedule [description]:建立、更新、列出或執行 routines。
  • /tasks:列出和管理後臺任務,也可用 /bashes
  • /remote-control:讓當前 session 可從 claude.ai remote control。
  • /remote-env:配置 web sessions 的預設 remote environment。

使用建議:

  • 需要週期檢查:/loop
  • 需要真正定時 routine:/schedule
  • 已經有後臺任務:/tasks
  • 需要手機或網頁接管本地會話:/remote-control

長期自動化要更窄:prompt、許可權、工作目錄、分支、輸出和通知都要收緊,不要把模糊任務放進迴圈。

11. 平臺和整合類命令

這類命令連線外部入口。

  • /desktop/app:把當前 session 繼續到 Claude Code Desktop。
  • /ide:管理 IDE integration。
  • /chrome:配置 Claude in Chrome。
  • /mobile/ios/android:顯示移動端二維碼。
  • /install-github-app:設定 Claude GitHub Actions app。
  • /install-slack-app:安裝 Claude Slack app。
  • /web-setup:用本地 gh CLI credentials 連線 Claude Code on the web。
  • /teleport/tp:把 web session 拉回 terminal。

這些命令可用性高度依賴平臺、登入狀態和賬號許可權。

平臺命令先看當前入口:你在純終端、Desktop、Web、Remote Control、IDE 裡的可用命令不完全一樣。

12. 建立專案和團隊交接類命令

這類命令幫助你啟動或總結工作。

  • /init:初始化專案 CLAUDE.md。設定 CLAUDE_CODE_NEW_INIT=1 後,會進入更互動的初始化流程,覆蓋 CLAUDE.md、Skills、Hooks、personal memory 等 artifact。
  • /team-onboarding:根據過去一段 Claude Code 使用歷史生成團隊 onboarding guide。
  • /insights:生成 session 使用報告,分析專案區域、互動模式和摩擦點。
  • /recap:生成當前 session 的一行 summary。
  • /export [filename]:匯出當前會話。

/init 只是起點:生成的 CLAUDE.md 要人工審查,刪噪音、補隱性團隊規則,再提交。

13. 自定義命令:優先寫 Skill

官方已經把 custom commands 合併進 Skills。

推薦路徑:

.claude/skills/<name>/SKILL.md

示例:

.claude/skills/review-diff/SKILL.md

呼叫:

/review-diff

最小 Skill:

---
description: Reviews the current git diff for correctness, security risks, missing tests, and unclear error handling.
---

Review the current diff.

!`git diff HEAD`

Return:

- Findings ordered by severity
- Test gaps
- Suggested next commands

舊格式仍可用:

.claude/commands/<name>.md

但新寫內容優先 Skill,因為 Skill 支援:

  • 目錄結構。
  • 附屬檔案。
  • frontmatter。
  • 自動載入。
  • disable-model-invocation
  • allowed-tools
  • context: fork

不要再新建 legacy commands:除非你在維護舊儲存庫。新命令統一做 Skill。

14. MCP prompts:外部系統暴露命令

MCP server 可以暴露 prompts。Claude Code 會把它們顯示成 command:

/mcp__<server>__<prompt>

例如:

/mcp__github__list_prs
/mcp__linear__triage_issue ENG-123

適合:

  • 外部系統裡的固定 workflow。
  • 從 issue tracker 拉任務。
  • 從內部 docs 做查詢。
  • 基於資料庫 schema 生成分析任務。
  • 呼叫內部平臺暴露的 prompt。

邊界:

  • MCP prompt 來自 server,不來自本地 .claude/skills/
  • server 斷開或未認證時,對應 command 可能不可用。
  • prompt 結果會進入當前對話。
  • 外部系統 prompt 同樣要考慮許可權和 prompt injection。

MCP prompt 是入口,MCP tool 是能力:prompt 可以組織任務,但真正能讀寫什麼仍取決於 MCP server tools、OAuth scope 和 Claude Code permissions。

15. UserPromptExpansion Hook 和命令展開

官方 Hooks reference 裡有 UserPromptExpansion。它會在 slash command、custom command、Skill command 或 MCP prompt 展開後觸發。

它可以看到 expansion 型別,例如:

  • slash_command
  • mcp_prompt

適合:

  • 記錄哪些命令被展開。
  • 審計 high-risk command 使用。
  • 對某些命令展開內容做額外檢查。

不適合:

  • 替代 command 本身。
  • 自動批准高風險外部操作。
  • 記錄完整 prompt 或敏感引數到外部系統。

命令展開可能包含使用者輸入和外部內容:審計時只記錄必要元資訊,不要預設儲存完整正文。

16. 常用命令速查

上下文:

  • /context:看上下文佔用。
  • /compact:壓縮當前會話。
  • /clear:開新上下文。
  • /resume:恢復歷史會話。
  • /btw:不汙染主歷史的小問題。

配置:

  • /config:開啟設定。
  • /permissions:管理工具許可權。
  • /mcp:管理 MCP。
  • /memory:管理記憶。
  • /hooks:檢視 hooks。
  • /plugin:管理 plugins。
  • /skills:檢視 skills。
  • /agents:管理 subagents。

程式碼:

  • /diff:看 diff。
  • /review:本地 PR review。
  • /security-review:安全審查。
  • /simplify:官方 Skill,簡化和修復近期改動。
  • /batch:官方 Skill,大範圍並行修改。

執行狀態:

  • /model:切模型。
  • /effort:調 reasoning effort。
  • /usage:看用量。
  • /status:看版本、賬號、連線狀態。
  • /doctor:診斷環境。

自動化:

  • /loop:重複執行 prompt。
  • /schedule:管理 routines。
  • /tasks:管理後臺任務。

記不住命令時輸入 /:即時選單比靜態教程更可靠,因為它反映你當前版本和環境。

17. 什麼時候不要做 command

不要把這些做成 command:

  • 每次會話都要知道的規則:寫 CLAUDE.md.claude/rules/
  • 必須自動執行的動作:寫 Hook。
  • 外部工具連線:接 MCP。
  • 只用一次的提示詞:直接對話。
  • 需要使用者多輪決策的複雜流程:先在普通對話裡跑順,再沉澱成 Skill。
  • 生產釋出這類高風險動作:可以有 command,但必須配 permissions、確認和回復流程。

Command 不是規則容器:它是入口。長期規則、自動化、許可權和外部連線要放到各自正確層。

18. 常見故障:命令看不到

按這個順序查:

  1. 輸入 / 看當前選單。
  2. 確認 Claude Code 版本是否支援該命令。
  3. 確認平臺和賬號計劃。
  4. 確認是否需要特定環境變數。
  5. 如果是 Skill command,執行 /skills 看是否被載入。
  6. 如果是 MCP prompt,執行 /mcp 看 server 是否 connected / authenticated。
  7. 如果是 plugin command,執行 /plugin/reload-plugins
  8. 如果是 legacy command,確認 .claude/commands/<name>.md 路徑存在。

先分型別再排障:built-in 查版本和環境;Skill 查 /skills;MCP prompt 查 /mcp;plugin 查 /plugin

19. 常見故障:命令沒有按預期執行

常見原因:

  • 命令不在訊息開頭。
  • 引數太少,Claude 不知道範圍。
  • Bundled skill 依賴模型判斷,不是固定指令碼。
  • 自定義 Skill description 太泛或正文不具體。
  • MCP server 認證過期。
  • permissions 阻止了後續工具呼叫。
  • Hook 阻斷了命令觸發的工具呼叫。
  • 上下文太重,Skill 內容被壓縮後丟失關鍵部分。

處理:

  • 把命令放在訊息第一行。
  • 引數寫成具體任務 brief。
  • 對自定義 Skill 明確輸入、步驟、輸出、驗證。
  • /permissions 看是否被 ask / deny。
  • /hooks 看是否有阻斷。
  • /debug 排查 Claude Code session 行為。

命令只是開始:命令之後仍然會進入工具呼叫、許可權、Hooks、上下文這些系統。問題不一定在命令本身。

20. 一個專案的推薦命令沉澱方式

先不要為了“有工具感”建立一堆 slash commands。推薦順序:

  1. 先在普通對話裡跑通流程。
  2. 第二次重複時,整理成 checklist。
  3. 第三次重複時,寫成 .claude/skills/<name>/SKILL.md
  4. 如果流程有副作用,加 disable-model-invocation: true
  5. 如果需要工具,寫 allowed-tools,但安全拒絕仍放 permissions。
  6. 如果流程需要外部系統,接 MCP。
  7. 如果必須每次發生,寫 Hook。
  8. 如果多個儲存庫複用,再打包 Plugin。

命令是沉澱出來的,不是預設出來的:真實重複出現的流程,才值得變成 /name

21. 自檢清單

學完這一章,你應該能做到:

  • 我能解釋 built-in command 和 bundled skill 的區別。
  • 我知道 custom commands 推薦用 Skills 實現。
  • 我知道 legacy .claude/commands/ 仍可用,但新內容優先 .claude/skills/
  • 我知道 MCP prompts 會顯示為 /mcp__server__prompt
  • 我知道命令只在訊息開頭識別。
  • 我知道命令可用性受平臺、計劃、版本、環境影響。
  • 我知道 /clear/compact 的區別。
  • 我知道許可權、MCP、記憶、Hooks、Skills、Subagents 分別用哪個命令排查。
  • 我知道高風險流程不能只靠 command,要配 permissions 和確認。
  • 我知道命令不是長期規則、自動化或外部連線的替代品。

22. 術語速查

  • Slash command:會話中以 / 開頭的命令入口。
  • Built-in command:Claude Code CLI 實現的固定命令。
  • Bundled skill:官方隨 Claude Code 提供的 Skill command。
  • Custom Skill command:由 .claude/skills/<name>/SKILL.md 生成的 /name
  • Legacy custom command:由 .claude/commands/<name>.md 生成的舊式 command。
  • MCP prompt:MCP server 暴露成 slash command 的 prompt。
  • /compact:壓縮當前上下文。
  • /clear:清空上下文並開始新對話。
  • /permissions:管理 allow / ask / deny 許可權規則。
  • /mcp:檢視 MCP server 和 OAuth 狀態。
  • /memory:檢視和編輯記憶檔案與 auto memory。
  • /hooks:檢視 Hook 配置。
  • /skills:列出可用 Skills。
  • /agents:管理 Subagents。
  • UserPromptExpansion:slash command 或 MCP prompt 展開後的 Hook 事件。

23. 官方資料

本頁目錄