tool-rename-deprecation

Preserve old tool names in legacy arrays for backward compatibility.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Maintains backward compatibility when tool names are renamed, ensuring existing prompts and configurations still resolve to the correct tools.

Core Features & Use Cases

  • Backward-compatibility coverage: preserves old tool names in legacy arrays when renaming toolReferenceName or referenceName.
  • Wide scope protection: ensures prompts, enablement, auto-approval, and terminal checks respect legacy names across internal and extension-contributed tools.
  • Repeatable workflow: provides a clear, multi-step process for identifying changes, propagating legacy names, and updating references.

Quick Start

Identify a renamed tool and apply the legacy-name process so old references resolve properly.

Frequently Asked Questions about tool-rename-deprecation

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

FAQPage Schema
How do I preserve backward compatibility when renaming tool references in TypeScript?

Preserve backward compatibility for renamed tool references by adding old names to legacy arrays like legacyToolReferenceFullNames or legacyFullNames, ensuring existing prompts and configurations still resolve to the correct tools.

What happens to extension-contributed tools when the toolReferenceName is changed?

When toolReferenceName changes, the 'name' field for extensions stays stable and old names are preserved in legacy arrays, ensuring extension-contributed tools continue to resolve properly across all lookup paths.

How do auto-approval checks and RunInTerminalTool logic handle deprecated tool names?

Auto-approval checks and RunInTerminalTool logic respect legacy names by querying legacy arrays, ensuring renamed tools remain accessible and approved across internal TypeScript tool data and extension-contributed tools.

What is the best way to migrate prompts that reference renamed tools without breaking existing configurations?

Migrate prompts by propagating legacy names into legacyToolReferenceFullNames or legacyFullNames arrays, which keeps old references resolving correctly while enforcing cross-consumer compatibility across all lookup paths.

Do I need to update legacy arrays for both internal TypeScript tools and extension-contributed tools?

Yes, you must update legacy arrays for both internal TypeScript tool data and extension-contributed tools to enforce cross-consumer compatibility and ensure prompts, enablement, and auto-approval checks respect legacy names.

Why does a renamed tool stop resolving in existing prompts if legacy names are not preserved?

Renamed tools stop resolving because prompts, tool enablement, and auto-approval checks fail to find the old reference, which is why adding old names to legacy arrays is required to maintain backward compatibility.