What problem does it solve? Large-scale renaming of component identities or parameter names touches thousands of references across JSON and TypeScript files, and a single missed key or an unsegmented change leaves hundreds of failing tests that cannot be attributed to any specific edit. This Skill provides a battle-proven procedure for executing such renames with guardrails, staged verification, and mandatory save-file migrations so user data never silently breaks. ## Core Features & Use Cases - Staged, verifiable renaming: Splits the work into segments cut by what can verify them (not by type), requiring each stage to end green and mandating full revert of a red stage instead of patching on top. - Asymmetric JSON/TS strategy: Uses an explicit allowlist of keys for JSON edits (componentId, id, blockType, etc.) and a denylist approach for TypeScript, with text-level regex edits to avoid reformatting churn. - Frozen migration tables: Pairs every rename with a save-version bump and a frozen, explicit migration table placed on the package side, plus an end-to-end migration test from the oldest save version to the newest. - Silent-failure sweeps: Greps for shape-based name judgments (startsWith, endsWith, regex matches) and debug escape hatches like __app that type checking cannot see. - Use Case: When renaming 153 block types or migrating a component namespace across 6,000+ references, follow this procedure to keep every stage attributable, preserve old user save files, and catch consumers that pattern-match on name shapes. ## Quick Start Ask the AI to rename a component identity or parameter across the codebase following the component-rename procedure, starting with guardrails that fail first and ending with a frozen migration table and end-to-end migration test.