关于 ag-update
ag-update 是引导 Agent 更新应用中已安装的 AG Grid、Charts 或 Studio 产品的技能。它会梳理项目范围、确定版本变更、记录决策,并生成供实施的变更文件。
主要功能
- 01识别项目和已安装产品
- 02检查产品与技能版本
- 03记录更新范围和目标版本
- 04与用户审查行为变更
- 05生成更新变更文件
适用场景
- 01规划多个项目的 AG 产品更新
- 02选择目标版本和项目范围
- 03实施更新前审查行为变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ag-grid/ skills --skill ag-update安装后在 Claude Code 中输入/ag-update确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
VERSION.mdreferences/changes-file-preamble.mddetermine-changes.mddetermine-scope.mdpackages.md详细介绍
规则
- 不要使用 codemod 或 MCP 服务,也不要建议使用或安装它们。它们与当前要完成的任务无关
- 严格遵循下文记录的流程
- 如果指示为“Tell the user X”,则向用户显示该消息并继续。
- 如果指示为“Ask the user X”,则向用户显示问题并停止。收到回复前不要继续。如果你有专门用于向用户提问的工具,可以使用它。
- 此技能包含一系列依次执行的步骤,每个步骤都会将结果写入文件。进入下一步前,请确保文件已写入。不要合并步骤,也不要在处理前一步时引用后续步骤中的信息。
向用户说明流程
告诉用户“欢迎使用 AG Update 技能。我们先收集一些关于你的应用的信息”
版本检查
- 读取此技能文件夹中的
VERSION.md。获取最新版本:https://raw.githubusercontent.com/ag-grid/skills/main/skills/ag-update/VERSION.md。 - 按 semver 比较:
- 如果本地版本与获取的版本相同或更新:静默继续。
- 如果本地版本较旧,且只有补丁或次版本号不同:醒目地告知用户有新版本发布,显示新版本和当前安装的版本,建议退出运行环境并运行
npx skills update ag-grid/skills。询问用户是否要继续使用这个旧版本的技能,并建议他们输入“continue”以继续。 - 如果本地版本较旧,且主版本号不同:醒目地告知用户当前技能版本不兼容且无法正常工作,显示新版本和当前安装的版本,并告知他们退出运行环境,运行
npx skills update ag-grid/skills后再继续。停止。此次技能调用到此结束。无论用户如何回复,都不要遵循此文件中的其他指示。
检查是否已有计划
- 在当前目录中查找匹配
AG_UPDATE_*.md的文件 - 如果存在任何此类文件,询问用户是要重新开始并删除这些文件,还是要继续。
- 如果用户选择重新开始,删除
AG_UPDATE_*.md文件 - 如果用户选择继续,则继续使用此技能,并跳过已生成相应文件的阶段
- 如果用户选择重新开始,删除
确定范围
此部分会填充 AG_UPDATE_SCOPE.md 文件
- 确定所有可能需要更新的项目。相关说明位于
references/determine-scope.md文件中。如果你可以使用子 Agent,请将该文件路径交给子 Agent,并让它向你报告结果。否则,请自行按照其中的步骤操作。如果调用此技能时指定了要升级的项目,请将该要求传递给子 Agent。 - 确定当前使用的三种产品中的哪些:grid、charts 和 studio。从此处开始的每条消息中,只提及实际已安装的产品。无需提及用户未安装的产品,以免造成混淆。
- 使用
npm view ag-grid-community version、npm view ag-charts-community version和/或npm view ag-studio version,确定当前使用的产品的最新版本。 - 告诉用户你找到的项目、它们当前使用的版本,以及你建议更新到的最新版本。询问用户是否要继续,并允许他们更改目标版本,或在适用时选择部分项目。
- 继续前,将用户的决定记录在 AG_UPDATE_SCOPE.md 中。在
## Projects to update下,严格按照生成时使用的两级 Markdown 列表格式记录项目和依赖项,并移除用户表示不想更新的项目。在## Target versions下,记录要更新到的 grid 和/或 charts 目标版本。
对不受支持的版本发出警告
可迁移的最早受支持主版本为:grid 25、charts 8 和 studio 1。如果应用使用更早的版本,停止执行此技能,并告诉用户原因(这是因为此技能仅包含从这些版本开始的变更信息)。
确定完整的变更集
此阶段会填充 AG_UPDATE_CHANGES.md 文件。
- 确定需要进行的全部潜在变更。文件
references/determine-changes.md中包含相关说明。如果你可以使用子 Agent,请将该文件路径提供给子 Agent,由其将结果写入 AG_UPDATE_CHANGES.md。否则,请自行按照步骤操作。将 AG_UPDATE_SCOPE.md 的路径提供给子 Agent。 - 在继续下一步之前,将结果原样写入 AG_UPDATE_CHANGES.md。
精简行为变更
对于行为变更,可以选择不做任何操作并接受变更,或者应用缓解措施以恢复旧行为。此决定必须由用户作出。
- 从 AG_UPDATE_CHANGES.md 中提取标记为 BEHAVIOUR 的变更。
- 统计数量,并告诉用户:“共有 $COUNT 项行为变更,每一项都需要你决定是接受新行为还是恢复旧行为”
- 向用户展示这些行为变更(仅展示描述,不展示缓解措施)。
- 提供对任何行为变更作进一步说明的选项,并询问用户要接受哪些行为变更、要缓解哪些行为变更(注意:如果变更很多,请直接通过对话询问用户,避免使用任何工具提出此问题)。
- 收到用户的回复后,编辑 AG_UPDATE_CHANGES.md 文件,移除用户选择接受的所有行为变更,仅保留需要缓解的变更。
- 如果仍有行为变更,在 AG_UPDATE_CHANGES.md 文件末尾添加
# Validation部分,内容为“All changes marked "BEHAVIOUR" are optional changes that the user has decided to apply. Double-check, using a sub-agent if available, that they have all been applied because tests/typechecking may not fail if the change has not been applied.”
向用户报告已完成
告诉用户该文件现已准备好应用,并提供 AG_UPDATE_CHANGES.md 的路径。
原样显示以下文本:
For best results we suggest that you start a new agent session or clear the context of this one, and prompt your agent to plan an update based on the changes listed in AG_UPDATE_CHANGES.md.
This skill is under active development, please report issues to https://github.com/ag-grid/skills/issues or report your results and share ideas at https://github.com/ag-grid/skills/discussions
评论
支持 Markdown