Plans safe deprecation, migration, sunset, replacement, and removal of old systems, APIs, features, schemas, flags, cron jobs, integrations, configs, libraries, UI flows, and operational processes. Use when retiring legacy code, replacing an implementation, removing a public/internal interface, migrating consumers, consolidating duplicate systems, deciding maintain-vs-sunset, writing deprecation notices, proving zero usage before deletion, or when Hyrum's Law, compatibility, rollback, data safety, production risk, or consumer communication matters.
Instalação
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Plans safe deprecation, migration, sunset, replacement, and removal of old systems, APIs, features, schemas, flags, cron jobs, integrations, configs, libraries, UI flows, and operational processes. Use when retiring legacy code, replacing an implementation, removing a public/internal interface, migrating consumers, consolidating duplicate systems, deciding maintain-vs-sunset, writing deprecation notices, proving zero usage before deletion, or when Hyrum's Law, compatibility, rollback, data safety, production risk, or consumer communication matters.
Deprecation and Migration
Overview
Deprecation is not deletion. It is the managed transfer of consumers from old behavior to a safer replacement, followed by evidence-backed removal.
Use this skill to avoid two common failures: keeping legacy systems forever because nobody owns the migration, or deleting "unused" behavior that still has hidden consumers.
Relationship To Other Skills
Use context-engineering first when the source of truth, owner, live state, or relevant docs are unclear.
Use source-driven-development when migration depends on current vendor docs, SDK changes, platform deprecations, version support, or external API behavior.
Use api-and-interface-design when the deprecated surface is an API, schema, event, CLI, config format, or module boundary.
Use spec-driven-development when the desired replacement behavior or success criteria are unclear.
Use planning-and-task-breakdown to turn the migration into waves, issues, owners, gates, and Definition of Done.
Use incremental-implementation to migrate one consumer or slice at a time.
Use test-driven-development for compatibility tests, migration fixtures, adapter checks, and regression guards.
Use doubt-driven-review before irreversible removal, public deprecation deadlines, production cleanup, data migrations, auth changes, or claims that rollback is safe.
Use code-review-and-quality before accepting removal diffs.
Do Not Use
Do not use to justify cleanup without consumer evidence.
Do not remove production, data, secrets, auth, DNS, billing, cron, routing, webhooks, integrations, or public interfaces without explicit approval.
Do not assume code is unused because local search found no references.
Do not create a migration plan if there is no replacement, owner, or rollback path. Return a no-go instead.
Do not turn every tiny private refactor into a formal migration plan.
Core Loop
Work in this order:
INVENTORY
DECISION
REPLACEMENT
MIGRATION PLAN
ROLLOUT
REMOVAL READINESS
HANDOFF
1. Inventory
Identify what is being deprecated and who depends on it.
check imports and dependency graphs where possible;
check logs/metrics over a relevant time window;
confirm no external consumer still has access or contractual expectation;
confirm backups, rollback, or restore path;
define exact files/services/data/config to remove;
define exact checks after removal.
If evidence is incomplete, downgrade to advisory deprecation, add instrumentation, or create a follow-up task.
7. Handoff
Store the plan in the smallest durable layer that matches risk:
Chat-only: tiny internal cleanup with no consumers and no live risk.
Linear issue/document or Work Packet: project execution, waves, approvals, and owners.
Repo docs, ADR, migration guide, or runbook: code-owned technical migration.
Notion: human/client-facing explanation, operating procedure, or reusable knowledge.
local notes: internal sandbox evidence and repeatable checklist.
For user-facing durable prose, write explanations in the user's language. Keep commands, paths, field names, API identifiers, dates, versions, and product names exact.