Claude Skills 徹底爆了,從實現原理到 Claude Code、CodeX、OpenCode 實戰,一網打盡!

作者:AI技術宅
日期:2026年1月23日 上午8:20
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Claude Skills 漸進式披露機制,跨平台 Agent 能力標準,教你由 Claude CodeCodeXOpenCode 實戰搞掂

整理版摘要

呢篇文章係由R哥(公眾號「AI技術宅」)撰寫,佢之前已經分享過MCPClaude Code,而家就深入講Claude Skills呢個概念。Skills係Anthropic推出嘅一個模塊化能力擴展機制,核心係一個標準化目錄結構,包括必備嘅SKILL.md檔案同可選嘅scripts、references、assets。作者想解決嘅問題係點樣有效組織AI提示詞同工具,令模型可以按需加載相關能力,節省token消耗。

文章首先解釋Skills嘅架構同工作原理:透過漸進式披露分三步——發現階段只加載元數據(約100 tokens),激活階段先加載完整指令(少於5k tokens),執行階段按需加載scripts同references。呢種設計確保只有相關內容佔據上下文窗口,提升效率。作者仲詳細介紹咗SKILL.mdYAML前置元數據格式,name同description係必須,其他可選。

然後作者實戰示範點樣喺Claude CodeCodeXOpenCode三款工具中創建同使用Skills。佢用官方skill-creator引導式將自己之前喺GPT上嘅提示詞轉換成一個自媒體助手Skill,成功實現中文標題轉英文URL等功能。因為Agent Skills已經成為開放標準(agentskills.io),創建好嘅Skill可以跨平台使用:CodeX只需複製目錄,OpenCode更自動兼容Claude嘅Skills目錄。最…

  • Skills核心係漸進式披露:發現階段只加載元數據(~100 tokens),激活階段先加載完整指令(<5k tokens),執行階段按需加載scripts/references,有效控制上下文成本。
  • SKILL.md係每個Skill必備嘅文件,包含YAML前置元數據(name、description必須)同Markdown指令,結構簡單清晰,方便維護同分享。
  • Claude Code中,Skills可以透過/skills列出,自動或手動(/skill-name)引用;創建時可以用官方skill-creator引導式生成,支援將GPT提示詞轉換成本地Skill。
  • 因為Agent Skills已成開放標準(agentskills.io),創建好嘅Skill可以跨平台使用:複製到CodeX嘅~/.codex/skills即可;OpenCode更自動兼容Claude嘅Skills目錄,唔使額外複製。
  • Skills唔同於MCPMCP提供外部工具調用能力,Skills則教模型按流程執行,兩者可協同;Skills亦比Slash Commands多咗元數據同自動加載機制,模型可自行判斷使用時機。
值得記低
連結 agentskills.io

Agent Skills 開放標準

由 Anthropic 發佈並推動嘅開放標準,定義通用嘅 Agent Skills 格式,支援多平台。

連結 github.com

官方 Skills 倉庫

Anthropic 官方維護嘅 Skills,包含基本技能同 skill-creator。

連結 github.com

第三方 Skills 倉庫 (ComposioHQ)

社羣收集嘅多類型 Skills,可按需使用。

整理重點

咩係 Skills:概念與架構

Skills 係由 Anthropic 開發嘅 模塊化能力擴展機制,用嚟擴充 Claude 嘅功能。本質上佢係一個文件夾,包含 SKILL.md(指令同元數據)、scripts(可選執行腳本)、references(可選參考文檔)同 assets(可選模板資源)。

Skills 嘅核心優勢係按需加載:只有當 Claude 認為某個 Skill 同當前任務相關時,佢先會啓用,從而節省大量 Tokens

而家 Anthropic 已經將 Skills 標準化為 Agent Skills(agentskills.io),一個開放標準,畀唔同 AI 平台共用同一種格式。OpenAIGoogle、Cursor 等廠商都已經跟進支援。

整理重點

漸進式披露:Skills 嘅工作原理

Skills 透過 漸進式披露 管理上下文,分三步加載:發現、激活、執行。

  1. 1 發現(始終加載):代理只加載 SKILL.md 中嘅元數據(name、description),用以判斷何時使用。
  2. 2 激活(觸發時加載):當任務匹配描述,代理先將完整 SKILL.md 指令加載入上下文。
  3. 3 執行(按需加載):按指令操作,必要時加載 references 或執行 scripts。

