今天使用claudecode,在VSCODE插件里。想安裝自己的SKILL,發(fā)現(xiàn)有些困難,就找了這個(gè)文章,搞定了marketplace。
由 Anthropic 推出并被行業(yè)廣泛接受的 Skills 機(jī)制讓 AI 能力變得可復(fù)用,寫好一份 SKILL.md,就能讓 Agent 在特定場(chǎng)景下精確執(zhí)行任務(wù)。
但隨著生態(tài)發(fā)展,一個(gè)現(xiàn)實(shí)問題浮出水面:
Skills 越來越多,卻越來越難管。
- 安裝靠手動(dòng):下載 zip、解壓、放到指定目錄,每個(gè)項(xiàng)目都做一遍
- 更新無感知:上游 Skill 迭代了新版本,你本地還是舊的
- 版本不一致:團(tuán)隊(duì)成員各自安裝,結(jié)果對(duì)不齊
- 來源難追溯:三個(gè)月后你已經(jīng)忘記這些技能從哪來的了
如果你也感受到了這些痛苦,Claude Marketplace 就是為你準(zhǔn)備的解決方案。
[圖片上傳失敗...(image-a851af-1780325557554)]
本文所述方案已在 AntV Infographic 開源項(xiàng)目中實(shí)際落地,由我貢獻(xiàn)的 PR 已通過審查并被合并到主倉庫。
[圖片上傳失敗...(image-17f7e-1780325557554)]
Claude Marketplace 是什么
簡單來說,Marketplace 是 Skills 的包管理器。
就像 npm 之于 Node.js 包、brew 之于 macOS 工具一樣,Claude Marketplace 讓你可以:
- 一條命令安裝:不用再手動(dòng)下載解壓
- 統(tǒng)一管理:所有安裝的 Skills 在一處可查
- 版本追蹤:清楚知道裝了什么、來自哪里
-
自動(dòng)更新:上游更新后,
/plugin marketplace update一鍵同步
對(duì)于 Skill 的發(fā)布者來說,為你的倉庫添加 Marketplace 支持,意味著用戶只需兩條命令:
Bash復(fù)制
/plugin marketplace add <倉庫地址>
/plugin install <插件名>@<marketplace名>
就能拿到你提供的全部 AI 技能。
三步接入 Marketplace
不管你的 Skill 是個(gè)人項(xiàng)目還是團(tuán)隊(duì)倉庫,接入流程都是標(biāo)準(zhǔn)的三步。
實(shí)際上,你完全可以將 Claude Code 官方文檔:創(chuàng)建和分發(fā) Plugin Marketplace 丟給大模型,然后要求它幫你為 Skill 項(xiàng)目接入 Marketplace,主流模型都是能實(shí)現(xiàn)的。
第一步:創(chuàng)建插件元數(shù)據(jù)(plugin.json)
在倉庫根目錄創(chuàng)建 .claude-plugin/plugin.json,描述你的插件基本信息:
Json復(fù)制
{
"name": "your-plugin-name",
"version": "1.0.0",
"description": "一句話描述你的 Skill 做什么",
"author": {
"name": "你的名字或團(tuán)隊(duì)名",
"email": "optional@example.com"
},
"repository": "https://github.com/your/repo",
"license": "MIT",
"keywords": ["關(guān)鍵詞1", "關(guān)鍵詞2"]
}
字段說明:
-
**name**:插件標(biāo)識(shí)符,kebab-case 格式(如my-awesome-skills),用戶安裝時(shí)會(huì)看到 -
**author**:建議團(tuán)隊(duì)項(xiàng)目填寫團(tuán)隊(duì)名,個(gè)人項(xiàng)目填寫 GitHub 用戶名 - 其余可選字段(
homepage、license、keywords)有助于被發(fā)現(xiàn)和分類
第二步:創(chuàng)建 Marketplace 清單(marketplace.json)
在同一目錄下創(chuàng)建 .claude-plugin/marketplace.json:
Json復(fù)制
{
"name": "your-marketplace",
"owner": {
"name": "維護(hù)者名稱",
"email": "contact@example.com"
},
"metadata": {
"description": "簡短描述這個(gè) Marketplace 提供什么"
},
"plugins": [
{
"name": "your-plugin-name",
"source": "./",
"description": "插件描述",
"version": "1.0.0"
}
]
}
字段說明:
-
**name**:Marketplace 標(biāo)識(shí),用戶添加后會(huì)看到,使用 kebab-case 格式,不能用 保留名稱 -
**owner**:維護(hù)者/團(tuán)隊(duì)信息,name必填,email可選 -
**metadata.description**:Marketplace 描述,不填會(huì)有校驗(yàn)警告 -
**plugins[].source**:插件位置,"./"表示倉庫根即是插件根
第三步:確保 Skills 目錄結(jié)構(gòu)合規(guī)
Claude Marketplace 期望的目錄結(jié)構(gòu)是:
代碼塊復(fù)制
你的倉庫/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
└── skills/
├── skill-a/
│ └── SKILL.md
└── skill-b/
├── SKILL.md
└── references/ ← 可選的參考文檔
└── prompt.md
關(guān)鍵要求:技能必須放在 skills/<技能名>/SKILL.md 路徑下。如果你原來的目錄命名不同(比如用了 .skills 或其他名字),需要遷移到 skills/。
每個(gè) SKILL.md 文件的基本格式:
Markdown復(fù)制
---
name: your-skill-name
description: 描述這個(gè)技能做什么、何時(shí)觸發(fā)
---
這里寫具體的技能指令內(nèi)容...
校驗(yàn)和測(cè)試
完成上述三步后,運(yùn)行官方校驗(yàn)命令確認(rèn)一切合規(guī):
Bash復(fù)制
claude plugin validate .
[圖片上傳失敗...(image-65d61f-1780325557554)]
校驗(yàn)通過后,可以先在本地測(cè)試:
Bash復(fù)制
# 本地測(cè)試安裝
/plugin marketplace add ./
/plugin install your-plugin-name@your-marketplace
確認(rèn)技能可以正常觸發(fā)后,把代碼推送到 GitHub 即完成發(fā)布。
發(fā)布后的效果
完成接入后,你只需要執(zhí)行以下命令:
Bash復(fù)制
/plugin marketplace add https://github.com/你的用戶名/你的倉庫.git
/plugin install 你的插件名@你的marketplace名
以 AntV Infographic 為例:
Bash復(fù)制
/plugin marketplace add https://github.com/antvis/Infographic.git
/plugin install antv-infographic-skills@antv-infographic
安裝完成后,所有技能即刻可用。后續(xù)上游更新,執(zhí)行 /plugin marketplace update 就能同步最新版本,再也不用手動(dòng)下載 zip 了。
[圖片上傳失敗...(image-44f087-1780325557554)]
注意事項(xiàng)
-
**source**** 路徑不要寫 ****..**:校驗(yàn)器禁止路徑遍歷,正確寫法是"source": "./",相對(duì)路徑基于倉庫根目錄解析 - **記得填寫 **
**metadata.description**:不填不會(huì)阻塞校驗(yàn),但會(huì)產(chǎn)生警告,建議從一開始就寫上 -
插件內(nèi)不能引用外部文件:安裝時(shí)會(huì)復(fù)制整個(gè)插件目錄到緩存,
../引用的目錄外文件不會(huì)被一起復(fù)制
[圖片上傳失敗...(image-a8b366-1780325557554)]
多 AI 工具共享同一套 Skills
現(xiàn)實(shí)中,一個(gè)項(xiàng)目可能同時(shí)在用 Cursor、Claude Code、Gemini CLI、iFlow 等多種 AI 工具。每個(gè)工具都有自己的配置目錄(.cursor、.claude、.gemini、.iflow……),而 Skills 的格式其實(shí)是通用的,同一份 SKILL.md 在不同工具里都能用。
如果你在每個(gè)工具目錄下都復(fù)制一遍 Skills,不僅浪費(fèi)空間,而且更新時(shí)容易漏改。
以 Claude 為中心,軟鏈接到其他工具
我的做法是:無論全局還是項(xiàng)目級(jí),都用 **.claude** 作為 Skills 的唯一管理目錄。對(duì)于其他 AI 工具,用 ln -s(符號(hào)鏈接)指向 Claude 目錄中的技能文件夾。
[圖片上傳失敗...(image-dd6062-1780325557553)]
以全局 Skills 為例,Claude Marketplace 安裝的技能會(huì)存放在 ~/.claude/plugins/marketplaces/ 下。要讓 Gemini CLI 也能使用這些技能,只需創(chuàng)建軟鏈接:
Bash復(fù)制
# 確保目標(biāo)目錄存在
mkdir -p ~/.gemini/skills
# 示例:將 Claude Marketplace 安裝的技能鏈接到 Gemini
ln -s ~/.claude/plugins/marketplaces/antv-infographic/skills/infographic-creator \
~/.gemini/skills/infographic-creator
ln -s ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf \
~/.gemini/skills/pdf
ln -s ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx \
~/.gemini/skills/xlsx
項(xiàng)目級(jí) Skills 同理:在項(xiàng)目的 .claude/skills 里維護(hù)一份,然后從 .cursor/skills、.gemini/skills 等目錄軟鏈接過去。
小坑:不要復(fù)制軟鏈接,要重新生成
有一個(gè)容易踩的坑:在 A 工具目錄中創(chuàng)建的軟鏈接,不能直接復(fù)制到 B 工具目錄。
比如你先用 ln -s 在 .gemini/skills/ 下創(chuàng)建了鏈接,然后想把同樣的鏈接「復(fù)制」到 .cursor/skills/,用 cp 復(fù)制軟鏈接文件時(shí),行為取決于你的 cp 版本和參數(shù):有時(shí)會(huì)復(fù)制鏈接本身(拿到一個(gè)指向相同目標(biāo)的新鏈接),有時(shí)會(huì)復(fù)制鏈接指向的實(shí)際內(nèi)容(丟失鏈接關(guān)系)。為了避免歧義,**始終對(duì)每個(gè)目標(biāo)工具目錄重新執(zhí)行 ****ln -s**:
Bash復(fù)制
# ? 不要這樣做
cp -r ~/.gemini/skills/infographic-creator ~/.cursor/skills/
# ? 每個(gè)工具目錄獨(dú)立創(chuàng)建軟鏈接
ln -s ~/.claude/plugins/marketplaces/antv-infographic/skills/infographic-creator \
~/.cursor/skills/infographic-creator
ln -s ~/.claude/plugins/marketplaces/antv-infographic/skills/infographic-creator \
~/.gemini/skills/infographic-creator
這樣無論哪個(gè)工具讀取技能,都直接指向 Claude Marketplace 的源目錄,更新時(shí)只需要在 Claude Code 中執(zhí)行 /plugin marketplace update,所有工具同步受益。
總結(jié)
為你的 Skill 接入 Claude Marketplace,核心只需要:
-
兩個(gè) JSON 文件:
.claude-plugin/plugin.json+.claude-plugin/marketplace.json -
標(biāo)準(zhǔn)目錄結(jié)構(gòu):
skills/<技能名>/SKILL.md -
一次校驗(yàn):
claude plugin validate .
再進(jìn)一步,用軟鏈接策略讓多個(gè) AI 工具共享同一套 Skills,實(shí)現(xiàn)一處更新、處處可用。
如果你已經(jīng)有現(xiàn)成的 Skills,不妨花 15 分鐘給它加上 Marketplace 支持,從此告別手動(dòng)下載、版本混亂、更新遺忘的煩惱。