Claude Code Plugins

Community-maintained marketplace

Feedback

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

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name skill-creator
description 建立有效技能的指南。當使用者想要建立新技能(或更新現有技能)以透過專業知識、工作流程或工具整合來擴展 Claude 的能力時,應使用此技能。
license 完整條款請參閱 LICENSE.txt

技能建立器

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

關於技能

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

技能提供的內容

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

技能的構成

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

skill-name/
├── SKILL.md (必要)
│   ├── YAML frontmatter 中繼資料 (必要)
│   │   ├── name: (必要)
│   │   └── description: (必要)
│   └── Markdown 指示 (必要)
└── 捆綁資源 (可選)
    ├── scripts/          - 可執行程式碼(Python/Bash 等)
    ├── references/       - 預期在需要時載入至上下文中的文件
    └── assets/           - 用於輸出的檔案(範本、圖示、字型等)

SKILL.md(必要)

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

捆綁資源(可選)

腳本(scripts/

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

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

預期在需要時載入至上下文中以指導 Claude 流程和思考的文件和參考資料。

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

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

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

漸進式揭露設計原則

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

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

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

技能建立流程

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

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

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

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

例如,在建立影像編輯器技能時,相關問題包括:

  • 「影像編輯器技能應支援哪些功能?編輯、旋轉,還有其他的嗎?」
  • 「能否提供一些如何使用此技能的範例?」
  • 「我可以想像使用者會要求『移除此圖片的紅眼』或『旋轉此圖片』之類的事情。您能想到此技能還會被如何使用嗎?」
  • 「使用者會說什麼來觸發此技能?」

為避免讓使用者不知所措,請避免在單一訊息中提出太多問題。從最重要的問題開始,並根據需要進行後續追問以獲得更好的效果。

當清楚了解技能應支援的功能時,即可結束此步驟。

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

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

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

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

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

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

  1. 編寫前端 webapp 每次都需要相同的 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>

該腳本會:

  • 在指定路徑建立技能目錄
  • 生成帶有適當 frontmatter 和 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 frontmatter 格式和必要欄位
    • 技能命名慣例和目錄結構
    • 描述的完整性和品質
    • 檔案組織和資源參考
  2. 打包技能(如果驗證通過),建立以技能命名的 zip 檔案(例如 my-skill.zip),其中包含所有檔案並維持適當的目錄結構以供分發。

如果驗證失敗,腳本會報告錯誤並在不建立套件的情況下退出。修復任何驗證錯誤後,再次執行打包命令。

步驟 6:迭代

測試技能後,使用者可能會要求改進。這通常發生在使用技能後不久,對技能的表現有新鮮的認知。

迭代工作流程:

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