Deprecation & Migration
A practical workflow for retiring legacy systems safely and moving users to replacements.
The skill requires incremental migration, zero-consumer verification, metrics/log checks, staged schema changes, and tested down paths, which reduce destructive risk. It does not specify user confirmation, least privilege, data-flow disclosure, sensitive-data handling, dependency security, or rollback for general migrations, so points are deducted.
The workflow is internally coherent and includes decision questions, migration steps, patterns, red flags, and verification checklists. However, it provides no executable scripts, abnormal-input handling, failure feedback, or dedicated tests for key paths; under static calibration it cannot exceed 10, so points are deducted.
Use cases and audience are clear for retiring systems, APIs, features, and database schemas. Boundaries for non-fit cases, input/output contracts, semantic exclusions, Chinese-language support, and mainland-China environment fit are not stated, so points are deducted.
The document has clear progressive structure with frontmatter, workflow, examples, patterns, red flags, and verification checklists. Repository context supplies an MIT license, team information, and installation guidance, but this skill lacks its own versioning, changelog, explicit maintenance owner, and update path, so points are deducted.
The material can directly guide deprecation decisions, incremental migrations, and expand/contract schema changes, giving it practical value. It includes no runnable migration tooling or verified representative outputs, and general deprecation rollback, confirmation, and support procedures are incomplete; static calibration caps this at 7, so points are deducted.
The skill supplies concrete procedures and checklists, while repository CI validates overall skill structure and runs evaluations. There is no skill-specific test suite, third-party corroboration, or independently reproducible result, and the CI-to-skill coverage is unclear, so only limited credit is justified.
- This is a static review; no migration, script, or CI was executed. Do not treat claims such as “production-proven” or checklist items as verified facts.
- Before applying the skill, obtain explicit user confirmation for deprecation, data changes, and deletion scope, and add backup, rollback, permission, and sensitive-data controls.
- The publisher is not verified by the FollowSkills enterprise registry; treat identity as unknown and independently verify provenance and maintenance status.
What does this skill do, and when should you use it?
This skill guides engineering teams through retiring old systems, APIs, libraries, and features. It begins with a decision framework covering unique value, consumer count, replacement readiness, migration cost, and ongoing maintenance cost. It documents strangler, adapter, feature-flag, and expand-contract database migration patterns. After migration, it requires evidence that active usage is gone before removing code and related project artifacts.
It helps an agent decide whether to maintain or deprecate an existing system, choose advisory or compulsory deprecation, and structure announcements, migration guides, consumer-by-consumer migration, and final removal. It provides templates for strangler migrations, adapters, feature flags, and additive database schema changes. It also specifies checks for active consumers, tested down paths, throttled backfills, separate destructive deployments, and cleanup of old code, tests, documentation, and configuration.
- An engineer replacing a legacy API needs to quantify consumers, assess migration effort, and confirm that a replacement exists.
- A product team sunsetting an unnecessary feature needs a deprecation notice, migration support, and a removal plan.
- A team responsible for duplicate or ownerless legacy code needs to choose between assigning maintenance ownership and planning removal.
- A database team changing a schema needs to avoid coupling a column rename or drop with the application cutover.
- A platform team moving traffic to a new implementation needs a staged migration using adapters, feature flags, or incremental routing.
What are this skill's strengths and limitations?
- Covers the full lifecycle from deprecation decision through migration and removal.
- Requires a working replacement, migration documentation, usage verification, and rollback planning.
- Gives a concrete reversible approach to risky database schema changes.
- Includes rationalization rebuttals, red flags, and verification checklists.
- It is a general engineering workflow, not an implementation toolkit for a specific language, database, or deployment platform.
- The supplied source contains no test results, performance measurements, or adoption data.
- Users must collect and quantify consumer counts, migration cost, and maintenance cost themselves.
- The database examples are illustrative and should not be treated as a drop-in migration for every stack.
How do you install this skill?
This skill is part of a repository containing 24 skills. Install the full collection with npx skills add addyosmani/agent-skills. Browse first with npx skills add addyosmani/agent-skills --list. Install only this skill with npx skills add addyosmani/agent-skills --skill deprecation-and-migration. The README also documents installation for Claude Code, Cursor, Antigravity CLI, Gemini CLI, Codex, and other agents.
How do you use this skill?
After loading the skill into a compatible coding agent, give it a concrete request such as: Assess whether OldService should be deprecated and create a plan covering the replacement, consumer migration, rollback path, and final removal verification. Another example is: Design an expand-migrate-contract plan for renaming the database column name to full_name. The SKILL.md does not define a dedicated command, script, or fixed output format.
How does this skill compare with similar options?
The README names Superpowers and Matt Pocock's skills as alternatives and links to a comparison document. The supplied source does not provide skill-specific comparison details, so no further difference can be established.