deprecation-and-migration

Guide legacy system deprecation with a 5-question decision matrix and OpenSpec spec deltas.

Updated Apr 12, 2026
One-click install
npx skills add https://github.com/jankneumann/agentic-assistant --skill deprecation-and-migration-jankneumann
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deprecation-and-migration
Source: https://github.com/jankneumann/agentic-assistant/tree/main/.agents/skills/deprecation-and-migration
Command: npx skills add https://github.com/jankneumann/agentic-assistant --skill deprecation-and-migration-jankneumann

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you remove or replace outdated systems, APIs, features, and dependencies without breaking consumers or leaving costly zombie code behind.

Core Features & Use Cases

  • Deprecation lifecycle discipline: guides you through planning, announcing, migrating, and finally removing capabilities.
  • 5-question decision matrix: ensures every deprecation candidate is evaluated for value, consumer impact, replacement readiness, migration cost, and ongoing maintenance risk.
  • Advisory vs compulsory deprecation: distinguishes when to rely on warnings and when to enforce migration with tooling and outreach.
  • Migration patterns: applies strangler, adapter, and feature-flag cohort migration approaches to reduce risk and enable rollback.
  • OpenSpec-integrated workflow: ties deprecation to proposal/spec deltas, verification steps, and cleanup so the repository never promises removed capabilities.

Quick Start

Ask to create an OpenSpec deprecation plan by running the full 5-question matrix for removing a legacy API and producing the migration guide and removal checklist.

Frequently Asked Questions about deprecation-and-migration

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

FAQPage Schema
How do I safely deprecate a legacy API without breaking existing consumers?

To safely deprecate a legacy API, apply a 5-question decision matrix evaluating value, consumer impact, replacement readiness, migration cost, and maintenance risk, then use adapter or feature-flag patterns to migrate consumers before final removal.

What is the best way to kill zombie code and consolidate duplicate implementations?

The best way to kill zombie code is to treat it as a deprecation candidate by evaluating it through a decision matrix, documenting spec deltas, and verifying usage reaches zero before compulsory removal to prevent long-term maintenance risks.

How do strangler and adapter patterns work for software migration?

Strangler and adapter patterns work for software migration by incrementally routing traffic from legacy systems to verified alternatives, reducing risk and enabling rollback while you replace production behaviors without massive consumer breakage.

When should I use advisory versus compulsory deprecation for sunsetting features?

Advisory deprecation relies on warnings and documentation when immediate migration is flexible, while compulsory deprecation enforces migration with tooling and outreach when ongoing maintenance risk or replacement readiness demands strict removal timelines.

Does this deprecation workflow require OpenSpec spec delta documentation?

Yes, this deprecation workflow requires explicit OpenSpec spec delta documentation to tie deprecation proposals to verification steps and cleanup, ensuring the repository never promises capabilities that have already been removed.

What are the limitations of using feature flags for legacy system migration?

Feature flags reduce risk and enable rollback during migration, but they require strict cohort management and eventual cleanup; if usage is not verified at zero before final flag removal, you risk retaining zombie code and ongoing maintenance overhead.