deprecation-and-migration

Plan and execute deprecation of legacy systems with incremental migration patterns.

Updated May 13, 2026
One-click install
npx skills add https://github.com/sapatamuku-creator/mastersapatamuku --skill deprecation-and-migration-sapatamuku-creator
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/sapatamuku-creator/mastersapatamuku/tree/main/releases/v2.7/.agents/skills/deprecation-and-migration
Command: npx skills add https://github.com/sapatamuku-creator/mastersapatamuku --skill deprecation-and-migration-sapatamuku-creator

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Removing old systems, APIs, and features is hard because users depend on existing behavior, and teams often lack a structured process for sunsetting code safely. This Skill provides a disciplined framework for deciding what to deprecate, migrating consumers incrementally, and removing code without breaking production. ## Core Features & Use Cases - Deprecation Decision Framework: Evaluate whether a system still provides unique value, quantify migration scope, and choose between advisory and compulsory deprecation. - Migration Patterns: Apply the Strangler Pattern, Adapter Pattern, feature flag cutovers, and expand/contract database schema migrations with reversible steps. - Zombie Code Handling: Identify unmaintained code with active consumers and decide between assigning ownership or planning removal. - Use Case: When renaming a database column, follow the expand/contract workflow — add the new nullable column, dual-write, backfill in batches, switch reads, then drop the old column in a separate deploy — so old and new code both work at every step. ## Quick Start Ask the AI to plan a deprecation and migration strategy for a legacy API or database column rename using incremental, reversible 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 an API without breaking existing consumers?▼

Deprecate an API by first shipping 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 system after metrics confirm zero active usage.

How to rename a database column without downtime?▼

Rename a column using expand/contract: add the new nullable column, dual-write both columns, backfill existing rows in throttled batches, switch reads to the new column, then drop the old column in a separate later deploy. Never rename in place.

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 tooling.

When should I use the Strangler Pattern for migration?▼

Use the Strangler Pattern when replacing a system that serves live traffic. Run old and new systems in parallel, route traffic incrementally from old to new through canary phases, and remove the old system once it handles zero percent of traffic.

Why do database migrations fail during deployment rollouts?▼

Migrations fail when a schema change ships in the same deploy as the code depending on it, because old and new code run simultaneously during rollout and one queries a column that does not exist. Ship additive changes first and destructive changes in a separate deploy.

What should I do with zombie code that nobody owns?▼

Zombie code with no owner but active consumers cannot stay in limbo. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan, since unmaintained code accumulates security vulnerabilities and compatibility issues.