呢種動態加載方式,令大量 Skills 可以共存,唔會產生多餘嘅上下文成本。

整理重點

自訂 Skills:SKILL.md 結構同創建方法

每個 Skill 必須有一個 SKILL.md 檔案,係 Markdown 格式,包含 YAML 前置元數據同 Markdown 指令。YAML 部分 name 同 description 係必填,其他如 license、compatibility、metadata 可選。

SKILL.md 範例(YAML + 指令) markdown
---
name: pdf-processing
description: 從 PDF 文件中提取文本和表格,填寫表單,合併文檔。
---

# PDF 處理

## 何時使用該技能
當用戶需要處理 PDF 文件時,使用該技能……

## 如何提取文本
1. 使用 pdfplumber 進行文本提取……

## 如何填寫表單
...

創建 Skills 好簡單:喺 ~/.claude/skills 下開個目錄,寫 SKILL.md 就得。或者用官方 skill-creator 引導式生成,可以將現有 GPT 提示詞轉換成 Skill。

整理重點

實戰教學:Claude Code、CodeX、OpenCode 使用 Skills

Skills 分成 Personal Skills(~/.claude/skills,所有項目可用)、Project Skills(.claude/skills,僅當前項目)、Plugin Skills(隨插件安裝)。安裝官方或第三方 Skills 好簡單:複製目錄到對應位置。

  • Claude Code:用 /skills 列出所有 Skills,自動或手動 /skill-name 引用。創建可用 skill-creator 引導。
  • CodeX:將 Skills 目錄複製到 ~/.codex/skills,用 $ 選擇 Skills,同自身 / 命令分開。
  • OpenCode:自動兼容 Claude 嘅 Skills 目錄(~/.claude/skills),唔使額外複製,支援任意模型切換。

作者示範用 skill-creator 將 GPT 提示詞轉成自媒體助手 Skill,成功將中文標題轉英文 URL,效率比 ChatGPT 更快。

因為 Agent Skills 係開放標準,喺 Claude 創建好嘅 Skill 可以直接喺 CodeXOpenCode 等工具使用,跨平台無縫遷移。

整理重點

常見問題與總結:MCP vs Skills vs Slash Commands

好多讀者問:有咗 MCP,點解仲要搞 Skills?MCP 本質係畀 AI 調用外部工具,但每次要用時都要喺上下文夾帶大量資訊,消耗 token。Skills 則教模型點樣跟流程做嘢,兩者可以協同:MCP 提供工具,Skills 提供流程指引。

至於 Slash Commands,佢哋係完全由用戶手動觸發,冇元數據同自動加載能力。而家 Skills 已經將 Slash Commands 合併埋一齊,但自動匹配功能係 Skills 獨有。

總括嚟講,Skills 係一套 Agent 能力組織方式嘅升級,將提示詞、工具、腳本、資源全部收斂到標準化目錄,配合漸進式披露,明顯提升執行效率同控制成本。

關注公眾號,AI 技術乾貨及時送達

大家好,我是R哥。

最近 Claude Skills 又開始爆火了,幾個月前我分享《MCP 不香了,Claude Code 又推出了 Skills!!(保姆級安裝和使用教程分享)》時還是不温不火,現在已經火爆全網了。

經過幾個月的發展,Skills 也有了些許變化,這篇我再結合最新的信息,分享下 Skills 的概念及如何在 Claude Code、CodeX、OpenCode 中創建和如何 Skills。

萬字乾貨,避免錯過,建議收藏慢慢看。

Skills 是什麼?

Skills 最初由 Anthropic 公司開發,專門用來擴展 Claude 功能的模塊化能力

說白了,Skills 其實就是一個文件夾,這是每個 Skills 的目錄結構:

my-skill/
 ├── SKILL.md          # 必選:指令、元數據
  ├── scripts/          # 可選: 執行腳本
  ├── references/       # 可選:參考文檔
  └── assets/           # 可選:模板、資源

每個 Skill 包含指令、元數據和資源等,只有當 Claude 認為某個 Skill 和當前任務相關時,它才會啓用,即按需加載,從而提升性能,也能大大節省 Tokens 消耗。

