deprecation-and-migration

Plan and execute deprecation and migration of legacy systems, APIs, and features.

2|Updated Jul 6, 2026
One-click install
npx skills add https://github.com/NAMEWTA/learning-open-code --skill deprecation-and-migration-namewta
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/NAMEWTA/learning-open-code/tree/main/translator/open-ai-skills/addyosmani-agent-skills/skills/deprecation-and-migration
Command: npx skills add https://github.com/NAMEWTA/learning-open-code --skill deprecation-and-migration-namewta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineering teams are good at building systems but poor at removing them, leaving zombie code, duplicated implementations, and unmaintained legacy services that accumulate security debt and maintenance cost. 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, how many consumers depend on it, and whether a replacement exists before deprecating. - Migration Patterns: Concrete patterns including the Strangler Pattern, Adapter Pattern, and feature-flag-based migration, with TypeScript examples for incremental consumer cutover. - Advisory vs. Mandatory Deprecation: Guidance on choosing between soft deprecation with warnings and hard-deadline deprecation with migration tooling. - Use Case: When replacing an old internal task service with a new one, use this Skill to announce the deprecation with a migration guide, migrate consumers one at a time behind a feature flag, verify zero active usage, and then delete the legacy code, tests, and docs. ## Quick Start Ask the agent to draft a deprecation and migration plan for the legacy service you want to retire, including a replacement strategy and 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 a legacy API without breaking consumers?▼

First build and validate a replacement covering all critical use cases, then publish a deprecation notice with a migration guide. Migrate consumers incrementally using the strangler pattern or feature flags, and only remove the old system after metrics confirm zero active usage.

What is the difference between advisory and mandatory deprecation?▼

Advisory deprecation uses warnings and documentation so users migrate on their own schedule, while mandatory deprecation sets a hard removal date. Mandatory deprecation is only justified by security risk or unsustainable maintenance cost and must include migration tooling and support.

How do I migrate users with the strangler pattern?▼

Run old and new systems in parallel and gradually shift traffic: start with a small canary percentage, increase to 50%, then 100%. Once the old system handles zero traffic, remove it along with its tests, docs, and configuration.

When should I not deprecate a 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. Deprecation without a validated alternative leaves consumers stranded.

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

Zombie code is unmaintained code with no owner that still has active consumers, often shown by stale commits, failing tests, and unpatched dependencies. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan.