写好的一套 skill + MCP server,过去要为每个客户端各包一遍。Agent Plugins 把「包」这一层统一了:一个 plugin.json、一个 skills/、一个 mcp.json。下面点名规范本体、官方市场、五个首发客户端的装法,以及它和 Claude Code 自家格式差在哪。
Agent Skills 统一了「一个 skill 长什么样」,MCP 统一了「一个工具服务怎么接」,但把它们装进一个可安装的包,此前每家各有一套:Claude Code 是 .claude-plugin/plugin.json,Cursor 是 .cursor-plugin/plugin.json,Kiro 叫 power。据 GitHub Changelog(2026-08-12),Agent Plugins 1.0 于 2026-08-06 发布,创始方为 AWS、Anysphere(Cursor)、Microsoft、OpenAI、Vercel。规范仓库的 MAINTAINERS 文件列出的五位核心维护者也正好来自这五家。
① 规范本体 agentplugins/agent-plugins-spec(据 GitHub 仓库页,2026-10 读取约 1.4k 星)——spec/1.0.0.md 是规范正文,schemas/1.0.0/ 是两份 JSON Schema;1.1.0 仍是工作草案。最小插件:
hello-plugin/
├── plugin.json
└── skills/greet/SKILL.md
# plugin.json —— 只有 $schema 与 name 是必填
{ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hello-plugin" }
首发客户端的装法(均据各家官方文档,2026-10 检索):
Chat: Install Plugin From Source,填 Git 仓库地址即可;默认已接 copilot-plugins 与 awesome-copilot 两个市场,加别的市场改 chat.plugins.marketplaces。copilot plugin install <插件名>@awesome-copilot;旧版本先跑 copilot plugin marketplace add github/awesome-copilot。也可写进 settings 的 enabledPlugins。codex plugin marketplace add owner/repo 加市场,codex plugin add <插件>@<市场> 安装;交互里 /plugins 看列表。plugin.json(Agent Plugins)与 .cursor-plugin/plugin.json(Cursor 自有)。本地调试把目录放进 ~/.cursor/plugins/local/ 后 Reload Window;市场里的用 /add-plugin。plugin.json 与旧的 POWER.md 都认。插件里的 MCP server 由 Kiro 托管,不写进你的 ~/.kiro/settings/mcp.json,随 power 启停。.claude-plugin/plugin.json 与 .mcp.json。只用 Claude Code 的人,今天没有理由改格式。skill 只在 skills/ 的直接子目录里找 SKILL.md,规范明文禁止递归往下找;skill 本身照 Agent Skills 规范写,不合规的那一个被跳过,插件其余部分照常加载。MCP 只读根目录的 mcp.json,不认写在 plugin.json 里的。
每个 server 必须显式写 type:stdio / streamable-http / sse(旧版),多一个字段就判该条无效。理由写在规范的 Design Decisions 里:各家现有 MCP 配置形状互不兼容、推断传输的方式也不同。客户端只需支持 stdio 或 streamable-http 中的一种,不支持的条目跳过。
{ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"lint": { "type": "stdio", "command": "./bin/lint-server",
"args": ["--cache", "${PLUGIN_DATA}/cache"] } } }
只认两个占位符:${PLUGIN_ROOT}(插件根)与 ${PLUGIN_DATA}(客户端管理、升级后仍保留的可写目录);所有路径必须 ./ 开头且不能解析到插件根之外。
hooks、commands、agents、rules、LSP 被规范明确排除在 v1 之外——「太依赖具体客户端」。它们放进 com.github.copilot/ 这类目录,或 plugin.json 的 extensions 字段;不认识的命名空间,客户端必须忽略、不得校验。
my-tools/
├── plugin.json # Agent Plugins:$schema + name
├── .claude-plugin/plugin.json # Claude Code 自家清单(可选)
├── skills/review/SKILL.md # 两边共用,只写一份
├── mcp.json # 显式 type + ${PLUGIN_ROOT}
├── .mcp.json # Claude Code 版 + ${CLAUDE_PLUGIN_ROOT}
└── com.github.copilot/hooks/ # 某家专属的东西放这里
验货两条命令:Claude Code 这边 claude --plugin-dir ./my-tools 直接加载、claude plugin validate ./my-tools 校验清单;skill 那层用 agentskills/agentskills 的 skills-ref validate。规范自己的 FUTURE_CONSIDERATIONS 承认还没有官方校验工具,Agent Plugins 那一侧只能靠两份 JSON Schema 和各客户端的报错。
.claude-plugin/ 加 marketplace,见 Skill 34 的插件管理。规范明确不定义安装、权限与信任模型、分发与市场、注册表、OAuth 与凭据。FUTURE_CONSIDERATIONS 列出的待办包括:清单里声明权限、签名与来源验证、密钥注入、企业白名单——这些在 1.0 里都还没有。一个 stdio 类型的 MCP server 就是一个会在你机器上跑的程序,审查照 Skill 30 与 Skill 12 的清单来。
规范只规定客户端在哪找组件,不规定「怎么把 skill 暴露给用户或模型」。同一个 skill 在不同客户端的触发方式、命名空间、上下文开销都可能不同,跨端发布前每家至少跑一遍。
为了兼顾 Claude Code 写两份 MCP 配置,就多了一个会漂移的地方。没有依赖声明(同样在待办里),插件之间也不能互相引用。
npx skills 用符号链接把一份 skill 分发给多个 agent → 各家原生插件格式 → Agent Plugins。先看这三个:① spec/1.0.0.md 的 Design Decisions 节——十分钟读完就知道它管什么、不管什么。② github/awesome-copilot——在 VS Code 或 Copilot CLI 里装一个现成的规范插件,看真实目录长什么样。③ 你主力客户端的本地加载路径:Cursor 的 ~/.cursor/plugins/local/、Claude Code 的 --plugin-dir、Kiro 的 Import power from GitHub。
按需再加:skills-ref validate(打包前校验每个 skill) · claude plugin validate(兼顾 Claude Code 时校验那份清单) · codex plugin marketplace add(团队有人用 Codex)。
明确别做:为一个 skill 建一整个插件 · 把 hooks 写在根目录指望各家都认 · 把「装得上」当成「审过了」 · 在 mcp.json 的 env 里自己设 PLUGIN_ROOT(规范禁止)。
plugin.json,声明规范版本与插件名。com.github.copilot 的反向域名,给某个客户端放专属数据或目录,免撞名。plugin.json,目前没有官方说法,在那之前按 03 节双清单处理最稳。spec/1.0.0.md、schemas/1.0.0/、GOVERNANCE、MAINTAINERS(据 GitHub 仓库页 2026-10 读取约 1.4k 星)com.github.copilot/ 迁移、企业 enabledPlugins(2026-08-12)chat.plugins.marketplaces(官方)copilot plugin install <name>@awesome-copilot(官方市场)codex plugin marketplace add / codex plugin add(官方)~/.cursor/plugins/local、/add-plugin(官方).claude-plugin/plugin.json、.mcp.json、${CLAUDE_PLUGIN_ROOT}、claude plugin validate(官方,2026-10 读取)skills-ref