【轉(zhuǎn)載】你的 Skills 越來越多了,是時(shí)候用 Marketplace 管起來了

今天使用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,核心只需要:

  1. 兩個(gè) JSON 文件.claude-plugin/plugin.json + .claude-plugin/marketplace.json
  2. 標(biāo)準(zhǔn)目錄結(jié)構(gòu)skills/<技能名>/SKILL.md
  3. 一次校驗(yàn)claude plugin validate .

再進(jìn)一步,用軟鏈接策略讓多個(gè) AI 工具共享同一套 Skills,實(shí)現(xiàn)一處更新、處處可用。

如果你已經(jīng)有現(xiàn)成的 Skills,不妨花 15 分鐘給它加上 Marketplace 支持,從此告別手動(dòng)下載、版本混亂、更新遺忘的煩惱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容