自定義命令

影片 + 講義View Original Source

Claude Code 內置了一批以斜線開頭的命令,你也可以創建自己的命令,把常見流程自動化。

創建自定義命令

在專案中準備以下目錄結構:

  1. 找到專案中的 .claude 目錄
  2. 在其中創建 commands 目錄
  3. 創建一個以命令名命名的 Markdown 檔案(如 audit.md

檔案名就是命令名,因此 audit.md 會生成 /audit 命令。

示例:審計依賴的命令

一個實用的命令是檢查依賴安全問題:

  1. 執行 npm audit 找出漏洞
  2. 執行 npm audit fix 自動修復
  3. 執行測試驗證修復不破壞功能

創建命令檔案後,需要重啟 Claude Code 才能識別新命令。

帶參數的命令

自定義命令可以使用 $ARGUMENTS 佔位符接收參數,從而更靈活。

例如 write_tests.md

Write comprehensive tests for: $ARGUMENTS

Testing conventions:
* Use Vitests with React Testing Library
* Place test files in a __tests__ directory in the same folder as the source file
* Name test files as [filename].test.ts(x)
* Use @/ prefix for imports

Coverage:
* Test happy paths
* Test edge cases
* Test error states

調用方式:

/write_tests the use-auth.ts file in the hooks directory

參數可以是任意文字說明,不一定是檔案路徑。

關鍵收益

  • 自動化:把重複流程變成一個命令
  • 一致性:確保每次執行遵循相同步驟
  • 上下文:為 Claude 提供固定的專案約定
  • 靈活性:通過參數適配不同場景

自定義命令非常適合專案內的固定流程,例如測試、部署、代碼生成等。

自定義命令 vs Skills

Claude Code 後來引入了 Skills 系統,與自定義命令有所不同:

  • 自定義命令:放在 .claude/commands/ 目錄,由使用者以斜線觸發(如 /audit
  • Skills:放在 .claude/skills/ 目錄,由 AI 自動發現和觸發,無需手動調用

簡單來說,命令是「你告訴 Claude 做什麼」,而 Skills 是「Claude 自己知道什麼時候該做什麼」。詳細介紹請參考第 23 課。