現在 Anthropic 已經把 Skills 做成《Agent Skills》開放標準了:

https://agentskills.io/

這是一個 Skills 開放標準,由 Anthropic 發佈並推動作為開放標準,旨在讓不同 AI 平台都能實現一個通用的 “Agent Skills” 格式。

Anthropic 真是 AI 標準的制定者,前有 MCP 協議,現在又弄出了 Agent Skills 標準。

Agent Skills 現在已經被主流的 AI 開發工具全面支持了,我看 OpenAI、Google、Cursor 等 AI 廠商都已經跟進並支持 Skills 了。

比如,我剛在 Claude 寫完 Skills,直接就可以複製到 CodeX 中使用,100% 兼容。

Skills 的架構

Skills 在代碼執行環境中運行,它具有文件系統訪問、bash 命令和代碼執行功能。

這是 Skills 的架構圖:

圖片

可以這樣理解,Skills 相當於是虛擬機上的目錄,Claude 可以使用計算機上導航文件相同的 bash 命令與它們交互。

Skills 的工作原理

Skills 是通過漸進式披露來高效管理上下文,這張圖演示了 Claude 如何加載和使用 PDF 處理 skill 的方式:

圖片

這種動態加載方式,確保只有相關的 Skill 內容佔據上下文窗口。

工作流程

第 1 步:發現 Skills(始終加載)

Claude 在啓動時,代理只會加載每個可用技能的 SKILL.md 中的元數據,比如:名稱和描述,用來判斷它什麼時候可能用得上。

元數據格式如下:

---
name: pdf-processing
description: 從 PDF 文件中提取文本和表格、填充表單、合併文檔。在處理 PDF 文件或用戶提及 PDF、表單或文檔提取時使用。
---

這種輕量級的加載方式,意味着我們可以集成大量的 Skills 而不會產生上下文成本,Claude 只知道每個 Skill 的存在以及何時使用它。

第 2 步:激活 Skills(觸發時加載)

當任務匹配到某個技能的描述時,代理才會把完整的 SKILL.md 指令加載進上下文裏。

參考指令如下:

# PDF 處理

## 快速入門

使用 pdfplumber 從 PDF 中提取文本:

```python
import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    text = pdf.pages[0].extract_text()
```


有關高級表單填充,請參閲 [FORMS.md](FORMS.md)。

SKILL.md 的指令包含 Skills 的運行邏輯,包括它的:工作流、最佳實踐和規範等,其實就是一個提示詞說明書文檔。

第 3 步:執行 Skills(按需加載)

代理會按照 SKILL.md 中的指令來操作,必要時還會加載 references 目錄中引用的文件,或者運行 scripts 目錄下打包好的腳本及代碼。

Skills 通過漸進式披露這種方式,可以讓代理按需調取更多上下文,從而執行得飛快。

漸進式披露成本

漸進式披露確保任何給定時間,只有相關內容佔據上下文窗口,這是它的成本:

步驟
加載時間
令牌成本
第 1 步:發現
始終加載
每個 Skill 約 100 個令牌
第 2 步:激活
觸發時加載
不到 5k 個令牌
第 3 步:執行
按需加載
實際上無限制

SKILL.md 的文件結構

每一個 Skill 都必須要有一個 SKILL.md 文件,它是一個 Markdown 格式的文件,包含 YAML 前置元數據和 Markdown 指令。

參考格式如下:

---
name: your-skill-name
description: 簡要描述此 Skill 的功能以及何時使用它
license: Apache-2.0
metadata:
  author: example-org
  version: "1.0"
---


# Skill 名稱

## 指令
[Claude 要遵循的清晰、分步指導]

## 示例
[使用此 Skill 的具體示例]

在 SKILL.md 的頂部,必須加上前置元數據,主要是 name 和 description 這 2 個元數據,其他的都是可選的。

字段
是否必填
約束條件
name
最多 64 個字符;只能包含小寫字母、數字和連字符;不能以連字符開頭或結尾。
description
最多 1024 個字符;不能為空;用於描述該技能的功能以及適用場景。
license
許可證名稱,或指向隨技能一起提供的許可證文件的引用。
compatibility
最多 500 個字符;用於說明環境要求,例如目標產品、系統依賴、網絡訪問等。
metadata
用於附加元數據的任意鍵值映射。
allowed-tools
技能可使用的預批准工具列表,以空格分隔(實驗性功能)。

