SuperAPI AI 工具集

update-project-skills

部署与运维

查看项目

更新于 10-22 16:18

技能介绍

用途

该技能用于在当前项目中,将已安装的技能刷新到其最新发布版本。它面向使用 npx skills 管理技能的项目,帮助开发者安全、可预测地完成技能更新。

主要能力

  • 检查当前项目根目录是否存在 skills-lock.json,以确认项目是否通过 npx skills 管理技能。
  • 以项目范围、非交互方式运行更新命令:npx skills update -p -y。其中 -p 将更新限制在项目技能,不会触碰全局 ~/.claude/skills;-y 跳过 CLI 的范围提示,避免等待输入而挂起。
  • 展示更新后的变更:运行 git status --short 和 git diff --stat,向用户报告变更的文件(通常包括 skills-lock.json,以及任何同步的技能文件)。
  • 在提交前询问用户:根据 rules/base/git-and-commits.md,git commit 仅在用户明确要求时运行,不会自动提交。如果用户同意,则按照该规则生成提交信息(过去时、单行、如项目跟踪工单则使用 .claude/dev-conventions.json 中的工单前缀)。
  • 处理无变更情况:如果 npx skills update 报告没有变化,则直接说明,跳过 diff 和提交询问。
  • 处理失败情况:如果命令出错(网络、注册表等),向用户展示 CLI 的 stderr,而不是吞掉错误或静默重试。

使用方式

  1. 范围检查:确认当前项目根目录存在 skills-lock.json。如果不存在,告知用户该项目不通过 npx skills 管理技能并停止,不执行任何操作。
  2. 运行更新:执行 npx skills update -p -y。
  3. 展示变更:运行 git status --short 和 git diff --stat,报告变更文件。
  4. 提交前询问:展示 diff 并询问是否提交。仅在用户明确同意后,按照 rules/base/git-and-commits.md 提交。
  5. 无变更:直接说明没有变化。
  6. 失败:展示 CLI 的 stderr。

适用场景

  • 用户希望刷新当前项目中已安装的技能到最新发布版本。
  • 需要避免影响全局技能(~/.claude/skills)的场景。
  • 需要以非交互方式运行更新,避免 CLI 挂起。
  • 需要先查看变更再决定是否提交的场景。

限制

  • 仅适用于通过 npx skills 管理技能的项目(存在 skills-lock.json)。
  • 不负责更新规则子模块(.claude/ai-dev-kit)或生成的 AGENTS.md,这些由 update-project-rules 技能处理,两者刻意分开。
  • 不会自动提交,必须用户明确要求。
  • 命令出错时不会静默重试,而是展示 stderr。
  • 常见错误包括:运行不带标志的 npx skills update;自动提交 skills-lock.json 变更;在没有 skills-lock.json 的目录中运行;静默重试 CLI 错误;以及在此技能中同时更新 .claude/ai-dev-kit/AGENTS.md。