工具重命名兼容性检查
防止内置工具重命名破坏现有提示词与工具配置。
技能仅指导检查工具重命名兼容性,不要求执行命令、访问外部服务或处理敏感数据,并明确稳定 ID、旧名称保留及自动批准配置影响,风险边界较清楚;但未明确用户确认、回滚流程、数据流披露或依赖安全检查,因此未满分。
步骤、字段映射、消费者检查和回归清单相互一致,覆盖工具、工具集及扩展场景;但没有可执行脚本、失败输入处理、诊断错误信息或静态可复现测试,按静态限制扣分。
触发条件明确,涵盖重命名、迁移和注册代码审查,并区分 TypeScript 与 package.json;但输入、输出格式、非适用范围和中文使用指导不够明确。核心功能不依赖海外服务,未因网络可达性扣分。
文档包含分层步骤、表格、代码示例、关键文件、真实案例、参考 PR 和反模式,仓库还提供 MIT 许可及 Microsoft 维护来源;但技能自身缺少版本号、变更日志、明确维护责任和更新路径。
该清单可直接支持人工审查工具名称兼容性,重点覆盖稳定 ID、旧名称解析和自动批准等关键结果;但没有静态证据证明代表性变更已成功完成,且仍需人工搜索和验证,因此达到静态上限但未更高。
技能引用具体源码位置、字段和 PR,仓库文件提供可审计的测试与 CI 背景;但未提供针对该技能关键路径的提交测试或第三方执行结果,静态评估按上限给予有限分数。
- 这是静态文档审查,未执行技能、测试或实际重命名回归验证。
- 使用时应确认旧名称确实加入对应 legacy 数组,并检查所有消费者;文档中的行号和示例可能随版本变化。
- 文档未定义结构化输出或遇到无法定位注册点时的失败处理,审查者需要自行记录证据和结论。
它能做什么 & 适用场景
这是微软 Visual Studio Code Code-OSS 仓库中的一个开发技能,专门检查内置工具和工具集重命名时的向后兼容性。它要求将旧的引用名称保留在对应的 legacy 数组中,同时保护稳定的 id 或 name 字段。技能还检查提示词解析、工具启用、自动批准和工具集成员关系等消费者。它适合审查修改工具注册代码的 TypeScript 或 package.json 变更,而不是通用的工具开发助手。
检查工具或工具集注册代码中的 toolReferenceName、referenceName、id 和 name 变更;核对 legacyToolReferenceFullNames 或 legacyFullNames 是否包含所有旧名称;检查工具从工具集移动时是否保留旧的 toolSet/toolName 全路径;验证提示词文件、工具配置、工具启用映射和 eligibleForAutoApproval 设置是否仍能识别旧名称;检查扩展贡献工具的 package.json 中 name 是否被错误修改;提示更新系统提示词、内置 .prompt.md 文件、文档和测试中的一方引用。
- 维护 VS Code 内置工具的工程师重命名 toolReferenceName 时,用它确认旧名称已加入 legacyToolReferenceFullNames。
- 修改工具集 referenceName 或 createToolSet 注册逻辑的开发者,用它检查 legacyFullNames 是否保留旧名称。
- 将工具从一个工具集移动到另一个工具集的开发者,用它验证旧的 toolSet/toolName 路径仍可解析。
- 审查涉及 IToolData、createToolSet 或 package.json languageModelTools/languageModelToolSets 的拉取请求的评审者,用它查找回归。
- 维护扩展贡献工具的开发者,用它确认只重命名 toolReferenceName,而不改变作为稳定标识符的 package.json name。
优缺点一览
- 覆盖工具重命名、工具集重命名和跨工具集移动等具体场景。
- 不仅检查提示词解析,还覆盖工具启用、自动批准和 RunInTerminalTool 的本地检查。
- 明确区分可变的引用名称与不可变的稳定 id/name,适合代码审查。
- 给出了 runInTerminal、todo 和 getTaskOutput 等真实重命名案例及相关参考 PR。
- 它是审查与指导型技能,资料没有显示包含可直接运行的修复脚本或自动化测试。
- 使用者仍需读取实际 diff 和数组内容,不能只依赖字段是否存在。
- 范围仅限 VS Code 工具和工具集注册兼容性,不是通用的重构或版本迁移工具。
- 资料没有说明独立安装流程、支持的平台矩阵或运行时性能。
如何安装
提供的资料没有给出独立的技能安装命令。该技能位于 GitHub 仓库 https://github.com/microsoft/vscode 的 .github/skills/tool-rename-deprecation/SKILL.md;它属于该仓库包含的 61 个技能之一。仓库整体采用 MIT 许可证。
如何使用
在审查任何工具注册变更时调用此技能,例如:"审查这次工具注册修改,确认所有旧的 toolReferenceName 或 referenceName 都已加入对应的 legacy 数组,并检查稳定的 name/id 是否被修改。"随后按技能步骤检查实际 diff、注册字段、消费者和工具集成员列表。资料未提供可执行脚本或专用命令。