用途
agent-skill-deploy 用于自动化多渠道路径的智能体技能集合部署,主要面向带有 /skills 目录的 GitHub 仓库。它把发布流程拆分为预检、变更分析、版本确认、dry-run、版本升级、提交、打标签、用户审批、推送与部署等步骤,并在不可逆操作前设置审批关卡。
主要能力
- 预检校验:检查当前目录是否为 git 仓库、当前分支是否为 master 或 main、工作区是否干净、/skills 目录是否存在且至少包含一个技能,并检测已配置的渠道与所需工具是否可用。
- 变更分析:清点 /skills 中的技能,查找上一个发布标签,列出该标签以来的提交,按约定式提交类型统计,检测破坏性变更,并给出主/次/补丁版本升级建议。
- 版本升级:在所有检测到的渠道配置文件中同步升级版本号,包括 .claude-plugin/plugin.json、.claude-plugin/marketplace.json、package.json、.github/plugin/plugin.json、.github/plugin/marketplace.json。
- 渠道部署:支持 github、claude-code、vscode、copilot-cli 四个渠道,并支持 dry-run 预览。
- 用户审批:在推送和部署前暂停,要求用户确认。
- 按技能生成变更日志:当选择 github 渠道时,按技能分组生成简洁的人类可读变更日志,替代 GitHub 自动生成的说明。
使用方式
该技能包含三个 Node.js 辅助脚本,位于 scripts/ 目录,支持 Windows 和 macOS:
- node scripts/deploy-preflight.mjs
- node scripts/deploy-analyze.mjs
- node scripts/deploy-execute.mjs 1.2.0 --surfaces github,claude-code --dry-run
部署工作流按顺序执行:预检、分析变更、构建按技能变更日志、与用户确认版本和渠道、dry-run、升级版本、提交版本升级、创建 git 标签、推送前用户审批、推送并部署。任何步骤失败应立即停止。
支持的渠道
- github:配置文件为 Git 远程 URL,部署动作为创建标签和 GitHub 发布,需要 gh 工具。
- claude-code:配置文件为 .claude-plugin/plugin.json(必需)和 .claude-plugin/marketplace.json(可选),部署动作为升级插件版本、提交、推送,需要 git。
- vscode:配置文件为 package.json,部署动作为升级版本、提交、推送,需要 git。
- copilot-cli:配置文件为 package.json、.github/plugin/plugin.json、.github/plugin/marketplace.json(可选),部署动作为升级插件版本、提交、推送,需要 git。
版本处理规则
marketplace.json 文件包含两个语义不同的版本字段:plugins[].version 跟踪每个列出的插件版本,在发布本地插件(source 为 ".")时升级;metadata.version 跟踪市场集合本身的版本,在技能/插件发布期间从不升级,独立管理。跨文件同步规则要求所有插件版本保持一致,包括 plugin.json、package.json、marketplace 文件中的 plugins[].version 以及 git 标签;所有 marketplace.json 文件中的 metadata.version 值必须彼此保持同步。
适用场景
当用户要求“发布”“部署”“发布”或“交付”技能集合,想要升级版本并推送到一个或多个市场,需要为技能仓库创建 GitHub 发布,想要将技能发布到 Claude Code、VS Code 或 Copilot CLI 市场,或要求检查部署就绪情况或运行 dry-run 发布时,可使用此技能。
限制
不适用于 npm 包、Docker 部署、Azure 资源预配或没有 /skills 目录的仓库。错误处理方面:没有 /skills 目录时报告并停止;缺少工具时报告并建议安装命令,允许部署到工具可用的渠道;跨渠道版本不匹配时报告并建议运行升级步骤;标签已存在时报告冲突并建议选择其他版本或删除现有标签;推送失败时报告错误且不自动重试;某个渠道部署失败时报告但继续其余渠道,最后提供各渠道状态摘要;实际执行与 dry-run 出现偏差时暂停并向用户报告。