What problem does it solve? Most AI training data reflects OpenZeppelin v4, so generated Solidity code fails to compile against v5 due to breaking changes like mandatory Ownable constructor arguments, removed SafeMath and Counters libraries, renamed hook functions, and moved import paths. This Skill provides correct, current v5 patterns for tokens, access control, security utilities, and upgradeable contracts. ## Core Features & Use Cases - Token Implementations: Production-ready ERC-20, ERC-721, and ERC-1155 contracts with extensions like Permit, Votes, Enumerable, URIStorage, and ERC2981 royalties, including correct v5 override resolution for _update and _increaseBalance. - Access Control & Security: Ownable, Ownable2Step, AccessControl, AccessManager, ReentrancyGuard, Pausable, and SafeERC20 patterns with v5-specific fixes like _grantRole replacing _setupRole. - Upgradeable Contracts: Complete UUPS lifecycle with Initializable, reinitializer, ERC1967Proxy deployment, storage layout safety rules, and Foundry test coverage. - Use Case: When asked to write a governance token, the Skill produces an ERC20Votes contract with the correct nonces diamond-resolution override, a Governor with TimelockController, and a deployment script that compiles on the first try. ## Quick Start Ask the agent to write an ERC-20 token with permit and voting extensions using OpenZeppelin v5, or to migrate an existing v4 contract to v5.