Claude Code 內置了一批以斜線開頭的命令,你也可以創建自己的命令,把常見流程自動化。
創建自定義命令
在專案中準備以下目錄結構:
- 找到專案中的
.claude目錄 - 在其中創建
commands目錄 - 創建一個以命令名命名的 Markdown 檔案(如
audit.md)
檔案名就是命令名,因此 audit.md 會生成 /audit 命令。
示例:審計依賴的命令
一個實用的命令是檢查依賴安全問題:
- 執行
npm audit找出漏洞 - 執行
npm audit fix自動修復 - 執行測試驗證修復不破壞功能
創建命令檔案後,需要重啟 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 課。