
Claude Code Skills 是什麼?Anthropic 公開內部實戰經驗:9 類 Skills 與 AI 工程工作流設計方法

如果你用過 Claude Code 一段時間,大概知道 Skills(技能)的存在,但可能還不確定:哪種情境值得建一個 Skill?要怎麼寫才有效?又該怎麼讓整個團隊共用?
原文:Lessons from building Claude Code: How we use skills
Anthropic 的工程師 Thariq Shihipar 最近公開了他們在內部大量使用 Skills 的心得。這篇文章根據官方原文翻譯整理,保留所有關鍵技術細節與範例。
Skills 是什麼?
很多人誤以為 Skill 就是一個 Markdown 文件。實際上,Skills 是資料夾。這個資料夾裡可以放腳本、圖片、資料、任何 Agent 需要用到的資源,Agent 可以在執行時自行發現、探索、操作這些內容。
在 Claude Code 裡,Skills 還支援豐富的設定選項,包括動態 Hook 的註冊。Anthropic 內部效果最好的 Skills,通常都善用了這些設定與資料夾結構。
📖 前置知識
本文假設你已經對 Skills 的基礎有一定了解。如果你是初次接觸,建議先看 Anthropic 的 Skills 入門課程,再回來讀這篇。
Skills 的 9 大類別
Anthropic 在整理內部數百個 Skills 後發現,大部分 Skill 都能歸納到九種類型之中。實務上,聚焦單一任務的 Skill 往往有較好的效果;功能範圍過於廣泛的 Skill,則可能讓 Agent 難以選擇合適的執行方式。雖然這份分類不代表所有情境,但可作為建立與規劃 Skill 庫的重要參考框架。

類別 1:函式庫與 API 參考
整理函式庫、CLI 工具與 SDK 的使用規範。內容通常包含參考程式碼、使用範例、常見錯誤與實務注意事項,協助 Claude 更準確地使用內部工具或第三方套件,降低程式碼產生錯誤的機率。
billing-lib:你的內部計費函式庫,包含邊界案例和地雷清單internal-platform-cli:內部 CLI 工具每個子指令的說明與使用時機sandbox-proxy:開發環境的對外閘道設定,哪些 host 可以連、怎麼除錯「connection refused」
類別 2:產品驗證(最高影響力)
測試與驗證程式碼是否真正符合預期。它們通常會結合 Playwright、tmux 等工具,自動執行操作流程、檢查系統狀態與驗證結果。Anthropic 表示,驗證類 Skills 是內部最能提升 Claude 輸出品質的 Skill 類型之一。
signup-flow-driver:在 headless 瀏覽器跑完「註冊→信箱驗證→引導流程」,每步驟都有狀態斷言checkout-verifier:用 Stripe 測試卡跑結帳 UI,確認發票真的落到正確狀態tmux-cli-driver:測試需要 TTY 的互動式 CLI
類別 3:資料查詢與分析
串接資料平台與監控系統,協助 Claude 取得所需資訊。Skill 內容可能包含資料存取函式庫、驗證憑證、監控 Dashboard ID,以及常見查詢流程與資料擷取方式,讓 Claude 能更有效地完成分析與調查工作。
類別 4:業務流程自動化
主要用於自動化重複性工作,將原本需要多個步驟的流程整合成單一指令。雖然核心邏輯通常不複雜,但可能會串接其他 Skills 或 MCP 工具共同完成任務。透過保留過往執行紀錄,Claude 也能參考歷史結果,維持工作流程的一致性,並延續先前的執行脈絡。
standup-post:彙整 Ticket、GitHub 活動、Slack 紀錄,產生每日站立報告(只顯示有變動的部分)create-ticket:強制欄位格式驗證、建立後自動通知審核者並連結 Slackweekly-recap:合併的 PR、關閉的 Ticket、部署紀錄,輸出格式化週報
類別 5:程式碼架構與範本
能根據團隊規範,自動產生特定功能所需的基礎程式架構與範本,並可搭配其他腳本組成更完整的工作流程。當專案除了程式碼之外,還包含命名規則、文件要求、開發慣例等自然語言規範時,這類 Skills 能協助 Claude 更準確地建立符合標準的程式架構。
類別 6:程式碼品質與審查
維護團隊的程式碼品質與審查標準,可搭配自動化腳本、檢查工具與測試規範使用。許多團隊也會將其整合至 Hooks 或 GitHub Actions,讓程式碼檢查流程自動執行,降低人為疏漏。
類別 7:CI/CD 與部署
處理程式碼管理與部署相關流程,例如取得程式碼、提交變更、執行部署等任務。在執行過程中,也可能搭配其他 Skills 蒐集資料或完成前置檢查。
babysit-pr:監控 PR 狀態、重試不穩定的 CI、解決合併衝突、啟用 auto-mergedeploy-service:建置→冒煙測試→漸進式流量切換→錯誤率比較→自動回滾cherry-pick-prod:在隔離的 worktree 做 cherry-pick,處理衝突後建 PR 並套用範本
類別 8:Runbook 故障排查
以問題徵兆作為起點,例如 Slack 討論串、監控告警或特定錯誤訊息,接著透過多個工具進行排查與分析,最後整理成結構化調查報告。
類別 9:基礎設施維運
處理基礎設施的日常維護與營運工作。由於部分操作可能影響正式環境或造成資源刪除,因此通常會加入額外的保護機制。透過標準化流程,工程師能更容易依循最佳實務完成關鍵維運任務。
新手閱讀:《 Claude Code 完整教學 2026:從安裝到實戰,不會寫程式也能用 》
撰寫 Skills 的 9 個關鍵技巧
1. 不要寫廢話

