deprecation-and-migration

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

5|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/PHenrique07/Sementis-IFSP-Pirituba --skill deprecation-and-migration-phenrique07
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/PHenrique07/Sementis-IFSP-Pirituba/tree/main/.github/skills/deprecation-and-migration
Command: npx skills add https://github.com/PHenrique07/Sementis-IFSP-Pirituba --skill deprecation-and-migration-phenrique07

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Removing old systems, APIs, and features is risky: consumers depend on undocumented behaviors, and in-place database changes break rolling deploys. This Skill provides a disciplined process for deciding what to deprecate, migrating consumers safely, and executing zero-downtime schema changes. ## Core Features & Use Cases - Deprecation Decision Framework: Quantify consumer count, migration cost, and maintenance cost before choosing advisory or compulsory deprecation. - Migration Patterns: Apply the Strangler Pattern, Adapter Pattern, and feature-flag cutovers to move traffic incrementally from old to new implementations. - Expand/Contract Schema Migrations: Rename or drop database columns in additive phases (expand, dual-write, backfill, contract) so old and new code both work during rollout. - Use Case: You need to rename a name column to full_name in production. The Skill walks you through adding the nullable column, dual-writing, batch backfilling, switching reads, and dropping the old column in a separate deploy. ## Quick Start Ask the AI to plan a safe migration for renaming a production database column or deprecating a legacy API using the deprecation-and-migration skill.

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

Deprecate an API by first building a production-proven replacement, then announcing with a migration guide and deadline. Migrate consumers incrementally, verify zero active usage via metrics and logs, and only then remove the old code, tests, and documentation.

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. 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 with tooling and support.

When should I use the Strangler Pattern for migration?▼

Use the Strangler Pattern when replacing a system incrementally: run old and new in parallel and route traffic gradually from 0% to 100%. Once the old system handles zero traffic, remove it safely.

Why do database migrations fail during rolling deploys?▼

Failures happen when a schema change ships in the same deploy as the code depending on it, so old and new code run simultaneously against incompatible schemas. Decouple them with additive phases and feature flags, and always test the down migration before merging.

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

Zombie code is unmaintained code with no owner that still has active consumers, accumulating security vulnerabilities and compatibility issues. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan.