deprecation-and-migration

Plans and executes deprecation of legacy systems with incremental migration patterns.

Updated Apr 28, 2026
One-click install
npx skills add https://github.com/JacobThree/zero-bloat-mcp-stack --skill deprecation-and-migration-jacobthree
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/JacobThree/zero-bloat-mcp-stack/tree/main/ai_blueprints/agent-skills/skills/deprecation-and-migration
Command: npx skills add https://github.com/JacobThree/zero-bloat-mcp-stack --skill deprecation-and-migration-jacobthree

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 disciplined process for deciding what to deprecate, migrating consumers safely, and fully removing old code. ## Core Features & Use Cases - Deprecation Decision Framework: A structured checklist to evaluate whether a system still provides unique value, quantify migration scope, and compare migration cost against ongoing maintenance cost. - Migration Patterns: Concrete implementations of the Strangler Pattern, Adapter Pattern, and feature-flag-based migration with TypeScript examples. - Advisory vs Compulsory Deprecation: Guidance on choosing between soft nudges and hard deadlines, including announcement templates and migration documentation. - Use Case: When replacing an old internal API with a new service, use this Skill to write the deprecation notice, migrate consumers incrementally with feature flags, verify zero remaining usage, and remove the old code completely. ## Quick Start Use the deprecation-and-migration skill to plan the deprecation of our legacy task service and migrate all consumers to the new implementation.

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 building a production-proven replacement, then announcing with a migration guide and tooling. Migrate consumers incrementally using the Strangler Pattern or feature flags, and only remove the old API after metrics confirm zero active usage.

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.

How do I migrate users from an old system to a new one incrementally?▼

Use the Strangler Pattern to route traffic gradually from old to new, or feature flags to switch consumers one at a time. An Adapter Pattern can also translate old interface calls to the new implementation so consumers migrate without code changes.

When should I deprecate code instead of maintaining it?▼

Deprecate when the system no longer provides unique value, a replacement exists, and migration cost is lower than ongoing maintenance over two to three years. Code with no owner, failing tests, and unpatched vulnerabilities is zombie code that needs either investment or removal.

Why do users not migrate after a deprecation announcement?▼

Users rarely migrate on their own because of Hyrum's Law: they depend on undocumented behaviors the replacement may not replicate. The Churn Rule states the infrastructure owner is responsible for migrating users or providing backward-compatible updates, tooling, and documentation.