What problem does it solve? Swapping one library or API for another often passes the typecheck while silently changing runtime behavior — a 500 that no longer throws, a null that no longer short-circuits, a retry that no longer fires. This Skill prevents that drift by requiring a characterization test net that is green against the old library before any call site is touched. ## Core Features & Use Cases - Safety-net-first migration: Write characterization tests against the old library's behavior contract (success, non-2xx, null, empty, timeout) before swapping, so the net goes red the moment behavior drifts. - Mode-switchable paths: A scrappy codemod-plus-typecheck path for pure compiler-checked renames, a rigor path for behavior-drifting swaps, and a strangler-adapter path for large non-atomic migrations. - Incremental execution: Migrate one seam at a time with green checks between each, track remaining call sites with a grep-driven checklist, and remove the old dependency only when zero references remain. - Use Case: Moving a React/TypeScript app from axios to fetch — the net catches that fetch resolves on HTTP 500 instead of rejecting, a drift the compiler cannot see. ## Quick Start Migrate all axios calls in this repo to fetch safely, writing characterization tests against the current behavior first and migrating one call site at a time.