Dev & Engineering ✓ Microsoft · Official tool-registrationbackward-compatibilitytypescriptlanguage-model-toolscode-reviewprompt-files

Tool Rename Compatibility Check

Protect existing prompts and tool configurations when built-in tools are renamed.

FollowSkills review · FSRS-2.0
Use with care
63/ 100 5-point scale 3.2 / 5
Trust20 / 25 · 4.0/5

The skill only instructs compatibility review for renamed tools; it requires no commands, external services, or sensitive data handling, and clearly protects stable IDs, legacy names, and auto-approval behavior. It lacks explicit user confirmation, rollback guidance, data-flow disclosure, and dependency-security checks, so full marks are not justified.

Reliability8 / 20 · 2.0/5

The procedure, field mappings, consumer checks, and regression checklist are internally consistent and cover TypeScript, tool sets, and extensions. However, there is no executable helper, abnormal-input handling, diagnostic failure feedback, or static reproducibility test, so the score is reduced under the static limit.

Adaptability12 / 15 · 4.0/5

Trigger conditions are specific and cover renames, moves, and registration-code reviews, with separate TypeScript and package.json guidance. Inputs, output format, non-fit boundaries, and Chinese-language usage guidance are under-specified. The core function does not depend on overseas services, so no network-reachability deduction applies.

Convention11 / 15 · 3.7/5

The document provides progressive steps, a mapping table, code examples, key files, real examples, reference PRs, and anti-patterns; repository evidence also supplies MIT licensing and Microsoft maintenance provenance. The skill itself lacks a version, changelog, explicit maintainer, and update path.

Effectiveness7 / 15 · 2.3/5

The checklist is directly usable for manually reviewing tool-name compatibility and covers stable IDs, legacy resolution, and auto-approval restrictions. Static evidence does not verify representative completed changes, and the process still requires manual searches and checks, so the score reaches but does not exceed the static ceiling.

Verifiability5 / 10 · 2.5/5

The skill cites concrete source locations, fields, and pull requests, while repository files provide auditable test and CI context. It does not include committed tests or third-party execution evidence for the skill's key path, so only limited static verifiability is credited.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e
Before you use it
  • This is a static document review; the skill, tests, and an actual rename regression were not executed.
  • Users should verify that the old name is present in the correct legacy array and inspect every consumer; cited line numbers and examples may drift across revisions.
  • The skill defines no structured output or failure procedure when the registration point cannot be located, so reviewers must record evidence and conclusions themselves.
See the full review method →

What it does & when to use it

This is a development skill in Microsoft's Visual Studio Code Code-OSS repository for checking backward compatibility during built-in tool and tool-set renames. It requires previous reference names to remain in the appropriate legacy arrays while stable id or name fields remain unchanged. It also checks prompt resolution, tool enablement, auto-approval, and tool-set membership consumers. It is intended for reviewing TypeScript or package.json registration changes, not for general-purpose tool development.

Inspects changes to toolReferenceName, referenceName, id, and name in tool and tool-set registration; verifies that legacyToolReferenceFullNames or legacyFullNames contain every previous name; checks that moving a tool between sets preserves the old toolSet/toolName path; verifies that prompt files, tool configurations, enablement maps, and eligibleForAutoApproval settings still recognize legacy names; flags changes to the stable name of extension-contributed tools; and identifies first-party prompts, documentation, model descriptions, and tests that may need updated references.

  1. A VS Code engineer renaming a built-in toolReferenceName uses it to confirm the previous name is added to legacyToolReferenceFullNames.
  2. A developer changing a tool-set referenceName or createToolSet registration uses it to verify that legacyFullNames preserves the previous name.
  3. A developer moving a tool between tool sets uses it to confirm that the former toolSet/toolName path remains resolvable.
  4. A reviewer examining a pull request that changes IToolData, createToolSet, or package.json languageModelTools/languageModelToolSets uses it for regression checks.
  5. An extension-tool maintainer uses it to ensure only toolReferenceName changes while the stable package.json name remains unchanged.

Pros & cons

Pros
  • Covers concrete tool renames, tool-set renames, and moves between tool sets.
  • Checks more than prompt resolution, including enablement, auto-approval, and the RunInTerminalTool local check.
  • Clearly separates mutable reference names from stable id/name identifiers, making it useful for code review.
  • Provides real rename examples for runInTerminal, todo, and getTaskOutput, plus related reference pull requests.
Limitations
  • It is a review and guidance skill; the supplied material does not show an automatic fix script or automated test suite.
  • The reviewer must inspect the actual diff and array contents rather than merely checking whether a field exists.
  • Its scope is limited to VS Code tool and tool-set registration compatibility, not general refactoring or migration work.
  • The supplied material does not document a standalone installation process, platform matrix, or runtime performance.

