← 所有文章
claudeClaude Code

教 AI 記住你的工作流程,下次一句話觸發

每次開新的 Claude Code session,我都在重複同樣的說明:「寫完跑 lint、commit 格式用這個、deploy 的步驟是這樣」。寫在 CLAUDE.md 可以,但每個專案的流程不同,CLAUDE.md 很快就變成一大篇。
Skills 解決的就是這個問題。把每個工作流程寫成一個獨立的檔案,只有用到的時候才載入。就像給 Claude 一本工作手冊,但只翻到需要的那一頁。

這篇你會學到


Skills vs CLAUDE.md

CLAUDE.md 的內容每次對話都會載入。寫得越多,Claude 每次啟動要讀的越多,你的 token 就花得越多。
Skills 只有被觸發時才載入。你可以寫二十個 Skill,如果這次對話只用到兩個,就只載入兩個。
簡單判斷規則:


寫你的第一個 Skill

建一個資料夾和一個檔案:

mkdir -p .claude/skills/deploy && touch .claude/skills/deploy/SKILL.md
寫入內容:

---
name: deploy
description: Deploy to production
disable-model-invocation: true
---

Deploy 步驟:
1. 跑 test suite
2. Build 專案
3. Push 到 production
4. 確認 deploy 成功

現在你可以輸入 /deploy 來觸發它。disable-model-invocation: true 代表只有你可以觸發,Claude 不會自己決定要不要 deploy。

💡 默認情況下你和 Claude 都能觸發 Skill。有副作用的操作(deploy、發訊息、刪除)建議加 disable-model-invocation: true


四種實用模式

參考型: 把知識教給 Claude,它自己決定什麼時候用。

API 設計慣例、錆誤處理樣式、編碼風格。寫在 description 裡讓 Claude 知道什麼時候適用。
任務型: 你手動觸發,給 Claude 明確步驟。
deploy、commit、code review、建新元件。加 disable-model-invocation: true
動態注入: Skill 裡嵌 shell 指令,執行前先跑指令拿即時資料。
!`git status --short` 會在 Skill 載入前執行,輸出替換進 prompt。Claude 看到的是結果不是指令。
子 agent 執行:context: fork 讓 Skill 在獨立環境跑,不影響你的對話。
適合耗時的研究任務。加 agent: Explore 讓它用唯讀工具探索 codebase。


Skill 放哪裡


給工具開權限

在 frontmatter 加 allowed-tools 可以讓 Claude 執行特定工具時不用問你:

---
name: commit
description: Stage and commit changes
disable-model-invocation: true
allowed-tools: Bash(git add *) Bash(git commit *) Bash(git status *)
---

這不是限制工具,是免確認。其他工具仍然可用,只是會問你。

每次你發現自己在重複貼同一段指示給 Claude,那就該寫成一個 Skill 了。

← 所有文章OctoDock 首頁 →
教 AI 記住你的工作流程,下次一句話觸發 | OctoDock