deprecation-and-migration

Plan deprecation and migration of legacy systems with incremental patterns.

2|Updated Feb 16, 2026
One-click install
npx skills add https://github.com/d0whc3r/statsig-browser-extension --skill deprecation-and-migration-d0whc3r
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/d0whc3r/statsig-browser-extension/tree/main/.agents/skills/deprecation-and-migration
Command: npx skills add https://github.com/d0whc3r/statsig-browser-extension --skill deprecation-and-migration-d0whc3r

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you remove outdated systems, APIs, or features without breaking dependent users by forcing the work of migration planning into a concrete, step-by-step process.

Core Features & Use Cases

  • Deprecation decision framework: Evaluate ongoing value, replacement availability, consumer dependency scale, migration cost, and maintenance cost of inaction.
  • Compulsory vs advisory deprecation guidance: Choose the right level of urgency and avoid “deadline-only” deprecations by defining what support and tooling are required.
  • Migration execution patterns: Apply incremental migration approaches such as the Strangler pattern and adapter pattern while reducing risk through verification.
  • Zombie code detection & handling: Identify unowned-but-required code and drive it toward either ownership/investment or removal with a plan.

Quick Start

Draft your deprecation notice and migration guide by answering the Deprecation Decision questions, defining advisory versus compulsory criteria, and outlining an incremental migration plan for each consumer.

Frequently Asked Questions about deprecation-and-migration

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

FAQPage Schema
How do I safely sunset a legacy API without breaking existing consumers?

Safely sunset a legacy API by first defining a functional replacement, issuing advisory or compulsory deprecation notices, creating migration tooling, and verifying zero active usage before final removal. Incremental migration patterns like the Strangler pattern reduce risk during the transition.

What is the difference between advisory and compulsory deprecation?

Advisory deprecation warns users that a system is outdated and provides migration guidance, while compulsory deprecation enforces a hard deadline for removal. Choosing between them depends on consumer dependency scale, migration cost, and the maintenance cost of inaction.

When should I use the Strangler pattern for migration planning?

Use the Strangler pattern for migration planning when incrementally replacing a legacy system to reduce risk. It allows you to route functionality to a new implementation over time, preserving user behavior until the old system can be safely removed.

How do I identify and handle zombie code in a legacy system?

Identify zombie code by locating unowned-but-required functionality within legacy systems. Handle it by driving the code toward either formal ownership and investment or complete removal using a structured deprecation and migration plan.

What do I need to define before starting a feature deprecation process?

Before starting feature deprecation, define a functional replacement, evaluate ongoing value and consumer dependency scale, and determine whether an advisory or compulsory mechanism is appropriate based on migration cost and maintenance burden.

How do I consolidate duplicate implementations without disrupting user behavior?

Consolidate duplicate implementations by selecting a primary replacement, migrating consumers incrementally using adapter patterns, and verifying zero active usage of the duplicates before final removal to preserve user behavior.