SuperAPI AI 工具集

utility-update-pm-skills

通用与其它

查看项目

更新于 10-15 15:27

技能介绍

用途

PM Skills Updater 用于更新本地安装的 pm-skills,将其升级到最新的公开发布版本。它适用于以下场景:希望将本地 pm-skills 更新到最新版本、想检查是否有更新版本可用、在发布新版本后执行升级、以及在新环境上手时确认自己使用的是否为最新版本。

该技能不适用于:创建或编辑单个技能(应使用 utility-pm-skill-builder 或 utility-pm-skill-iterate)、按约定验证技能(应使用 utility-pm-skill-validate)、作为维护者直接在 pm-skills 仓库工作(应使用 git)、以及固定安装某个更旧的特定版本(该技能始终面向最新发布)。

主要能力

该技能按完整流程执行更新,分为预检、版本比较、预览、确认、更新和更新后检查六个步骤。

预检阶段会进行三项检查:确认能够访问 GitHub API 或仓库地址;查询最新版本,使用 GitHub API、GitHub CLI、git 命令的依次回退链获取版本号、发布日期与发布说明;读取本地版本,来源依次为 .claude-plugin/plugin.json、marketplace.json、CHANGELOG.md 和 git 标签。若网络访问失败,会进入降级模式,报告错误并给出手动更新指引后停止执行。

版本比较阶段使用语义化版本进行比较。若本地版本已不低于最新版本,会提示已是最新,并可选择仍生成仅报告。若本地版本较低,会展示版本差异和更新类型(主版本、次版本或补丁)。若为主版本升级,会给出显著警告,提示可能包含破坏性变更,建议先查看发布说明。

预览阶段会展示本次更新包含的内容:版本差异、价值摘要(新增技能及其用途、更新技能及其改进、新增工作流及其连接、其他值得注意的变更)以及文件清单,按目录分组并统计数量。

确认阶段会询问两个决定:是否确认覆盖文件(主版本升级需明确输入“yes”),以及是否在更新前创建备份。若用户拒绝,会保存仅报告并停止。

更新阶段采用先验证后复制的方式:从临时目录下载发布 ZIP、验证内容结构、再从解压归档覆盖到安装根目录,并逐目录显示进度,最后清理临时目录。

更新后阶段执行冒烟测试,检查 plugin.json、marketplace.json、CHANGELOG.md 的版本一致性,检查 AGENTS.md、skills/、commands/、_workflows/ 是否都存在,统计技能数量变化并报告。若检查失败会给出具体警告与恢复指引,但不会自动回滚。此外,若检测到同级 pm-skills-mcp 仓库,会给出更新其内嵌技能的提示。

使用方式

不带参数时执行完整更新流程:预检 → 预览 → 确认 → 更新 → 报告。

使用 --report-only 时执行预检 → 预览 → 报告,不写入任何文件,报告会保存到 _pm-skills/updates/ 目录。

使用 --status 时执行轻量版本检查,仅运行预检并打印当前与最新版本、状态(已是最新或可更新及类型),随后停止,不生成报告文件,也不写入文件。

文件范围

更新器只会写入发布 ZIP 中存在的文件。该 ZIP 是构建产出的精选产物。截至 v2.30.0,ZIP 还包含 agents/ 子代理定义和 hooks/ 激活钩子(含 hooks.json)。ZIP 不包含 docs/internal/ 等非面向用户的内容。

会包含并被更新的路径包括:skills/、commands/、_workflows/、agents/、hooks/、library/(注意用户添加的示例可能被覆盖)、AGENTS.md、.claude-plugin/plugin.json、marketplace.json、CHANGELOG.md、README.md、docs/ 公开指南、scripts/ 以及 mkdocs.yml。

不会出现在发布 ZIP 中、因而永远不会被覆盖的路径包括:docs/internal/、_NOTES/、_pm-skills/、.github/、CONTRIBUTING.md 和 LICENSE。

限制与约束

该技能要求:在任何远程操作前验证网络访问;在写入任何文件前展示预览;在覆盖前必须获得用户明确确认;在覆盖前提供备份选项;采用先下载到临时目录、验证后再复制的方式;在两种模式下都生成报告;执行更新后冒烟测试;检测到同级仓库时显示 MCP 提示。

该技能禁止:未经用户确认写入文件;未确认网络访问即继续;修改 pm-skills 目录之外的文件;用上游内容修改 docs/internal/、_NOTES/ 或 _pm-skills/;在冒烟测试失败时自动回滚(应改为告知用户);删除本地不存在于上游发布中的文件。

该技能始终面向最新发布,v1 不支持更新到指定旧版本;如需特定版本需从发布页手动下载。更新失败时的恢复方式为从备份恢复(如已创建),或重新运行该技能重试;如无备份但有 git,可使用 git checkout . 恢复已跟踪文件。本地笔记、规划文档以及用户自行添加的不在上游发布中的文件不会被触碰。