Claude 已經會寫程式、也能讀你的程式碼。一個只是重述 Claude 本來就會做的事的 Skill,只是在徒增 context,沒有帶來任何價值。
如果你的 Skill 主要是傳遞知識,就專注在那些「能把 Claude 從預設思路中拉出來」的資訊。Anthropic 內部的 frontend-design Skill 是個好範例,它是由工程師和客戶反覆迭代出來的,目的是改善 Claude 的設計品味,例如避免它老是用 Inter 字體配紫色漸層。
2. 建立「踩坑紀錄」區塊
Skill 裡含金量最高的部分,就是 Gotchas(踩坑紀錄)。這個區塊要從 Claude 實際遇到的失敗點累積而來,並隨著時間持續更新。
🗂️ 踩坑紀錄範例
- `subscriptions` 資料表是 append-only。你要的那筆是 version 最高的,不是 created_at 最近的。
- 這個欄位在 API Gateway 叫 `@request_id`,在 billing service 叫 `trace_id`,但其實是同一個值。
- Staging 環境即使 Stripe Webhook 沒有真正處理,還是會回傳 200。請查 `payment_events` 看真實狀態。
3. 善用資料夾結構,分層提供資訊

例如,當發現某個 job 長時間停留在 pending 狀態時,
Claude 可以進一步查閱
stuck-jobs.md,了解排查與處理方式。Skill 是資料夾,整個檔案系統就是你的 Context 工程工具。告訴 Claude 裡面有哪些檔案,它就會在適當時機自行去讀。
最簡單的做法是指向其他 Markdown 文件,例如把詳細的函式簽名和使用範例放到 references/api.md。如果你的最終產出是 Markdown,可以在 assets/ 放範本讓它複製使用。
🗂️ 架構範例
SKILL.md 指向多個子文件,例如「如果工作卡住,去看 stuck-jobs.md」。這樣的設計讓 Claude 能在需要時才載入相關資訊,避免一開始就塞滿 context。
4. 別把 Claude 綁死