How to install

The supplied materials do not document a standalone installation command. The skill is located at .github/skills/tool-rename-deprecation/SKILL.md in https://github.com/microsoft/vscode and is one of 61 skills bundled in that repository. The repository is licensed under the MIT license.

How to use

Invoke it when reviewing any tool-registration change, for example: "Review this tool registration change, confirm every previous toolReferenceName or referenceName is present in the appropriate legacy array, and check that stable name/id fields were not changed." Then follow its procedure to inspect the actual diff, registration fields, consumers, and tool-set membership lists. The supplied materials do not provide an executable script or dedicated command.

FAQ

Does it automatically modify the code?
The material describes checks, required fields, and reference updates, but provides no automatic editing script, so automatic code modification cannot be confirmed.
Which field must not change when renaming an extension-contributed tool?
The package.json name is mapped to IT​​oolData.id and is used for activation events. The skill requires keeping name unchanged, renaming only toolReferenceName, and adding the previous reference name to legacyToolReferenceFullNames.
What if the old name is already in the legacy array?
Read the actual array and confirm that it contains the value immediately preceding the current change, while also verifying that existing legacy entries were not removed.
What changes is it designed to review?
It is designed for pull requests and registration changes involving TypeScript IToolData, createToolSet, and package.json languageModelTools or languageModelToolSets.

More skills from this repository

All from microsoft/vscode

Dev & Engineering ✓ Microsoft · Official

Copilot Chat OpenTelemetry Instrumentation

A repository-specific guide for consistent OpenTelemetry instrumentation in Copilot Chat.

Dev & Engineering ✓ Microsoft · Official

VS Code Configuration Policy Maintainer

Standardize VS Code policy registration, export, and validation.

Design & Frontend ✓ Microsoft · Official

VS Code Design Philosophy

Turn vague UI discomfort into concrete fixes using shared values, principles, and design moves.

Dev & Engineering ✓ Microsoft · Official

Agent Host E2E Test Assistant

Maintain VS Code Agent Host end-to-end tests with strict replay fixtures.

Dev & Engineering ✓ Microsoft · Official

VS Code Integrated Browser Architecture

A practical architecture guide for safely changing VS Code's cross-process integrated browser.

Dev & Engineering ✓ Microsoft · Official

VS Code Agents Window Sessions

Safely implement and repair VS Code Agents window features.

Dev & Engineering ✓ Microsoft · Official

Commit Assistant

Creates repository-style commit messages and safely commits code changes.

Dev & Engineering ✓ Microsoft · Official

Agent Host Log Investigator

Trace session, transport, and host failures in Agent Host debug exports.

Dev & Engineering ✓ Microsoft · Official

VS Code Unit Test Runner

Run VS Code repository unit tests by file, test name, or compiled-output glob.

Dev & Engineering ✓ Microsoft · Official

VS Code Agent Customization Assistant

Create, repair, and troubleshoot VS Code Agent customization files and their loading behavior.

Dev & Engineering ✓ Microsoft · Official

Code OSS Launch & Debug

Launch a built-from-source VS Code with isolated profiles, Playwright control, and multi-process debugging ports.

Dev & Engineering ✓ Microsoft · Official

VS Code Accessibility Development Guide

A practical specification for accessible interactive features in VS Code.

Design & Frontend ✓ Microsoft · Official

VS Code CSS Layout Standards

Build reliable VS Code-style CSS layouts and text truncation behavior

Dev & Engineering ✓ Microsoft · Official

VS Code Chat Performance Lab

Benchmark chat rendering and detect memory growth across VS Code builds.

Dev & Engineering ✓ Microsoft · Official

Component Fixtures for Screenshot Testing

Create stable, theme-aware VS Code component fixtures for isolated screenshot testing.

Dev & Engineering ✓ Microsoft · Official

VS Code Smoke Test Assistant

Run, filter, and debug VS Code end-to-end smoke tests.

Dev & Engineering ✓ Microsoft · Official

VS Code Crash Dump Symbolicator

Turn native VS Code crash dumps into readable backtraces with method names.

Dev & Engineering ✓ Microsoft · Official

Local VS Code Web Workbench

Validate VS Code workbench and Agents window changes in a local vscode.dev instance.

Dev & Engineering ✓ Microsoft · Official

Feedback Action

Reads current-session feedback and applies the requested code changes.

Dev & Engineering ✓ Microsoft · Official

VS Code Chat Customizations Editor Skill

Guides developers through safe changes and testing for VS Code’s chat customization management UI.

Related skills