deprecation-and-migration

Plan and execute incremental migration of legacy systems and APIs.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/1J6K21/build4good --skill deprecation-and-migration-1j6k21
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/1J6K21/build4good/tree/main/.gemini/skills/deprecation-and-migration
Command: npx skills add https://github.com/1J6K21/build4good --skill deprecation-and-migration-1j6k21

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Reduces the long-term maintenance cost and risk of legacy code by providing a disciplined process to deprecate old systems and migrate users to replacements with minimal disruption. It helps teams avoid zombie code, undocumented dependencies, and silent security debt by forcing concrete migration plans and verification.

Core Features & Use Cases

  • Deprecation decision framework: Step-by-step questions to decide whether to maintain, migrate, or remove a system.
  • Migration process and patterns: Concrete guidance for building replacements, announcing changes, incremental migrations (strangler, adapter, feature-flag), and final removal.
  • Verification and safety checks: Metrics-driven verification, migration tooling, and a checklist for confirming zero active usage before removal.
  • Use case: Replacing an internal API with a new service while routing traffic gradually, providing adapters for legacy clients, and removing the old API once metrics show zero usage.

Quick Start

Create a migration plan that builds a production-proven replacement, documents the migration steps and tooling, migrates consumers incrementally using feature flags or adapters, verifies zero active usage by metrics, and then removes the old system.

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 migrate users from a legacy API to a new service?

The strangler pattern enables incremental legacy system migration by building a new replacement service, routing traffic to it gradually, and decommissioning the old system only after verifying zero active usage through metrics.

When should I use feature flags for a migration instead of the adapter pattern?

Use feature flags for incremental rollouts and canary deployments to toggle between systems, whereas the adapter pattern provides compatibility for legacy clients during an API replacement without requiring simultaneous consumer updates.

What is the process to deprecate and remove legacy code without breaking dependencies?

Deprecating legacy code without breaking dependencies requires a disciplined process of announcing changes, providing migration tooling, verifying zero active usage through metrics-driven tests, and executing final removal only when usage metrics confirm safe decommissioning.

How do I decide whether to maintain, migrate, or remove a legacy system?

Deciding whether to maintain, migrate, or remove a legacy system uses a deprecation decision framework with step-by-step questions to evaluate long-term maintenance costs, security debt, and the risk of keeping zombie code versus migrating consumers to a replacement.

Can I use this migration process for consolidating duplicate implementations during canary deployments?

Yes, this migration process applies to consolidating duplicate implementations and replacing old services during canary deployments by using incremental migrations, metrics-driven verification, and safety checks to ensure zero active usage before final removal.