skill-creator

skill-creator

熱門

建立有效技能的指南。當使用者想要建立一個新技能(或更新現有技能)來擴展 Claude 的能力,提供專業知識、工作流程或工具整合時,應使用此技能。

6.9萬星標
7804分支
更新於 2026/5/22
SKILL.md
readonlyread-only
name
skill-creator
description

建立有效技能的指南。當使用者想要建立一個新技能(或更新現有技能)來擴展 Claude 的能力,提供專業知識、工作流程或工具整合時,應使用此技能。

Skill Creator

此技能提供建立有效技能的指導。

關於技能

技能是模組化、自包含的套件,透過提供專業知識、工作流程和工具來擴展 Claude 的能力。把它們想像成特定領域或任務的「入門指南」——它們將 Claude 從通用代理轉變為配備程序性知識的專業代理,這些知識是任何模型都無法完全擁有的。

技能提供的內容

  1. 專業工作流程 - 特定領域的多步驟程序
  2. 工具整合 - 使用特定檔案格式或 API 的指示
  3. 領域專業知識 - 公司特定的知識、綱要、商業邏輯
  4. 捆綁資源 - 用於複雜和重複性任務的腳本、參考文件和資產

技能的結構

每個技能包含一個必要的 SKILL.md 檔案和可選的捆綁資源:

skill-name/
├── SKILL.md (必要)
│   ├── YAML 前置中繼資料 (必要)
│   │   ├── name: (必要)
│   │   └── description: (必要)
│   └── Markdown 指示 (必要)
└── 捆綁資源 (可選)
    ├── scripts/          - 可執行程式碼 (Python/Bash/等)
    ├── references/       - 文件,按需載入到上下文
    └── assets/           - 輸出中使用的檔案 (模板、圖示、字型等)
SKILL.md (必要)

中繼資料品質: YAML 前置中的 namedescription 決定 Claude 何時使用該技能。具體說明技能的功能和使用時機。使用第三人稱(例如「此技能應在……時使用」而非「在……時使用此技能」)。

捆綁資源 (可選)
腳本 (scripts/)

用於需要確定性可靠性或反覆重寫的任務的可執行程式碼 (Python/Bash/等)。

  • 何時包含: 當相同程式碼被反覆重寫或需要確定性可靠性時
  • 範例: scripts/rotate_pdf.py 用於 PDF 旋轉任務
  • 優點: 節省 token、確定性高、無需載入到上下文即可執行
  • 注意: 腳本仍可能需要由 Claude 讀取以進行修補或環境特定調整
參考文件 (references/)

文件與參考資料,按需載入到上下文以告知 Claude 的流程和思考。

  • 何時包含: 用於 Claude 工作時應參考的文件
  • 範例: references/finance.md 用於財務綱要、references/mnda.md 用於公司 NDA 模板、references/policies.md 用於公司政策、references/api_docs.md 用於 API 規格
  • 使用案例: 資料庫綱要、API 文件、領域知識、公司政策、詳細工作流程指南
  • 優點: 保持 SKILL.md 精簡,僅在 Claude 判斷需要時載入
  • 最佳實踐: 如果檔案很大(超過 10,000 字),請在 SKILL.md 中包含 grep 搜尋模式
  • 避免重複: 資訊應僅存在於 SKILL.md 或參考檔案中,而非兩者。偏好將詳細資訊放在參考檔案中,除非該資訊是技能的核心——這能保持 SKILL.md 精簡,同時讓資訊可被發現而不佔用上下文視窗。僅將必要的程序性指示和工作流程指導保留在 SKILL.md 中;將詳細的參考資料、綱要和範例移至參考檔案。
資產 (assets/)

不打算載入到上下文,而是在 Claude 產生的輸出中使用的檔案。

  • 何時包含: 當技能需要最終輸出中使用的檔案時
  • 範例: assets/logo.png 用於品牌資產、assets/slides.pptx 用於 PowerPoint 模板、assets/frontend-template/ 用於 HTML/React 樣板、assets/font.ttf 用於排版
  • 使用案例: 模板、圖片、圖示、樣板程式碼、字型、會被複製或修改的範例文件
  • 優點: 將輸出資源與文件分離,使 Claude 能夠使用檔案而無需載入到上下文

漸進式揭露設計原則

技能使用三層載入系統以有效管理上下文:

  1. 中繼資料 (name + description) - 始終在上下文中(約 100 字)
  2. SKILL.md 主體 - 技能觸發時載入(少於 5,000 字)
  3. 捆綁資源 - 按 Claude 需求載入(無限制*)

*無限制,因為腳本可以在不讀入上下文視窗的情況下執行。

技能建立流程

要建立技能,請依序遵循「技能建立流程」,僅在明確不適用時跳過步驟。

步驟 1:透過具體範例理解技能

僅在已清楚理解技能的使用模式時跳過此步驟。即使處理現有技能,此步驟仍然有價值。

要建立有效的技能,請清楚理解技能將如何使用的具體範例。此理解可以來自直接的使用者範例,或透過使用者回饋驗證的生成範例。

