如何在Claude中創建自定義技能:逐步指南
本文詳細介紹瞭如何在Claude中創建自定義技能(Skills),從基礎概念到實際構建一個數據質量審核技能。覆蓋了技能的工作原理、文件結構、配置選項,以及在Claude Code和Web/桌面應用中的使用差異。無需編程基礎即可創建簡單技能,通過Markdown即可定義任務指令。
在人工智能模型日益強大的今天,如何讓AI工具更高效地服務於特定工作流程成為團隊關注的焦點。Claude作為一款先進的AI助手,能夠審查數據、檢查代碼、撰寫報告和準備演示文稿,但團隊經常發現自己在每次對話中重複相同的結構、驗證規則、公司標準和最終檢查指令。這種重複不僅浪費時間,還導致結果不一致。
Claude的自定義技能(Custom Skills)正是為解決這一痛點而設計。它通過打包可重用的指令、工作流、模板、腳本、示例和參考文件,讓Claude能夠在匹配任務時自動加載這些資源。本文將全面解析Claude技能的工作原理,探討配置選項,並逐步構建一個實用的CSV數據審核技能。
什麼是Claude自定義技能?
一個技能本質上是一個目錄,包含讓Claude完成特定任務的指令和可選資源。每個技能至少需要一個SKILL.md文件,該文件定義了技能的功能、使用場景以及Claude應遵循的步驟。它還可以定義輸出格式,並指向腳本、模板、示例或參考文件。
技能遵循Agent Skills開放標準(agentskills.io),其核心——名稱、描述和純Markdown——可在Claude應用、Claude Code、Claude Agent SDK和Claude開發者平台之間移植。不同的產品會在此基礎上擴展自己的特性,這也是大多數混淆的來源。
技能與自定義命令的合併
如果您之前使用過Claude Code,可能已經在.claude/commands/目錄下存放了一些文件。現在自定義命令已合併到技能中。.claude/commands/deploy.md和.claude/skills/deploy/SKILL.md都會創建/deploy命令,行為完全相同。現有的命令文件繼續有效,技能在此基礎上增加了可選功能:支持文件的目錄、控制調用方式的前言元數據,以及任務相關時的自動加載。如果技能和命令同名,技能優先。
是否需要編程?
不需要。一個基本的自定義技能只需要Markdown。例如,以下就是一個完整的技能:
---
name: code-review-python
---
Review Python code for best practices, type hints, and PEP 8 compliance.當需要分析數據、處理文件、驗證輸出、生成可視化、轉換結構化信息、調用命令行工具、執行確定性計算、創建或修改文檔,或自動化開發工作流時,代碼才會派上用場。規則很簡單:純指令工作流不需要代碼;確定性處理或自動化需要代碼幫助;外部系統集成通常需要工具、腳本或MCP。從Markdown開始,僅在指令無法產生可靠執行時才添加代碼。
Claude技能的工作原理
技能採用漸進式披露機制,而不是將每個技能和每個文件都加載到上下文窗口中。Claude分階段加載信息:
- 階段1:發現:啓動時,Claude僅讀取每個技能的元數據(名稱和描述),根據描述判斷是否匹配您的請求。
- 階段2:指令加載:一旦Claude確定技能相關,就加載SKILL.md的Markdown正文。
- 階段3:支持資源:Claude根據需要讀取腳本、示例、引用和模板。參考文件和數據在讀取前不消耗上下文令牌;腳本通過bash執行,只有輸出消耗上下文。
一個重要後果:技能內容在會話中持續存在。在Claude Code中調用技能後,渲染的SKILL.md作為一條消息進入對話,並在會話剩餘部分保持。因此,應將在整個任務中適用的指導寫為常設指令,而非一次性步驟。SKILL.md中的每一行都是反覆出現的令牌成本,應保持正文簡潔,將細節推送到參考文件中。
技能剖析
典型的技能目錄結構:
- SKILL.md(必需):YAML前言 + Markdown指令
- references/:詳細信息的參考文件(編碼標準、業務規則等)
- examples/:好結果和壞結果的示例
- templates/:固定輸出結構
- scripts/:確定性處理腳本
僅打包文件是不夠的,需要在SKILL.md中顯式引用它們。建議將SKILL.md控制在500行以內。
前言參考
前言的便攜核心字段是name(標識符/顯示名稱)和description(技能功能和使用場景)。在Claude Code中,所有前言字段都是可選的,只有description推薦填寫。其他字段如when_to_use(觸發短語)、argument-hint(自動完成提示)、arguments(命名位置參數)、disable-model-invocation(禁止自動加載)、user-invocable(隱藏/菜單)、allowed-tools/disallowed-tools(工具權限)、model(指定模型)、effort(努力水平)、context(子代理上下文)、hooks(生命週期鈎子)、paths(自動激活的文件路徑模式)、shell(shell類型)等提供了更精細的控制。
在Claude.ai(Web/桌面應用)中,name和description必須填寫,name最多64字符,description最多200字符。還可選dependencies字段聲明所需的包。
手把手項目:構建數據質量審核技能
我們將構建一個分析CSV數據集並檢查行/列計數、缺失值、重複記錄、數據類型、高基數列、常量列、數值摘要及其他異常模式的技能。
前提條件
- 安裝Claude Code
- Python 3.9以上
- Pandas(pip install pandas)
- 一個項目目錄和用於測試的CSV文件
步驟1:創建技能目錄
對於項目級技能:
.claude/skills/data-quality-auditor/對於個人技能(跨所有項目),使用~/.claude/skills/。
步驟2:創建SKILL.md
在.claude/skills/data-quality-auditor/SKILL.md中寫入內容,包含YAML前言和Markdown指令,定義技能名稱、描述、觸發條件,以及具體的審核步驟。例如,設置allowed-tools允許Claude運行Python腳本。
步驟3:編寫審核腳本
在scripts/目錄下創建Python腳本(如audit.py),使用Pandas加載CSV並生成各項統計信息。腳本應輸出可被Claude解析的結果。
步驟4:使用技能
在Claude Code中,可以通過/命令調用技能,或讓Claude根據描述自動加載。對於Web/桌面應用,需要將技能目錄上傳到賬户設置中。
結論
Claude的自定義技能為團隊提供了標準化工作流、提高一致性和效率的強大工具。從簡單的Markdown指令到包含腳本和參考文件的複雜技能,用户可以根據需求逐步擴展。無論是代碼審查、數據質量檢查還是報告生成,技能都能減少重複勞動,讓AI更智能地適應團隊需求。