What problem does it solve? Upgradeable smart contracts can silently break through storage collisions, re-initialization bugs, or weakly protected upgrade functions, leading to loss of funds or bricked proxies. This Skill gives reviewers and developers a deterministic checklist to catch these risks before deployment. ## Core Features & Use Cases - Storage Safety Enforcement: Requires ERC-7201 namespaced storage and forbids relying on __gap as the primary collision mitigation. - Initializer & Authorization Discipline: Mandates _disableInitializers() in implementation constructors and role-gated _authorizeUpgrade() behind multisig or timelock. - Upgrade Testing & Change Control: Defines Foundry upgrade tests (state persistence, unauthorized upgrade reverts) and deployment record requirements per chainId. - Use Case: When a PR modifies a proxy contract's storage layout or deploy scripts, apply this Skill to verify namespaced storage, initializer safety, governance gating, and upgrade tests before merging. ## Quick Start Review this upgradeable contract pull request for ERC-7201 storage safety, initializer discipline, and _authorizeUpgrade governance protection.