dev-plugin
个人跨工具 Agent 插件包:以一份共享 skills 资源为核心,并为 Claude Code、Codex CLI、Kimi Code 和 pi 提供各自的插件清单与适配配置。
原理
本仓库以 skills/ 作为跨工具共享核心。各工具对 MCP、agents、extensions、prompts、commands 和安装生命周期的支持不同,因此这些资源并非全部等价分发:
dev-plugin/
├── skills/ # 跨工具共享 skills
├── agents/ # vendor agents
├── extensions/ # pi 扩展
├── prompts/ # pi prompts;当前无自有 prompt
├── commands/ # 斜杠命令(Claude / Kimi / pi;Codex 插件不支持)
├── AGENTS.md # 仓库维护说明
├── .pi/AGENTS.md # 安装时复制给 pi 的全局说明
├── .mcp.json # MCP 唯一数据源
├── mcp.json # Agent Plugins 1.0 标准 MCP 配置(由 sync 生成)
├── .claude-plugin/
│ ├── plugin.json # Claude Code 清单
│ └── marketplace.json # Claude Code marketplace
├── .codex-plugin/plugin.json # Codex 清单
├── .agents/plugins/marketplace.json # Codex marketplace
├── .agents/skills/ # 维护本仓库的元 skills,不随插件分发
├── plugin.json # Agent Plugins 1.0 标准清单
├── kimi.plugin.json # Kimi 清单,mcpServers 由 sync 生成
├── package.json # pi 清单与 npm 生命周期脚本
├── sources.json # 第三方资源拉取清单
├── sources-lock.json # vendor 上游版本记录
└── scripts/
├── sync-mcp.js # 同步 mcp.json 与 Kimi MCP 配置
├── sync-sources.js # 同步第三方资源
├── setup-pi.js # 配置 pi 的全局 MCP 与 AGENTS.md
└── bump-version.js # 统一更新清单版本号
安装与更新
以下命令安装或更新的是本仓库插件/package,不是对应 CLI 本体。
Claude Code
安装:
claude plugin marketplace add jeryfan/dev-plugin
claude plugin install dev-plugin@jeryfan
更新:
claude plugin marketplace update jeryfan
claude plugin update dev-plugin@jeryfan
也可以在 Claude Code 会话中使用等价的 /plugin 命令。本地测试:
claude --plugin-dir /absolute/path/to/dev-plugin
Codex CLI
安装:
codex plugin marketplace add jeryfan/dev-plugin
codex plugin add dev-plugin@jeryfan
更新本仓库插件:
codex plugin marketplace upgrade jeryfan
codex plugin add dev-plugin@jeryfan
第一个命令刷新 marketplace 快照,第二个命令按最新快照重新安装插件。当前 Codex CLI 没有独立的
codex plugin update命令;codex update更新的是 Codex CLI 本体,不是本插件。
Kimi Code
在 Kimi Code 会话中安装:
/plugins install https://github.com/jeryfan/dev-plugin
已安装插件有更新时,可在 /plugins 管理器中选择插件并按 Enter 更新;也可重复执行安装命令。清单文件为仓库根目录的 kimi.plugin.json。
pi
安装:
pi install git:github.com/jeryfan/dev-plugin
更新本插件:
pi update git:github.com/jeryfan/dev-plugin
更新全部已安装 package:
pi update --extensions
本地路径安装:
pi install /absolute/path/to/dev-plugin
注意:pi 安装会触发本包的
postinstall。scripts/setup-pi.js会把.mcp.json和.pi/AGENTS.md分别复制到~/.pi/agent/mcp.json与~/.pi/agent/AGENTS.md,并覆盖已有同名文件;如已有自定义配置,请先备份。
维护
新增个人 skill
在 skills/<name>/SKILL.md 创建个人 skill,并添加包含 name、description 的 YAML frontmatter。该目录由四个工具的包装层作为共享 skills 来源,无需逐个修改清单。
流程规范见 .agents/skills/add-custom-skill/SKILL.md。个人 skill 不会被 npm run sync 删除——脚本只移除「sources-lock.json 里有记录、但本次清单已不含」的 vendor 资源,清单外的目录一律不动。
第三方资源(skills / agents / prompts / commands / plugins)
采用 vendor 模式:scripts/sync-sources.js 根据 sources.json 清单拉取上游最新资源到 skills/、agents/、prompts/、commands/。同步流程带备份回退:拉取前把将被覆盖的旧资源移到 .cache/sources/,全部成功才删除备份,任一失败则回退到同步前状态;上次 vendor 但本次清单不再包含的资源会被自动移除;清单之外的目录视为个人资源,不做任何改动。
发版前运行 npm run sync 并提交生成的 skills、agents、Kimi MCP 清单和 sources-lock.json。各客户端需使用上文各自的插件/package 更新命令。vendor skills 和 agents 是发版时提交的快照;.mcp.json 中的 chrome-devtools-mcp@latest 则在实际运行时解析 npm 最新版本,不受插件版本固定。
新增第三方资源:按 .agents/skills/add-external-skill/SKILL.md 编辑 sources.json 对应类型的数组,条目格式:
{
"skills": [
{
"repo": "https://github.com/user/repo.git",
"path": "skills",
"include": ["a"],
"exclude": ["b"]
}
],
"agents": [],
"prompts": [],
"commands": [],
"plugins": [
{
"repo": "https://github.com/user/some-plugin.git",
"capabilities": {
"skills": [
{ "path": "skills", "include": ["a"] },
{ "path": "legacy/skills" }
],
"commands": true
}
}
]
}
path:资源所在目录(默认按类型:skills/agents/prompts/commands),skills 递归发现含SKILL.md的目录,agents/prompts 递归发现.md文件,commands 递归发现.md与.toml文件(.toml提取description+prompt转成带 frontmatter 的.md);同仓库多个资源目录可配置多条;skills 的特殊值"."表示整个仓库即一个 skill;plugins 条目不支持path/include/exclude(写到capabilities的条目里,相对仓库根)include:只拉取列出的资源名;省略则全量exclude:排除列出的资源名capabilities(仅 plugins):与顶层清单同构的字典,键为能力名(skills/agents/commands/prompts),值为条目数组,条目字段与顶层一致(path/include/exclude,无repo);true表示按约定目录全量拆解,同一能力可写多条条目,省略则拆解全部能力
plugins 类型用于整个第三方插件仓库:按约定目录自动拆解——skills/ → skills/、agents/ → agents/、commands/ → commands/、prompts/ → prompts/。hooks / mcp / extensions 涉及自动执行代码与环境配置,不做自动拆解(需要 MCP 时手工评估后加进 .mcp.json);插件至少需命中一个能力目录,否则同步报错。
同名资源冲突时后到者被跳过并告警。
新增 MCP server
只改 .mcp.json,然后运行 node scripts/sync-mcp.js(脚本会同步生成 mcp.json 并内联到 kimi.plugin.json)。Claude / Codex 直接读 .mcp.json,无需手动同步。发版前仍需按上文执行完整的 npm run sync。
注:Agent Plugins 1.0 规范要求根目录为
mcp.json;Kimi 不读.mcp.json,mcpServers必须内联在kimi.plugin.json,这就是同步脚本存在的原因。pi 不支持包级 MCP;本包的postinstall会通过scripts/setup-pi.js写入 pi 的全局配置,覆盖行为见安装说明。
版本号
使用以下命令统一更新五个清单的版本号:
npm run bump-version -- <semver>
该命令会更新 plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json、kimi.plugin.json 和 package.json。