另外,Markdown 中的實際指令,對結構和內容沒有特別限制

如下面這個示例:

---
name: pdf-processing
description: 從 PDF 文件中提取文本和表格,填寫表單,合併文檔。
---


# PDF 處理

## 何時使用該技能
當用戶需要處理 PDF 文件時,使用該技能……

## 如何提取文本
1. 使用 pdfplumber 進行文本提取……

## 如何填寫表單

...

這種簡單的格式有幾個關鍵優勢:

  • 清晰易懂:不管是技能作者還是使用者,只要看一眼 SKILL.md ,就能明白它幹啥的,讓技能的維護和優化變得特別輕鬆。
  • 擴展性好:技能的複雜度可以靈活調整,從簡單的文字指令,到可執行代碼、資源文件,再到模板,全都能搞定。
  • 輕鬆遷移:技能就是個文件,編輯、版本管理、分享都特別方便。

相比於固定的 AI 工作流,Skills 的靈活性更好。

Skills 倉庫推薦

在使用 Skills 前,先分享兩個 Skills 倉庫:

  • https://github.com/anthropics/skills
  • https://github.com/ComposioHQ/awesome-claude-skills
  • ……

第一個是官方的 Skills 倉庫,裏面包含了一些圖片、文檔等基本技能,還有一個 skill-creator 技能,通過它就可以引導式創建一個技能。

第二個是第三方的 Skills 倉庫,裏面也包含也許多類型的技能,根據自己的需要酌情使用。

還有更多一些大廠、第三方收集的 Agent Skills,這篇就不展開了,下一篇會詳細分享一下,關注公眾號「AI技術宅」第一時間分享。

Claude Code 使用 Skills 指南

拿 Claude 自家來說,Claude API、Claude Code、Claude Agent SDK 等都支持 Skills,下面以 Claude Code 為例,來看看要怎麼創建和使用 Skills。

Claude Code 的安裝和高級用法看這兩篇:

Skills 分類

技能的存儲位置決定了誰可以使用它:

Skills 類型
含義說明
生效範圍
目錄位置
Personal Skills
個人技能,所有項目都可以複用的 Skills
全局(對所有項目生效)
~/.claude/skills/
Project Skills
項目技能,僅對當前項目生效,便於團隊協作與共享
單個項目
.claude/skills/
Plugin Skills
插件技能,隨插件一起安裝,安裝後即可直接使用
取決於插件適用範圍
由插件定義(安裝後自動生效)

一般是全局、項目 Skills。

安裝 Skills

比如,你想使用官方、第三方的 Skills,只需要把它們倉庫的技能目錄複製到 ~/.claude/skills 目錄下即可:

圖片

在 Claude Code 中使用 /skills 指令就可以列出所有的技能。

使用 Skills

使用 Skills 有兩種方法:

1、自動引用

上面說了,如果 Claude 認為你的需求和某個 Skill 相關時,它就會自動加載並使用。

比如我發送:

列出所有skills並創建一個pdf

圖片

提示詞中要創建 PDF,所以它自動加載了 PDF 的 Skill,這就是自動按需加載。

2、手動引用

你也可以通過 /xx 來手動引用要使用的 Skill,比如我明確知道官方有一個 canvas-design 技能,那我可以這樣手動引用:

/canvas-design 設計一個 AI 學習路線圖

圖片

如果你知道某個經常用的 Skills,這樣手動引用可能會加快 Skills 的加載速度。另外,如果有多個類似的 Skills,手動引用也特別有用,避免用錯。

創建自定義 Skills

創建 Skills 非常簡單,一個 3 步:

  • 在 ~/.claude/skills 目錄下創建一個技能目錄;
  • 在技能目錄下面創建一個 SKILL.md 技能文檔;
  • 開始編寫你的 SKILL.md 文檔具體操作指令。

當然,你也可以通過官方的一個 skill-creator 技能來引導式創建 Skills,這種方式更快,創建出來的 Skills 也會更懂你的需求。

下面,我來演示下如何通過 skill-creator 技能來創建一個自媒體助手 Skills。

圖片

然後,我把我在 GPT 上面的提示詞扔給它:

圖片
圖片

