deprecation-and-migration

Plans and executes deprecation of legacy systems with incremental migration patterns.

Updated Aug 11, 2026
One-click install
npx skills add https://github.com/Kunj-Sharma03/agent-contextify --skill deprecation-and-migration-kunj-sharma03
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/Kunj-Sharma03/agent-contextify/tree/main/templates/skills/deprecation-and-migration
Command: npx skills add https://github.com/Kunj-Sharma03/agent-contextify --skill deprecation-and-migration-kunj-sharma03

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Removing old systems, APIs, and features is hard because consumers depend on undocumented behaviors, and rushed removals break production. This Skill provides a disciplined process for deciding what to deprecate, migrating consumers safely, and removing code without regressions. ## Core Features & Use Cases - Deprecation Decision Framework: Evaluate whether a system still provides unique value, quantify consumer impact, 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 tested rollback paths. - 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 during rollout. ## Quick Start Ask the agent to plan the deprecation of a legacy API and produce a migration guide with an incremental cutover strategy for all consumers.

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 consumers?

Build a production-proven replacement first, then announce deprecation with a migration guide and tooling. Migrate consumers incrementally one at a time, verify zero active usage through metrics and logs, and only then remove the old system.

How to rename a database column without downtime?

Use the expand/contract pattern: add the new column as nullable, 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 when the old system is stable. Compulsory deprecation sets a hard removal deadline and is reserved for security risks or unsustainable maintenance costs, and it requires providing migration tooling and support.

When should I use the Strangler pattern for migration?

Use the Strangler pattern when replacing a system that handles live traffic. Run old and new systems in parallel, route traffic incrementally from old to new starting with a small canary percentage, and remove the old system once it handles zero traffic.

What is zombie code and how should I handle it?

Zombie code is unmaintained code with no owner that still has active consumers, often showing no commits in six months or unpatched vulnerable dependencies. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan.

Why should database migrations have a tested down path?

A migration without a tested down path cannot be reversed, making the associated deploy impossible to roll back safely. Write and run the down migration before merging so every schema change is recoverable.