deprecation-and-migration

Plans deprecation and migration of legacy systems, APIs, and features.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/Avistian/nba --skill deprecation-and-migration-avistian
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/Avistian/nba/tree/main/.cursor/skills/deprecation-and-migration
Command: npx skills add https://github.com/Avistian/nba --skill deprecation-and-migration-avistian

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineering teams accumulate legacy code, zombie systems, and duplicate implementations that silently increase maintenance cost and security risk. This Skill provides a structured decision framework and step-by-step process for safely deprecating old systems and migrating users to replacements without breaking consumers. ## Core Features & Use Cases - Deprecation Decision Framework: Evaluate whether a system still provides unique value, quantify consumer dependencies, and compare migration cost against ongoing maintenance cost. - Migration Patterns: Apply the Strangler Pattern, Adapter Pattern, or feature-flag-based migration to move consumers incrementally from old to new implementations. - Advisory vs Compulsory Deprecation: Choose the right deprecation type, write deprecation notices with migration guides, and verify zero active usage before removal. - Use Case: When replacing an old internal API with a new service, use this Skill to plan the announcement, migrate consumers one at a time, verify zero remaining traffic, and fully remove the old code, tests, and documentation. ## Quick Start Ask the AI to plan the deprecation of a legacy service and produce a migration guide with incremental consumer migration steps.

Frequently Asked Questions about deprecation-and-migration

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

FAQPage Schema
How do I deprecate an API without breaking existing consumers?▼

Deprecate an API by first shipping a production-proven replacement, then announcing the deprecation with a migration guide and concrete steps. Migrate consumers incrementally using the Strangler Pattern or feature flags, and verify zero active usage through metrics and logs before removing the old code.

What is the difference between advisory and compulsory deprecation?▼

Advisory deprecation uses warnings and documentation so users migrate on their own timeline, while compulsory deprecation sets a hard removal deadline. Default to advisory; use compulsory only when security risk or maintenance cost justifies forcing migration, and always provide migration tooling.

When should I migrate users with the Strangler Pattern?▼

Use the Strangler Pattern when old and new systems can run in parallel. Route traffic incrementally from old to new (0%, 10%, 50%, 100%), then remove the old system once it handles zero traffic, minimizing risk per migration step.

What is zombie code and how should teams handle it?▼

Zombie code is unmaintained code with no owner that still has active consumers, often showing no commits in 6+ months and unpatched vulnerable dependencies. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan.

When should you not deprecate a legacy system?▼

Do not deprecate when the system still provides unique value, when no working replacement exists, or when migration cost clearly exceeds the ongoing maintenance cost. Build and prove the replacement in production before announcing any deprecation.