addy-deprecation-and-migration

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

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill addy-deprecation-and-migration-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: addy-deprecation-and-migration
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/addy-deprecation-and-migration
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill addy-deprecation-and-migration-tylersimons1127

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineering teams build systems well but rarely remove them, leaving zombie code, duplicate implementations, and risky schema changes that accumulate maintenance cost and security debt. ## Core Features & Use Cases - Deprecation Decision Framework: Evaluate whether to maintain or sunset a system using structured questions about value, consumers, replacement availability, and migration cost. - Migration Patterns: Apply the Strangler pattern, Adapter pattern, feature flag cutovers, and expand/contract database schema migrations with reversible, independently deployable phases. - Use Case: When renaming a database column like name to full_name, follow the expand, dual-write, backfill, switch-reads, contract sequence so old and new code both work during rollout and every step has a tested rollback path. ## Quick Start Help me plan the deprecation of our legacy task service and migrate all consumers to the new implementation.

Frequently Asked Questions about addy-deprecation-and-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deprecate an API or system safely?▼

Deprecate safely by first building a production-proven replacement, then announcing with documentation and migration guides, migrating consumers incrementally, and removing the old system only after verifying zero active usage through metrics and logs.

How to rename a database column without downtime?▼

Use the expand/contract pattern: 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.

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 and use compulsory only when maintenance cost or security risk justifies forcing migration.

When should I use the Strangler pattern for migration?▼

Use the Strangler pattern when replacing a system serving live traffic. Run old and new systems in parallel, route traffic incrementally from old to new, and remove the old system once it handles zero percent of traffic.

Why do database migrations fail during deployment rollouts?▼

Migrations fail when schema changes couple to code changes, because old and new code run simultaneously during rollout and one queries a column that does not exist. Never change columns in place; migrate in additive phases with tested down paths.

What is zombie code and how should teams handle it?▼

Zombie code is unmaintained code with active consumers, no owner, and accumulating vulnerabilities. Teams must either assign an owner and maintain it properly or deprecate it with a concrete migration plan, since limbo is not acceptable.