本文聚焦兩個問題:
SKILL.md應該怎麼寫,結構如何設計。- 如何寫出高品質、可維護、可重用的 Skills。
1. SKILL.md 規範詳解
SKILL.md 是一個技能的核心描述檔。它通常由兩部分組成:
- YAML Frontmatter:定義技能中繼資訊。
- Markdown 正文:定義執行說明與實作方法。
1.1 Frontmatter 示例
|
|
1.2 正文建議結構
|
|
2. 撰寫高品質 Skills 的原則
結合官方文件與社群實踐,建議遵循以下四條原則。
2.1 Description 要精準
description 是技能匹配的關鍵入口,建議做到:
- 明確適用範圍,避免「幫助處理資料」這類泛化描述。
- 包含觸發關鍵詞,便於匹配使用者意圖。
- 說明獨特價值,與其他技能形成邊界。
不佳示例:
|
|
推薦示例:
|
|
2.2 模組化與單一職責
一個 Skill 應聚焦一個明確任務域。若一個 Skill 試圖覆蓋過多能力,通常會導致:
- Description 變寬,匹配精度下降。
- 指令變長,增加上下文負擔。
- 維護與迭代成本上升。
建議將「通用大技能」拆分為多個專用技能,例如:
mysql-employees-analysissales-data-analysisuser-behavior-analysis
2.3 確定性優先
對於複雜且要求精確的任務,優先採用「腳本執行」,不要完全依賴 LLM 文字生成。
例如在資料匯出場景,與其讓 LLM 直接生成 Excel 二進位內容,不如使用專用腳本處理;SKILL.md 只需說明觸發條件與調用方式。
2.4 漸進式揭露
將資訊按重要性和頻率分層,避免無效上下文占用:
SKILL.md主體:核心工作流與常用模式- 附加文件(如
advanced.md):進階用法與邊緣場景 - 資料文件:大型參考資料,透過腳本按需讀取
總結
高品質 Skills 的目標不是「寫得多」,而是「邊界清晰、觸發準確、執行穩定、可持續維護」。
從規範化 SKILL.md 開始,再結合單一職責與漸進式揭露,你就能構建出更高效的技能體系。