deprecation-and-migration

Plan incremental migration from legacy systems to replacement APIs.

1|Updated Jan 28, 2025
One-click install
npx skills add https://github.com/josuenavarroaguado/josuenavarroaguado.github.io --skill deprecation-and-migration-josuenavarroaguado
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/josuenavarroaguado/josuenavarroaguado.github.io/tree/main/.github/skills/deprecation-and-migration
Command: npx skills add https://github.com/josuenavarroaguado/josuenavarroaguado.github.io --skill deprecation-and-migration-josuenavarroaguado

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps engineering teams remove legacy code, systems, or APIs with minimal disruption by providing a disciplined process for deciding what to deprecate, how to migrate consumers, and when to remove old implementations.

Core Features & Use Cases

  • Decision Framework: Questions and criteria to determine whether to maintain, migrate, or sunset a system, weighing user impact and maintenance cost.
  • Migration Process & Patterns: Step-by-step guidance including building replacements, announcing deprecation, incremental migration (strangler, adapter, feature-flag strategies), verification, and final removal.
  • Governance & Risk Controls: Recommendations for advisory vs compulsory deprecation, migration tooling, verification checklists, and handling zombie code to reduce security and operational risk.
  • Use Case: Replace a legacy API with a new service by running old and new in parallel, migrating consumers incrementally with feature flags, and removing the old API after verification.

Quick Start

Announce the deprecation with a migration guide, provide replacement APIs or adapters, migrate one consumer at a time using feature flags or adapters, verify behavior with metrics and tests, and remove the old system once usage is zero.

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 deprecate a legacy API and migrate consumers to a new service?

Legacy system migration involves building replacement APIs, providing migration tooling and documentation, migrating consumers incrementally using feature flags or adapters, verifying behavior with metrics, and removing the old system once usage reaches zero.

What is the strangler pattern for incremental code migration?

Incremental migration uses patterns like strangler and adapter strategies to replace legacy systems. You build the replacement, migrate one consumer at a time using feature flags, verify behavior with metrics, and coordinate final removal when usage is zero.

When should I sunset a feature instead of maintaining the legacy code?

Sunsetting a feature is appropriate when maintenance costs outweigh user impact. A decision framework evaluates whether to maintain, migrate, or sunset a system by weighing user impact, maintenance cost, and operational risk to reduce zombie code.

How do I verify that all consumers have migrated before removing an old API?

Verify consumer API migration by monitoring usage metrics and running tests to confirm behavior parity. You safely coordinate the removal of the old implementation only when metrics verify that legacy API usage has reached zero.

What is the best way to manage feature flags during an API migration?

During API migration, feature flags enable incremental consumer rollout. You migrate one consumer at a time from the legacy system to the replacement, verify behavior with metrics, and use the flags to safely control the transition before final removal.

What are the risks of leaving zombie code in a consolidated system?

Zombie code in consolidated systems creates security and operational risks. Governance and risk controls mitigate this by enforcing advisory or compulsory deprecation, providing migration tooling, and coordinating removal when consumer usage reaches zero.