mcpField
A
ag-update

ag-update

github.com/ag-grid开发61.4k 次安装2 周前更新
代码仓库

关于 ag-update

ag-update 是引导 Agent 更新应用中已安装的 AG Grid、Charts 或 Studio 产品的技能。它会梳理项目范围、确定版本变更、记录决策,并生成供实施的变更文件。

主要功能

  1. 01识别项目和已安装产品
  2. 02检查产品与技能版本
  3. 03记录更新范围和目标版本
  4. 04与用户审查行为变更
  5. 05生成更新变更文件

适用场景

  1. 01规划多个项目的 AG 产品更新
  2. 02选择目标版本和项目范围
  3. 03实施更新前审查行为变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ag-grid/skills --skill ag-update

安装后在 Claude Code 中输入/ag-update确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

VERSION.md
references/
changes-file-preamble.md
determine-changes.md
determine-scope.md
packages.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 文件

  1. 确定所有可能需要更新的项目。相关说明位于 references/determine-scope.md 文件中。如果你可以使用子 Agent,请将该文件路径交给子 Agent,并让它向你报告结果。否则,请自行按照其中的步骤操作。如果调用此技能时指定了要升级的项目,请将该要求传递给子 Agent。
  2. 确定当前使用的三种产品中的哪些:grid、charts 和 studio。从此处开始的每条消息中,只提及实际已安装的产品。无需提及用户未安装的产品,以免造成混淆。
  3. 使用 npm view ag-grid-community version、npm view ag-charts-community version 和/或 npm view ag-studio version,确定当前使用的产品的最新版本。
  4. 告诉用户你找到的项目、它们当前使用的版本,以及你建议更新到的最新版本。询问用户是否要继续,并允许他们更改目标版本,或在适用时选择部分项目。
  5. 继续前,将用户的决定记录在 AG_UPDATE_SCOPE.md 中。在 ## Projects to update 下,严格按照生成时使用的两级 Markdown 列表格式记录项目和依赖项,并移除用户表示不想更新的项目。在 ## Target versions 下,记录要更新到的 grid 和/或 charts 目标版本。

对不受支持的版本发出警告

可迁移的最早受支持主版本为:grid 25、charts 8 和 studio 1。如果应用使用更早的版本,停止执行此技能,并告诉用户原因(这是因为此技能仅包含从这些版本开始的变更信息)。

确定完整的变更集

此阶段会填充 AG_UPDATE_CHANGES.md 文件。

  1. 确定需要进行的全部潜在变更。文件 references/determine-changes.md 中包含相关说明。如果你可以使用子 Agent,请将该文件路径提供给子 Agent,由其将结果写入 AG_UPDATE_CHANGES.md。否则,请自行按照步骤操作。将 AG_UPDATE_SCOPE.md 的路径提供给子 Agent。
  2. 在继续下一步之前,将结果原样写入 AG_UPDATE_CHANGES.md。

精简行为变更

对于行为变更,可以选择不做任何操作并接受变更,或者应用缓解措施以恢复旧行为。此决定必须由用户作出。

  1. 从 AG_UPDATE_CHANGES.md 中提取标记为 BEHAVIOUR 的变更。
  2. 统计数量,并告诉用户:“共有 $COUNT 项行为变更,每一项都需要你决定是接受新行为还是恢复旧行为”
  3. 向用户展示这些行为变更(仅展示描述,不展示缓解措施)。
  4. 提供对任何行为变更作进一步说明的选项,并询问用户要接受哪些行为变更、要缓解哪些行为变更(注意:如果变更很多,请直接通过对话询问用户,避免使用任何工具提出此问题)。
  5. 收到用户的回复后,编辑 AG_UPDATE_CHANGES.md 文件,移除用户选择接受的所有行为变更,仅保留需要缓解的变更。
  6. 如果仍有行为变更,在 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