Claude 通常會盡量遵循你的指令;由於 Skills 會被重複使用,撰寫指令時需要避免過度具體。提供 Claude 完成任務所需的資訊,同時保留足夠彈性,讓它能依照實際情境調整做法。
5. 預先想清楚設定方式

有些 Skills 可能需要使用者提供背景資訊才能完成設定。舉例來說,如果你正在製作一個會將 standup 發布到 Slack 的 Skill,可能會希望 Claude 先詢問要發布到哪個 Slack channel。
一個好的做法,是像上面的範例一樣,把這些設定資訊存放在 Skill 目錄中的 config.json 檔案裡。如果尚未完成 config 設定,Agent 就會主動向使用者詢問。
如果你希望 Agent 以結構化、多選題的形式提問,可以指示 Claude 使用 AskUserQuestion 工具。
6. 描述是寫給 AI 看的,不是給人看的

例如「babysit」,幫助 Claude 判斷何時該使用這個 Skill。
Claude Code 在每次 Session 開始時,會掃描所有可用 Skill 的描述,決定「這個請求是否有適合對應的 Skill 可以使用?」,所以 description 欄位的作用不是 Skill 的摘要,而是用來描述「何時應該觸發這個 Skill」。
這代表 description 欄位並非 Skill 的摘要,而是用來描述「何時應該觸發這個 Skill」。
7. 讓 Claude 有記憶

有些 Skills 可以透過儲存資料的方式具備類似記憶(memory)的能力。這些資料可以存放在簡單的 append-only 文字紀錄檔、JSON 檔案中,也可以使用較完整的 SQLite 資料庫。
例如,一個 standup-post Skill 可以維護一份 standups.log,記錄過去產生的所有 standup 內容。當下一次執行時,Claude 可以讀取這些歷史紀錄,判斷與前一天相比有哪些變化。
你也可以透過環境變數 ${CLAUDE_PLUGIN_DATA} 取得一個固定且持久化的資料目錄,用來儲存 Skill 所需的資料。
💡 更多關於 Skill 資料持久化(Persistent Data)的說明,可參考 Claude 官方文件。
8. 儲存腳本並提供程式碼工具
你能提供給 Claude 最強大的工具之一,就是程式碼本身。透過提供現成的腳本與函式庫,Claude 可以把更多資源放在任務組合與決策上,例如判斷下一步該做什麼,而非花時間重複撰寫基礎樣板程式碼。
舉例來說,在資料科學(Data Science)相關的 Skill 中,你可以建立一套用於擷取事件資料(event data)的函式庫。當 Claude 需要進行較複雜的資料分析時,就能直接使用這些現成工具,而不需要每次重新撰寫資料存取邏輯。
例如,你可以提供一組類似以下的輔助函式(helper functions):

Claude 可以根據需求動態產生腳本,將這些功能組合起來,執行更複雜的分析。例如面對「週二發生了什麼事?」這類問題時,Claude 能利用既有的資料擷取與分析工具,自行完成查詢流程並產出結果。

