deprecation-and-migration

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

1|Updated Mar 2, 2025
One-click install
npx skills add https://github.com/marjorg/setup --skill deprecation-and-migration-marjorg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/marjorg/setup/tree/main/home/.agents/skills/deprecation-and-migration
Command: npx skills add https://github.com/marjorg/setup --skill deprecation-and-migration-marjorg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Removing old systems, APIs, and features is hard because users depend on existing behavior, and rushed removals or in-place schema changes cause outages. This Skill provides a disciplined process for deciding what to deprecate, migrating consumers safely, and executing zero-downtime database schema changes. ## Core Features & Use Cases - Deprecation Decision Framework: Structured questions to decide whether to maintain, sunset, or replace a system, including advisory vs compulsory deprecation guidance. - Migration Patterns: Step-by-step guidance for the Strangler pattern, Adapter pattern, and feature-flag-based cutovers, plus the Churn Rule for owning user migration. - Expand/Contract Schema Migrations: A phased approach (expand, dual-write, backfill, switch reads, contract) for renaming or dropping database columns without downtime. - Use Case: You need to rename a name column to full_name in a production Postgres database. The Skill walks you through adding the new nullable column, dual-writing, backfilling in batches, switching reads, and dropping the old column in a separate deploy. ## Quick Start Ask the assistant to plan a safe migration for renaming a production database column using the expand and contract approach.

Frequently Asked Questions about deprecation-and-migration

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

FAQPage Schema
What are the limitations of in-place schema changes?

In-place renames and drops are not reversible during a rollout window and lock tables on large updates. Expand/contract avoids this by keeping old and new code valid at every step, batching backfills, and requiring a tested down migration before merging.