deprecation-and-migration

Plans deprecation and incremental migration of legacy systems, APIs, and database schemas.

Updated May 5, 2026
One-click install
npx skills add https://github.com/nikegeorgian-stack/otgruzka-tovara --skill deprecation-and-migration-nikegeorgian-stack
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/nikegeorgian-stack/otgruzka-tovara/tree/main/.cursor/skills/deprecation-and-migration
Command: npx skills add https://github.com/nikegeorgian-stack/otgruzka-tovara --skill deprecation-and-migration-nikegeorgian-stack

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams accumulate legacy code, zombie systems, and risky schema changes because removal is harder than building. This Skill provides a disciplined process for deciding what to deprecate, migrating consumers safely, and removing old systems without breaking production. ## Core Features & Use Cases - Deprecation Decision Framework: Structured questions to decide whether to maintain, deprecate, or remove a system, including advisory vs compulsory deprecation trade-offs. - Migration Patterns: Step-by-step guidance for the Strangler pattern, Adapter pattern, feature-flag cutovers, and expand/contract database schema migrations with tested rollback paths. - Zombie Code & Red Flag Detection: Checklists to identify unmaintained code with active consumers and common rationalizations that delay necessary removal. - Use Case: When replacing a legacy task service, use this Skill to plan the announcement, migrate consumers incrementally with feature flags, verify zero usage, and fully remove the old code, tests, and docs. ## Quick Start Ask the AI to plan the deprecation and migration of a legacy service or database column to its replacement, including rollback safety.

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 a legacy API without breaking consumers?▼

Deprecate a legacy API by first building a production-proven replacement, then announcing with documentation and migration tooling. Migrate consumers incrementally using patterns like the Strangler approach or feature flags, and verify zero active usage via metrics before removing the old code.

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 batches, switch reads to the new column, then drop the old column in a separate later deploy. Never rename in place, since old and new code run simultaneously during rollout.

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 migration 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 (0%, 10%, 50%, 100%), and remove the old system only when it handles zero traffic.

What is zombie code and how should it be handled?▼

Zombie code is unmaintained code with no owner that still has active consumers, often showing no commits in 6+ months and unpatched vulnerabilities. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan; it cannot stay in limbo.

Why should a database migration have a tested down path?▼

A migration without a tested down path is a deploy you cannot roll back if something fails. Write and run the rollback before merging, and keep destructive steps like drops in their own deploy after no code references the old schema shape.