當然,不一定要提供提示詞,你完全可以把你的需求說出來,讓它一步步幫你構建好這個 Skill。

不一會兒,它就幫我在 ~/.claude/skills 目錄下創建好了 my-zmt-tools 自媒體助手 Skill,它主要包括兩個功能:中文轉英文URL、內容轉小紅書風格,這兩個功能我之前是在 GPT 上面實現的。

使用 /skills 指令來驗證下:

圖片

有了,這是它生成的 SKILL.ms 文檔:

圖片

還不錯吧?如果不滿意,還可以基於它做二次修改。

現在來看看如何使用它,直接使用 /my-zmt-tool 技能的指令,然後帶上指令參數、具體的內容或者要求就行了:

圖片

成功了,中文標題正確轉換成了英文 URL,這個功能我在寫博客時經常要用到,比如《MCP 不香了,Claude Code 又推出了 Skills!!(保姆級安裝和使用教程分享)》這篇文章就對應這個 URL:

https://www.javastack.cn/claude-code-skills-usage/

後面的 claude-code-skills-usage 就是靠定製化 GPT 幫我生成的。

在使用 ChatGPT 時,首先要切換到具體的 GPT,然後再發送指令,使用不是很方便,網絡慢時可能更影響速度,現在有了 Skills 感覺效率要更快了。

所以,有了 Skills,很多 GPT 上面完成的工作,都可以嘗試用 Skills 來完成,Skills 有了更多的可能性。

CodeX 使用 Skills 指南

上面說了,Agent Skills 已經是開放標準了,在 Claude 創建好的 Skills 也可以在其他支持 Agent Skills 的 AI 編程工具中使用,比如 CodeX。

方法很簡單,比如,我把上面創建好的 my-zmt-tolls 目錄直接複製到 ~/.codex/skills 目錄下。

然後同樣使用在 CodeX 中使用 /skills 命令,可以列出所有的 Skills:

圖片

用法其實和 Claude Code 差不多,不太一樣的是,Claude Code 的自身命令、斜槓命令和 Skills 都是通過 / 來選擇,非常混亂,而在 CodeX 中,Skills 可以使用單獨的 $ 來選擇 Skills,它是和自身的 / 命令分開的。

所以,在 CodeX 中可以自動調用 Skills,也可以手動指定要引用的 Skill:

圖片

Skill 都正常執行了,很方便吧?

從 /skills 列表命令也可以看到,CodeX 還提供了一個 skill-creator 命令用於創建和維護 Skills,還有一個 skill-installer 命令用於從其他倉庫源安裝 Skills。

其他支持 Skills 的 AI 編程工具,都是同一樣的手法。

OpenCode 使用 Skills 指南

如果你有多模型的使用習慣,比如:國外、國內、本地模型混用,封閉的 Claude Code、CodeX 就無法滿足需求了,這裏我們就得使用最近火爆全網的 OpenCode,號稱開源版的 Claude Code,它支持任意模型隨時切換。

現在越來越多的人都在使用 OpenCode,包括我自己。

怎麼安裝和使用參考我分享的使用教程:

開源版 Claude Code 殺瘋了,怒斬 70k+ Star!!

OpenCode 會自動搜索以下位置的 Skills:

  • 項目配置:.opencode/skills/<name>/SKILL.md
  • 全局配置:~/.config/opencode/skills/<name>/SKILL.md
  • 兼容項目 Claude:.claude/skills/<name>/SKILL.md
  • 兼容全局 Claude:~/.claude/skills/<name>/SKILL.md

也就是說,OpenCode 不需要像 CodeX 那樣複製 Skills,它支持自動搜索 Claude 的 Skills,這就比 CodeX 要方便太多了,不用複製冗餘文件,這太舒服了。

目前,OpenCode 官方還沒有類似 的 /skills 命令來列出所有的 Skills,不過可以通過問它列出所有的 Skills:

圖片

使用方法也是一樣的,可以自動或者手動引用 Skills:

圖片

OpenCode 桌面版的使用也是一樣的。

常見問題

經過以上 Skills 的工作原理和使用指南,下面的問題就不是問題了。

1、有了 MCP,為什麼又搞出 Skills?

之前分享了一篇 MCP 的介紹及使用:

最近熱火朝天的 MCP 是什麼鬼?如何使用MCP?一文給你講清楚!

