tool-rename-deprecation

Preserves backward compatibility when renaming tool reference names in VS Code tool registration.

1|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/voidful/Aixlarity --skill tool-rename-deprecation-voidful
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tool-rename-deprecation
Source: https://github.com/voidful/Aixlarity/tree/main/aixlarity-ide/.github/skills/tool-rename-deprecation
Command: npx skills add https://github.com/voidful/Aixlarity --skill tool-rename-deprecation-voidful

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Renaming a built-in tool or tool set reference name silently breaks existing prompt files, tool configurations, and auto-approval settings that still reference the old name. This Skill ensures every rename preserves the old identifier in the appropriate legacy array so saved references continue to resolve. ## Core Features & Use Cases - Legacy Name Preservation: Adds old toolReferenceName values to legacyToolReferenceFullNames and old tool set names to legacyFullNames so existing .prompt.md files and configurations keep working. - Stable ID Protection: Enforces the rule that the name field in package.json and the id field on IToolData must never change, since they drive activation events and tool invocation by id. - Consumer Verification: Checks that prompt resolution, tool enablement, auto-approval settings, and per-tool checks like RunInTerminalTool all respect legacy names. - Use Case: When reviewing a PR that renames runCommands/runInTerminal to runInTerminal, run this Skill to confirm the old path appears in legacyToolReferenceFullNames and that no legacy entries were removed. ## Quick Start Review this pull request that renames a built-in tool and verify the old reference name was added to the legacy names array.

Frequently Asked Questions about tool-rename-deprecation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rename a VS Code tool without breaking existing prompt files?

Change only the toolReferenceName field and add the previous value to the legacyToolReferenceFullNames array on the IToolData definition. The resolution system maps old names to current ones, so existing .prompt.md files and tool configurations continue to resolve.

How to rename a tool set referenceName in VS Code?

Pass the old name in the legacyFullNames option when calling createToolSet with the new referenceName. If a tool moved between tool sets, include the full old toolSet/toolName path in the tool's legacyToolReferenceFullNames array.

Can I change the name field in package.json languageModelTools?

No, the name field in package.json becomes the tool's stable id via the id: rawTool.name mapping and drives activation events like onLanguageModelTool. Only rename toolReferenceName and never touch the name field.

Why does auto-approval stop working after renaming a tool?

The chat.tools.eligibleForAutoApproval setting matches against tool reference names, so a rename can orphan user restrictions. The isToolEligibleForAutoApproval check must iterate legacyToolReferenceFullNames so restrictions on old names remain honored.

What should I check when reviewing a PR that renames tools?

Confirm each changed toolReferenceName has its previous value in legacyToolReferenceFullNames, no name or id fields changed, no legacy entries were removed, and moved tools retain their old toolSet/toolName path. Also verify all name consumers respect legacy resolution.