What problem does it solve? Refactors often go wrong in two ways: the old API is kept beside the new one as a shim or re-export, creating a permanent dual path, or the reshape is trusted because it type-checks while behavior silently changes. This Skill enforces a loop that pins behavior first, migrates every caller, deletes the old API in the same change, and proves equality on real outputs. ## Core Features & Use Cases - Behavior pinning: Captures current outputs in a test, snapshot, or throwaway comparison script before the first move, and reruns the pin after every step. - Caller migration and old-API deletion: Inventories every caller across source, tests, docs, and string literals, migrates them all, then deletes the old definition with a zero-hit search as evidence. - Subtraction-first reshaping: Deletes dead code and one-caller wrappers before building the new shape, and refuses seams, factories, or flags with a single implementation. - Use Case: When renaming a module and flattening its call graph, run the loop to snapshot outputs, migrate all callers, delete the old path, and quote the zero-mismatch comparison in the report. ## Quick Start Ask the AI to run the refactoring skill to rename and restructure a module while keeping its behavior unchanged.