deprecation-and-migration

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

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/raishoemi/traffic-sim-v2 --skill deprecation-and-migration-raishoemi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/raishoemi/traffic-sim-v2/tree/main/.github/skills/deprecation-and-migration
Command: npx skills add https://github.com/raishoemi/traffic-sim-v2 --skill deprecation-and-migration-raishoemi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams accumulate legacy code, zombie systems, and duplicate implementations that silently increase maintenance cost, security risk, and onboarding friction. This Skill provides a disciplined process for deciding what to deprecate, migrating consumers safely, and fully removing old code. ## Core Features & Use Cases - Deprecation Decision Framework: A structured checklist to evaluate whether a system still provides unique value, quantify consumer impact, and compare migration cost against ongoing maintenance cost. - Migration Patterns: Concrete guidance for the Strangler pattern, Adapter pattern, and feature-flag-based migration, with TypeScript examples. - Advisory vs Compulsory Deprecation: Criteria for choosing between optional migration with nudges and hard-deadline removal with mandatory tooling and support. - Use Case: When replacing a legacy task service with a new implementation, use this Skill to write the deprecation notice, build an adapter preserving the old interface, migrate consumers incrementally, and verify zero usage before deleting the old code. ## Quick Start Ask the agent to plan the deprecation of a legacy module and produce a migration guide with incremental rollout steps for all current 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 a legacy API without breaking consumers?

Deprecate a legacy API by first building a production-proven replacement, then publishing a deprecation notice with a migration guide. Migrate consumers incrementally using the Strangler pattern or feature flags, and verify zero active usage via metrics and logs before removing the old code.

What is the difference between advisory and compulsory deprecation?

Advisory deprecation makes migration optional using warnings and documentation while the old system remains stable. Compulsory deprecation sets a hard removal deadline and is reserved for security risks or unsustainable maintenance cost, but requires providing migration tooling and support.

How do I migrate users from an old system to a new one incrementally?

Use the Strangler pattern to route traffic gradually from old to new, an Adapter to translate old interfaces onto the new implementation, or feature flags to switch consumers one at a time. Verify behavior matches at each step before removing old references.

When should I remove zombie code instead of maintaining it?

Remove zombie code when it has no owner, no commits in over six months, failing tests, or unpatched vulnerable dependencies, yet still has active consumers. Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan.

Why do deprecation efforts fail after announcement?

Deprecations fail when announced without a working replacement, migration tooling, or documentation, because users cannot switch on their own. Hyrum's Law means consumers depend on undocumented behaviors, so owners must actively migrate users or provide backward-compatible updates.