9. 善用情境式 Hooks
Skill 可以包含只有在該 Skill 被呼叫時才會啟用的 hooks,而且這些 hooks 只會在當前 session 期間生效。這類設計適合用於較具限制性或特定用途的規則:平常不需要一直開啟,但在某些情境下能提供很大幫助。
實用的 Hook 範例
/careful:透過 PreToolUse matcher 攔截rm -rf、DROP TABLE、強制推送、kubectl delete。這類保護機制特別適合在操作正式環境(Production)時使用。如果長期保持啟用,日常開發過程可能會受到過多限制。/freeze:阻止所有不在指定目錄內的 Edit 或 Write 操作。這在除錯階段特別實用,例如:「我現在只想新增一些 log,但總是不小心順手修改了其他無關程式碼。」
啟用/freeze後,可以將變更範圍限制在特定目錄,降低意外修改其他程式碼的機率。
技能分享:從個人到整個團隊
Skills 最大的價值之一,在於能夠在團隊內部共享與複用。目前有兩種常見的分享方式:
方法一:放進 Repo(適合小團隊)
將 Skills 簽入你的 Repo,放在 ./.claude/skills 目錄下。規模不大、Repo 數量不多時,這個方式運作得很好。不過每多一個 Skill,模型的 context 就會增加一點。
方法二:建立 Plugin 市集(適合規模化)
把 Skills 打包成 Plugin,搭建內部的 Plugin 市集,讓團隊成員自行選擇安裝。這樣能讓每個人只載入自己需要的工具,還可以附帶設定引導流程。
如何管理 Skills Marketplace?
哪些 Skills 應該被放入 Marketplace?又該如何提交新的 Skills?
在 Anthropic 內部,並沒有專門負責審核 Skills 的中央團隊,而是透過自然擴散的方式找出最有價值的 Skills。
如果有人開發了一個希望同事試用的 Skill,可以先上傳到 GitHub 的 sandbox 資料夾,並透過 Slack 或其他內部管道分享給團隊。
當這個 Skill 累積一定使用量並獲得團隊採用後(由 Skill 擁有者自行判斷),便可以提交 Pull Request(PR),將其正式加入 Marketplace。
Skills 的組合與衡量成效
技能組合
有些 Skills 之間可能存在依賴關係。例如:
- File Upload Skill:負責上傳檔案
- CSV Generation Skill:負責產生 CSV 檔案並完成上傳
目前 Skills 與 Marketplace 尚未內建依賴管理機制。不過,你仍然可以在 Skill 中引用其他 Skill 的名稱,只要相關 Skill 已安裝,Claude 就能自動呼叫並串接使用,這讓多個 Skills 能夠組合成更完整的工作流程。
如何衡量 Skill 的成效?
為了了解 Skills 的實際使用情況,Anthropic 透過 PreToolUse Hook 記錄公司內部的 Skill 使用資料。透過這些紀錄,團隊可以觀察:
- 哪些 Skills 最常被使用
- 哪些 Skills 使用率持續成長
- 哪些 Skills 觸發次數低於預期
- 哪些 Skills 可能需要調整描述或觸發條件
這些數據有助於團隊持續優化 Marketplace 內容,並評估哪些 Skills 真正提升了工作效率。
常見問題
1. Claude Code 的 Skill 和一般的 Prompt 有什麼差別?
一般 Prompt 只是文字指令,Skill 則更像是一個完整的工具包,還可以設定 Hooks、儲存執行狀態,並在團隊間共享分發。
2. 建立 Claude Code Skill 需要會寫程式嗎?
不需要程式能力。最基礎的 Skill 只需要 Markdown 就能建立,但如果要發揮 Skill 的最大效益,加入腳本和輔助函式會讓 Agent 的工作效率大幅提升。
3. Skill 的 description 應該怎麼寫?
Description 要寫給 AI 看,重點是「什麼情況下該觸發這個 Skill」。要包含觸發關鍵詞,這樣 Claude 才能在對應情境下自動選用它。
4. Anthropic 最推薦先建哪一類 Skill?
Anthropic 特別強調「產品驗證」類的 Skill 對輸出品質的影響最大。他們建議值得讓一位工程師花整整一週,專門把驗證類 Skill 做好。另外,「踩坑紀錄」也是含金量最高的內容,隨時更新這個區塊,長期效益非常顯著。
5. 如何在團隊內共享 Skill?
小團隊可以把 Skill 放進 Repo 的 .claude/skills 目錄,透過版本控制共享。規模較大時,建議建立內部 Plugin 市集,讓團隊成員自行選擇安裝需要的 Skill,避免每個人都載入全部工具增加 context 負擔。
延伸資源
官方資源連結
- Skills 官方文件
- Anthropic Skills 範例(GitHub)
- Introduction to Agent Skills 線上課程
- Skills 持久化資料目錄文件
- Skill 使用量測 Hook 範例程式碼