例如,在建立 image-editor 技能時,相關問題包括:

  • 「image-editor 技能應支援哪些功能?編輯、旋轉,還有其他嗎?」
  • 「能否舉一些此技能將如何使用的範例?」
  • 「我可以想像使用者會要求像是『從這張圖片中移除紅眼』或『旋轉這張圖片』。您是否還有其他想像此技能被使用的方式?」
  • 「使用者說什麼話時應觸發此技能?」

為避免讓使用者感到負擔,避免在單一訊息中問太多問題。從最重要的問題開始,並根據需要跟進以獲得更好的效果。

當對技能應支援的功能有清晰概念時,結束此步驟。

步驟 2:規劃可重複使用的技能內容

要將具體範例轉化為有效的技能,請透過以下方式分析每個範例:

  1. 考慮如何從頭開始執行該範例
  2. 識別哪些腳本、參考文件和資產在反覆執行這些工作流程時會有幫助

範例:在建立 pdf-editor 技能以處理「幫我旋轉這個 PDF」這類查詢時,分析顯示:

  1. 旋轉 PDF 需要每次重寫相同的程式碼
  2. scripts/rotate_pdf.py 腳本儲存在技能中會很有幫助

範例:在設計 frontend-webapp-builder 技能以處理「幫我建立一個待辦事項應用程式」或「幫我建立一個儀表板來追蹤我的步數」這類查詢時,分析顯示:

  1. 撰寫前端網頁應用程式每次都需要相同的 HTML/React 樣板
  2. 將包含樣板 HTML/React 專案檔案的 assets/hello-world/ 模板儲存在技能中會很有幫助

範例:在建立 big-query 技能以處理「今天有多少使用者登入?」這類查詢時,分析顯示:

  1. 查詢 BigQuery 需要每次重新發現表格綱要和關聯
  2. 將記錄表格綱要的 references/schema.md 檔案儲存在技能中會很有幫助

要確定技能的內容,請分析每個具體範例,建立要包含的可重複使用資源清單:腳本、參考文件和資產。

步驟 3:初始化技能

此時,是時候實際建立技能了。

僅在正在開發的技能已存在,且需要迭代或打包時跳過此步驟。在這種情況下,請繼續下一步。

從頭建立新技能時,請務必執行 init_skill.py 腳本。該腳本能方便地生成新的模板技能目錄,自動包含技能所需的一切,使技能建立過程更高效且可靠。

使用方式:

scripts/init_skill.py <skill-name> --path <output-directory>

該腳本:

  • 在指定路徑建立技能目錄
  • 生成帶有正確前置和 TODO 佔位符的 SKILL.md 模板
  • 建立範例資源目錄:scripts/references/assets/
  • 在每個目錄中新增可自訂或刪除的範例檔案

初始化後,根據需要自訂或刪除生成的 SKILL.md 和範例檔案。

步驟 4:編輯技能

編輯(新生成或現有)技能時,請記住該技能是為另一個 Claude 實例使用而建立的。專注於包含對 Claude 有益且非顯而易見的資訊。考慮哪些程序性知識、領域特定細節或可重複使用的資產能幫助另一個 Claude 實例更有效地執行這些任務。

從可重複使用的技能內容開始

要開始實作,請從上述識別的可重複使用資源開始:scripts/references/assets/ 檔案。請注意,此步驟可能需要使用者輸入。例如,在實作 brand-guidelines 技能時,使用者可能需要提供品牌資產或模板以儲存在 assets/ 中,或提供文件以儲存在 references/ 中。

此外,刪除技能不需要的任何範例檔案和目錄。初始化腳本在 scripts/references/assets/ 中建立範例檔案以展示結構,但大多數技能不需要全部。

更新 SKILL.md

寫作風格: 使用祈使句/不定詞形式(動詞優先的指示)撰寫整個技能,而非第二人稱。使用客觀、指導性的語言(例如「要完成 X,請執行 Y」而非「你應該做 X」或「如果你需要做 X」)。這能保持 AI 使用的一致性和清晰度。

要完成 SKILL.md,請回答以下問題:

  1. 此技能的目的是什麼?用幾句話說明。
  2. 何時應使用此技能?
  3. 在實務中,Claude 應如何使用此技能?應參考上述開發的所有可重複使用技能內容,以便 Claude 知道如何使用它們。

步驟 5:打包技能

技能準備就緒後,應將其打包成可分發的 zip 檔案,並與使用者分享。打包過程會先自動驗證技能,確保其符合所有要求:

scripts/package_skill.py <path/to/skill-folder>

可選的輸出目錄指定:

scripts/package_skill.py <path/to/skill-folder> ./dist

打包腳本將:

  1. 驗證 技能自動化,檢查:

    • YAML 前置格式和必要欄位
    • 技能命名慣例和目錄結構
    • 描述完整性和品質
    • 檔案組織和資源參考
  2. 打包 技能(如果驗證通過),建立以技能命名的 zip 檔案(例如 my-skill.zip),包含所有檔案並維持正確的目錄結構以供分發。

如果驗證失敗,腳本將報告錯誤並退出,不建立套件。修正任何驗證錯誤後,再次執行打包命令。

步驟 6:迭代

測試技能後,使用者可能會要求改進。這通常發生在使用技能後,並對技能表現有最新了解。

迭代工作流程:

  1. 在真實任務上使用技能
  2. 注意困難或效率低下的地方
  3. 識別 SKILL.md 或捆綁資源應如何更新
  4. 實作變更並再次測試