# skill-creator > 建立有效技能的指南。當使用者想要建立新技能(或更新現有技能)以透過專業知識、工作流程或工具整合來擴展 Claude 的能力時,應使用此技能。 - Author: cwchang2258 - Repository: ammosu/awesome-claude-skills-zh-TW - Version: 20251215160740 - Stars: 2 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/ammosu/awesome-claude-skills-zh-TW - Web: https://mule.run/skillshub/@@ammosu/awesome-claude-skills-zh-TW~skill-creator:20251215160740 --- --- 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 中的 `name` 和 `description` 決定 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` 腳本。該腳本會方便地生成新的範本技能目錄,自動包含技能所需的一切,使技能建立流程更加高效且可靠。 使用方式: ```bash scripts/init_skill.py --path ``` 該腳本會: - 在指定路徑建立技能目錄 - 生成帶有適當 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 檔案以與使用者共享。打包流程會自動先驗證技能以確保符合所有要求: ```bash scripts/package_skill.py ``` 可選的輸出目錄規格: ```bash scripts/package_skill.py ./dist ``` 打包腳本會: 1. **驗證**技能,自動檢查: - YAML frontmatter 格式和必要欄位 - 技能命名慣例和目錄結構 - 描述的完整性和品質 - 檔案組織和資源參考 2. **打包**技能(如果驗證通過),建立以技能命名的 zip 檔案(例如 `my-skill.zip`),其中包含所有檔案並維持適當的目錄結構以供分發。 如果驗證失敗,腳本會報告錯誤並在不建立套件的情況下退出。修復任何驗證錯誤後,再次執行打包命令。 ### 步驟 6:迭代 測試技能後,使用者可能會要求改進。這通常發生在使用技能後不久,對技能的表現有新鮮的認知。 **迭代工作流程:** 1. 在實際任務中使用技能 2. 注意困難或效率低下之處 3. 識別應如何更新 SKILL.md 或捆綁資源 4. 實作變更並再次測試