Skip to content
cccskills
FreePublished on GitHub

deprecation-and-migration

Plan or implement retirement of a system, API, feature, persisted configuration, or database shape. Use for compatibility cutovers, explicit deprecation review, or an explicit unreleased replacement decision, including determining whether consumers or data exist; not ordinary dependency bumps, local renames, prose edits, or generic architecture discussion.

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md3.0 KB
  • agents/openai.yaml249 B
  • LICENSE1.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Deprecation and Migration

Choose the smallest safe removal path from actual consumers and retained data. Keep analysis, repository edits, deployment, external communication, and data destruction within the existing task authorization; a migration plan grants none of those effects by itself.

  1. Inventory consumers, owners, versions still running, persisted data and config, and observable behavior they depend on. Establish the reason for retirement, replacement or intentional loss of functionality, and compatibility boundary. For unreleased code with no external consumers or retained data, use direct replacement and existing checks rather than a staged migration framework.
  2. Order the cutover around actual coexistence requirements. When old and new versions must run together, keep both valid at each phase. For schema changes that need it, expand additively, backfill in bounded batches, switch reads and writes with verification, then contract after old consumers are gone. Use adapters, dual writes, or flags only where that coexistence requires them.
  3. Specify each phase's prerequisite, change, verification, owner, and recovery action. Check output correctness and retained data, not just zero code hits. Reuse existing fixtures and migration tooling. State how retries remain safe and how partial backfills or interrupted cutovers resume.
  4. Distinguish reverting code from recovering data. Test recovery where possible; for irreversible changes, state what is lost, the backup/restore or forward recovery path and its limits, and any required authorization before proceeding. Never claim a down migration can recover destroyed data without evidence.
  5. Define deletion conditions: supported consumers have switched, required data is preserved or its loss authorized, compatibility/recovery checks pass, and the observation window required by the task is complete. Remove obsolete code, tests, config, and docs only when those conditions hold. Keep customized user configuration unless its migration is explicitly authorized.

Finish with consumer/data inventory, cutover order, verification and recovery per phase, deletion conditions, and unresolved blockers. Completion means the requested planning or implementation phase is evidenced; a written plan is not proof that a production migration or retirement happened.

Adapted from Addy Osmani's deprecation-and-migration, under the MIT license.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

adhx

Free

Read public X/Twitter post URLs as structured evidence through the ADHX API. Use for relevant user-provided or research-discovered x.com, twitter.com, or adhx.com links. ADHX does not search X, and long-form Article content may be incomplete.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

Design, review, or report a measured performance comparison. Use for benchmark methodology, speedup or regression claims, and performance-based choices; not generic performance discussion, ordinary dependency bumps, local renames, or prose edits.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

Trace what an actual code change could break beyond its diff when interfaces, serialized data, database schemas, configuration, caches, lifecycle ordering, or cross-language consumers are involved. Use for explicit impact analysis; not local renames, prose edits, ordinary dependency bumps, or generic architecture discussion.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

Shared vocabulary for designing deep modules, interfaces, seams, adapters, leverage, and locality. Use when designing or reshaping module boundaries, making code more testable, or evaluating interface depth.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

Disciplined diagnosis loop for hard bugs, regressions, flaky failures, and performance problems with unclear cause. Use for root-cause debugging after a concrete symptom exists; do not use for routine implementation or speculative cleanup.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

Route requests for current library, framework, SDK, API, CLI, or cloud-service documentation through available documentation tools and primary sources.

The English summary is being prepared. Showing the original description.

bioinformatist/codex-base9Updated Oct 16, 2026

See all skills by bioinformatist

Report a problem with this skill