tool-rename-deprecation

Preserve old tool references during TypeScript renames to maintain backward compatibility.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/Nithwin/shadowcode --skill tool-rename-deprecation-nithwin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tool-rename-deprecation
Source: https://github.com/Nithwin/shadowcode/tree/main/.github/skills/tool-rename-deprecation
Command: npx skills add https://github.com/Nithwin/shadowcode --skill tool-rename-deprecation-nithwin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Renaming built-in tools or tool sets can break existing prompts, saved references, and runtime lookups. This Skill enforces backward compatibility by ensuring old names are preserved and resolved across all consumers.

Core Features & Use Cases

  • Add old names to legacyToolReferenceFullNames (for tools) and legacyFullNames (for tool sets) whenever a reference is renamed.
  • Validate and propagate changes so prompts, tool enablement, and auto-approval logic continue to function with legacy references.
  • Guidance for PR reviews and extension-contributed tools to avoid breaking changes and maintain stable activations.

Quick Start

Add the previous tool or tool set name to the corresponding legacy array after a rename to preserve backward compatibility.

Frequently Asked Questions about tool-rename-deprecation

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

FAQPage Schema
How do I keep legacy tool references working after renaming tools in TypeScript?

To maintain tool backward compatibility after renaming, add old names to the legacyToolReferenceFullNames and legacyFullNames arrays. This ensures prompts, tool enablement, and auto-approval logic continue resolving legacy references correctly.

Why do prompts break when I rename built-in tools?

Prompts break because saved references and runtime lookups fail to resolve the new tool names. Preserving old names in legacy arrays during tool registration changes ensures existing prompts and auto-approval logic remain functional.

What is the best way to handle tool registration changes without breaking extension contributions?

Maintain stable IDs and add old tool names to legacy arrays when renaming. Validate and propagate these changes so extension-contributed tools and tool enablement logic respect legacy references without breaking activations.

Do I need to update all consumers when renaming a tool set?

Yes, you must update all consumers to respect legacy names. Adding old tool set names to legacyFullNames maintains backward compatibility so tool enablement and auto-approval logic continue functioning properly.

Can I rename tool references without adding them to legacy arrays?

No, omitting old names from legacyToolReferenceFullNames or legacyFullNames breaks prompts, saved references, and runtime lookups. Enforcing backward compatibility requires preserving old names across all consumers during registration changes.

How do I validate PR reviews for tool rename deprecation?

Validate that PR reviews enforce adding old names to legacy arrays after a rename. This guidance prevents breaking changes by ensuring extension-contributed tools maintain stable activations and backward compatibility.