LuluSkill 文章
AI Skill(Agent Skills)是什麼?SKILL.md 怎麼運作,以及如何安全地使用
用白話說明 AI Skill:SKILL.md 資料夾裡有什麼、依各家官方文件哪些工具會讀取它、Skill 和提示詞、外掛、MCP 伺服器有什麼不同,以及如何逐步檢查並使用一個 Skill。
這是 LuluSkill 自己寫的內容。它不引用、不鏡像、也不摘要任何第三方 Skill,也不推薦任何一個。閱讀它不會建置、發布或執行任何東西:AI 工具會拿你的文字做什麼,要由你自己檢查。
先說結論
簡短回答
AI Skill(也稱為 Agent Skill)是一個裝著指示的資料夾,AI 助理只在任務需要時才載入它。它的核心是一個 SKILL.md 檔案:開頭用簡短的名稱與說明告訴助理什麼時候該用它,接著寫下逐步的做法,有時還附上腳本或參考檔案。
概念很簡單:與其在每一次對話裡貼上同一大段指示,不如把它寫成一個格式固定的資料夾,只寫一次;當你的需求符合這個 Skill 所說的用途時,助理就會把它帶進來。一個 Skill 可以教助理某種報告的寫法、審查一次修改時要看的清單,或是把試算表整理成圖表的確切步驟。
「AI 技能」這個詞也常被用在兩件無關的事情上:一是人們為了使用 AI 而學習的能力,二是某些軟體產品剛好把自己的功能叫做 skill。這篇文章談的不是這些,而是好幾個 AI 助理現在都會讀取的一種檔案格式,它以開放規格的形式發布,名稱就叫 Agent Skills。
SKILL.md 檔案怎麼運作
依照規格,一個 Skill 就是一個資料夾,裡面至少要有一個名為 SKILL.md 的檔案。檔案開頭是一小段夾在兩行三個連字號之間的中繼資料(YAML frontmatter),其餘則是一般的 Markdown,也就是指示本身。規格不限制指示的寫法,只建議寫出逐步做法、輸入與輸出的範例,以及常見的例外情況。
在 SKILL.md 旁邊,資料夾還可以放三種選用的內容:scripts 資料夾放助理可以執行的程式,references 資料夾放需要時才讀的較長文件,assets 資料夾放範本、圖片或資料檔。大多數 Skill 只有那一個檔案;只有在任務需要固定範本或輔助程式時,才會出現其他資料夾。
規格定義的中繼資料欄位
白話解釋
- name(必填)
- 最多 64 個字元,只能用小寫英文字母、數字和單一連字號,不能以連字號開頭或結尾,而且必須和資料夾名稱相同。
- description(必填)
- 最多 1,024 個字元,說明這個 Skill 做什麼、什麼時候該用。助理就是讀這段文字來判斷 Skill 是否符合你的需求,寫得含糊,它就永遠不會被選中。
- license(選填)
- 授權的名稱,或是資料夾裡附帶的授權檔案名稱。
- compatibility(選填)
- 最多 500 個字元,說明這個 Skill 需要什麼環境:預期搭配的產品、系統套件或網路存取。規格也提到,大多數 Skill 用不到這個欄位。
- metadata(選填)
- 自由填寫的鍵值對,例如作者或版本,用來放規格沒有定義的資訊。
- allowed-tools(選填,實驗性)
- 列出這個 Skill 執行時預先核准使用的工具。各家助理的支援程度不同;評估別人的 Skill 時,這是第一個要看的欄位,因為它會擴大助理不必詢問就能做的事。
一個虛構的 Skill,逐行說明
範例
一個替志工團隊把一週筆記整理成進度報告的小型 Skill。
- 資料夾名稱是 weekly-update,name 欄位也寫得一模一樣。
- description 寫著:把本週的會議筆記整理成簡短的進度報告;當有人要求每週更新或進度摘要時使用。
- 本文列出四個步驟:整理已完成、卡住與下一步的事項;每一點只寫一行;沒有同意具名的人不寫名字;最後列出待解決的問題。
- references 資料夾放著團隊的報告範本;沒有腳本,也沒有 allowed-tools,所以這個 Skill 只影響文字。
這個資料夾裡沒有指定任何助理。任何能讀這個格式的工具都能使用它,這正是開放規格的用意。
三個載入階段(漸進式揭露)
- 工作階段開始時,助理只讀取每個 Skill 的名稱與說明;規格估計每個 Skill 大約一百個 token。
- 當需求符合某個說明時,助理才載入該 Skill 的完整 SKILL.md 本文。規格建議本文控制在 5,000 個 token 以內,檔案不超過 500 行。
- 只有當指示提到某個腳本、參考文件或素材時,助理才會打開那個檔案。
正因為這樣分階段載入,同一個地方放幾十個 Skill 也不會拖慢每一次對話;也因此,說明文字比任何一行都重要——它是助理做決定之前唯一看得到的部分。
哪些工具支援 Skill(截至 2026 年 9 月)
這個格式最初由 Anthropic 開發,後來以開放標準發布;規格網站上列出了一長串、而且還在增加的採用產品。下表只涵蓋我們為這篇文章實際讀過官方文件的工具,內容也只寫那些文件說的事。各家經常更新這些頁面,所以請以文末的來源為準,而不是這份摘要。
| 工具 | Skill 放在哪裡 | Skill 如何被使用 |
|---|---|---|
| Claude Code(終端機與編輯器) | 家目錄下的個人資料夾(~/.claude/skills),或專案內的資料夾(.claude/skills)。 | 說明符合時自動載入,或輸入斜線加上 Skill 名稱手動啟用。 |
| Claude 應用程式與 Claude API | 在應用程式設定中以 zip 上傳,或透過 API 上傳。應用程式、API 與 Claude Code 之間的 Skill 不會同步。 | 需要時自動使用;必須開啟程式碼執行功能,且各方案的可用性不同,請確認自己的方案。 |
| Codex(命令列與編輯器擴充功能) | 儲存庫中的 .agents/skills 資料夾、家目錄中的 ~/.agents/skills,以及 Codex 內建的 Skill。 | 用錢字號提及、從 skills 指令中挑選,或在說明符合時自動選用。 |
| ChatGPT(工作區方案) | 在符合資格的工作區方案中,可透過對話、編輯器或上傳建立;適用方案請見 OpenAI 說明中心。 | 在訊息框輸入小老鼠符號來選取,或在說明符合時自動選用。 |
| GitHub Copilot(GitHub 與編輯器) | 專案內的 .github/skills、.claude/skills 或 .agents/skills,或個人的 ~/.copilot/skills、~/.agents/skills。 | 由 Copilot 依你的提示與說明決定;官方文件列出雲端代理、程式碼審查、命令列與編輯器的代理模式。 |
| VS Code(代理模式) | 與 Copilot 相同的專案資料夾,另外還有包含 ~/.claude/skills 在內的個人資料夾。 | 自動載入,或在對話中用斜線啟用。 |
比較
這張表沒有告訴你的事
- 各家會在開放欄位之外加上自己的欄位,例如只允許你、而不允許助理啟用某個 Skill 的開關;所以替某個工具寫的 Skill,可能帶著另一個工具會忽略的設定。
- 有些工具另有命名規則,例如 Anthropic 的文件規定,Skill 名稱裡不能出現它自己的公司或產品名稱。
- 完全不讀 SKILL.md 的工具,例如一般聊天程式或在本機跑模型的軟體,只要 Skill 不依賴它的腳本,你把本文貼進去當提示詞,它一樣能照著做。
Skill、提示詞、外掛與 MCP 有什麼不同
有四個概念和 Skill 很接近,而各家官方文件劃分的界線相當一致。Anthropic 的 Claude Code 文件用一句話說明:MCP 讓助理連上外部服務,Skill 則擴充它知道的事,包括怎麼把那些服務用好。OpenAI 的文件則把外掛描述為一個可安裝的套件,裡面可以包含 Skill 和 MCP 伺服器。
| 類型 | 它是什麼 | 什麼時候載入 | 適合在什麼時候用 |
|---|---|---|---|
| 提示詞 | 你為這一次需求打的文字。 | 只存在於你輸入它的那次對話。 | 任務只做一次,或你還在釐清自己想要什麼。 |
| 常駐指示檔(AGENTS.md、CLAUDE.md、自訂指示) | 一個專案或帳號的固定規則。 | 每次工作階段都自動載入。 | 幾乎每個任務都需要助理記得的事。 |
| Skill(技能) | 裝在 SKILL.md 資料夾裡的一套做法或專門知識。 | 需要時才載入:需求符合說明,或你主動呼叫時。 | 你會反覆做同一類任務,希望每次都用同樣方式完成。 |
| MCP 伺服器 | 透過 Model Context Protocol,讓助理取得其他服務的工具與資料的連線。 | 連線期間都在;它提供的工具隨時可以呼叫。 | 助理需要讀取或修改對話以外的東西。 |
| 外掛(plugin) | 把 Skill、MCP 伺服器與其他設定打包起來、方便安裝的套件。 | 裡面的每個部分,依各自的規則載入。 | 你想把整套設定一次交給別人使用。 |
比較
簡單的判斷方式
- 如果你幾乎每次對話都會貼上它,就放進常駐指示檔。
- 如果只有做某一類任務時才會貼上它,但每次做都要貼,就寫成 Skill。
- 如果助理必須碰到對話以外的東西,例如行事曆、資料庫或議題追蹤系統,那需要的是連線,而不是 Skill。
- Skill 裡的指示是助理會盡量遵守的要求,不是強制的限制。Anthropic 的文件對常駐指示檔也說明了同一點:如果某件事絕對不能發生,應該在工具本身的設定裡加上阻擋規則。
如何安全地評估一個 Skill
Skill 是助理會照著做的指示,有時還包含它會執行的程式碼,所以各家對第三方 Skill 的說法都很直接。Anthropic 的文件說,只使用來自可信來源的 Skill,其他來源的 Skill 必須徹底檢查,因為惡意的 Skill 可能讓助理以不符合其宣稱用途的方式使用工具或執行程式。GitHub 的文件說,GitHub 不會驗證 Skill,其中可能含有提示詞注入、隱藏指示或惡意腳本。Claude Code 的文件則要求你,在某個儲存庫裡工作之前,先檢查其中每個 Skill 的 allowed-tools 設定。
加入任何 Skill 之前
- 找到原始來源,記下你正在看的確切版本,確保你檢查過的就是你實際使用的。
- 讀完整份 SKILL.md,不要只看說明。只要看到要求抓取網頁、把資料傳到別處,或忽略先前規則的指示,就該停下來。
- 打開每一個腳本與參考檔案。如果看不懂某個腳本在做什麼,就把它當成會做最糟糕的事來看待。
- 檢查 allowed-tools,以及任何要求金鑰、網路存取或任務範圍外檔案的地方。
- 在複製、修改或分享 Skill 之前,先確認它的授權。
- 先在工作的副本上試用,絕不要直接用在重要東西的唯一版本上。
逐步使用一個 Skill
- 在找 Skill 之前,先用一句話說出任務,並決定怎麼判斷結果是對的。
- 找一個說明和任務高度吻合的候選 Skill,並用上一節的清單檢查它。
- 把資料夾放到你的工具會尋找 Skill 的位置(上面的表格列出了官方文件寫的位置),並保持資料夾名稱與 name 欄位一致。
- 開啟新的工作階段,確認工具有列出這個 Skill。如果沒有,代表資料夾位置不對,或中繼資料格式有誤。
- 第一次使用時,請主動呼叫這個 Skill,而不是等助理自己選,這樣你才知道結果是依哪一份指示做出來的。
- 用第一步寫下的判斷方式檢查結果,並用白話記下哪裡出了問題。
- 作者發布新版本時,先看改了什麼再更新;更新等於要重新檢查一個新的 Skill,而不是例行公事。
在 LuluSkill 上找 Skill、規劃任務
LuluSkill 把兩類條目放在同一個 Skill 頁面上,可以依類別瀏覽。已審查的 Skill 固定在來源的某一個確切版本,並記錄授權、作者、掃描結果,以及它與哪些 AI 工具一起檢查過。開源專案收錄則指向 GitHub 上的 Skill 專案,作為參考:每一筆都記錄來源、審查時的 commit 和找到的授權,只提供連結,不複製任何內容。LuluSkill 不會替你安裝或執行其中任何一個。
在本站接著去哪裡
- AI Skill:已審查的 Skill 與開源專案 已審查的 Skill 固定版本,附上授權、作者與檢查時搭配的工具;旁邊是連到原始儲存庫的開源 Skill 專案。
- 任務規劃範本 常見任務的現成規劃,先調整成你的情況,再交給助理。
- 引導式開始 用一句話描述任務,拿到可以貼進你自己 AI 工具的指示。
- 提示詞助手 當你的工具不讀 Skill 時,把粗略的需求整理成有結構的提示詞。
資料來源
- Agent Skills: 開放 Agent Skills 格式總覽 閱讀日期:2026-09-25
- Agent Skills: 規格:SKILL.md 欄位、資料夾與漸進式揭露 閱讀日期:2026-09-25
- Anthropic: Claude(應用程式與 API)的 Agent Skills 總覽,含安全注意事項 閱讀日期:2026-09-25
- Anthropic: Claude Code 中的 Skill 閱讀日期:2026-09-25
- Anthropic: 擴充 Claude Code:Skill、MCP、外掛與 CLAUDE.md 的比較 閱讀日期:2026-09-25
- Anthropic: 在 Claude 中使用 Skill(說明中心) 閱讀日期:2026-09-25
- OpenAI: 為 ChatGPT 與 Codex 建立 Skill 閱讀日期:2026-09-25
- OpenAI: ChatGPT 與 Codex 中的 Skill 與外掛 閱讀日期:2026-09-25
- GitHub: 關於 GitHub Copilot 的 agent skills 閱讀日期:2026-09-25
- GitHub: 為 Copilot 建立 agent skills,含安全警告 閱讀日期:2026-09-25
- Visual Studio Code: 在 VS Code 中使用 Agent Skills 閱讀日期:2026-09-25
你的下一步
用你自己的想法依序做三件事。每一件都不需要帳號、工具或 Skill。
- 寫下一件你每週都會重複做的任務,以及一句能讓助理知道何時該使用這套指示的說明。
- 到你自己工具的官方文件裡,查清楚它從哪裡讀取 Skill,以及你的方案是否包含這個功能。
- 加入任何別人的 Skill 之前,完整讀過它的 SKILL.md 與腳本,並記下你檢查的確切版本。