MCP 本質上是為 AI 大模型提供調用外部工具的能力,MCP Server 就是這個能力的具體實現——你可以通過它,把你已有的 API、腳本、服務包裝成 AI 能理解和調用的 MCP 工具。

使用 MCP 的限制:

  • 如果只靠 MCP,你雖然可以調用很多工具/數據,但模型每次必須在提示或上下文裏夾帶大量相關信息,這會消耗大量 token、降低效率。
  • 在很多場景下,問題不是調用 API,而是按公司標準/流程來做事,MCP 可以訪問數據或工具,但不會自動知道這個流程的外在規則是什麼。

而 Skills 正好解決了這些問題,所以,MCP 是 AI 連接外部的工具,而 Skills 教模型如何使用工具。

MCP + Skills 可以協同工作,在很多複雜系統中,兩者往往組合使用,模型先通過 MCP 訪問工具/數據,再通過 Skills 引導流程執行

但有一點,在執行代碼方面:

Skills 雖然也支持代碼執行,但受限於本地的環境,比如執行 Python 腳本,要是本地沒有安裝 Python 環境,或者版本不兼容,都會影響 Skills 執行效率。

MCP 因為是執行固定的代碼,所以 MCP 在執行代碼方面要更穩定

2、Skills 和 Slash Commands 有什麼區別?

Skills 是由模型驅動的,Claude 會根據你的任務和 Skill 的描述自動匹配並使用這些 Skills,完全不需要你介入,當然也可以通過 /skill-name 來主動觸發。

Slash Commands(斜槓命令)則是完全由用戶觸發的,你需要主動輸入 /command 才能觸發。

但是,從最新的 Skills 來看,Slash Commands 也被合併在用戶 Skills 中了:

圖片
圖片

合併歸合併,困為 Slash Commands 和 Skills 兩者都可以通過 / 手動觸發,Slash Commands 並不能自動觸發,因為它沒有像 Skills 那樣定義元數據。

Skills 相比 Slash Commands 只是多了幾個可選功能,它支持文件的目錄、控制 Claude 是否調用 Skills 前置元數據,以及 Claude 在相關時自動加載它們的能力。

總結

Skills 這一套機制,表面看只是多了一個 SKILL.md 文件,實際上背後是一整套 Agent 能力組織方式的升級

Skills 把提示詞、工具、腳本、資源全部收斂到一個標準化目錄裏,再通過「漸進式披露」的方式按需加載,這一點對上下文成本和執行效率的提升非常明顯。

從使用體驗來看,Skills 最大的價值有三個:可複用、低心智成本、易遷移

不管是個人常用能力,還是項目級、團隊級的能力,都可以沉澱成 Skills,一次寫好,反覆使用。而且它不綁死某一家平台,已經被做成開放標準,Claude、Google、OpenAI、Cursor 都能用,這一點非常重要。

比如拿我自己來說,以前要頻繁切 GPT,現在一個 Skill 就能搞定。

所以,可以預見的未來,Agent Skills 的體系和生態會更加完善,大家可以早點把自己的常用能力沉澱下來,後面只會越用越爽。

未完待續,R哥持續分享更多 AI 編程經驗包括更加複雜的 Skills 使用,公眾號第一時間推送,關注「AI技術宅」公眾號和我一起學 AI。

版權聲明: 本文系公眾號 "AI技術宅" 原創,轉載、引用本文內容請註明出處,抄襲、洗稿一律投訴侵權,後果自負,並保留追究其法律責任的權利。

< END >

推薦閲讀:

玩轉 Antigravity 的 16 個實用小技巧!!

Google 推出 AI 編程工具:Antigravity!

Gemini CLI 免費用戶也能使用 Gemini 3 了!

免費領 Gemini 3 Pro 會員 1 年(親測可用!)

免費白嫖 Gemini 3 Pro 的 3 種方式,太香了!

Gemini 3 Pro 的 8 個官方入口(建議收藏)

Claude Code 又推出了 Skills,保姆級教程!

玩轉 CodeX CLI 的 16 個實用小技巧!

再見 Claude Code,我選擇了 Codex!

玩轉 Claude Code 的 23 個實用小技巧!

更多 ↓↓↓ 關注公眾號 ✔ 標星⭐ 哦