What problem does it solve? Solidity codebases accumulate inconsistent error handling, NatSpec documentation, import styles, and pragma versions that linters like solhint do not enforce. This Skill encodes the OpenZeppelin Contracts conventions so every .sol file you write or edit follows the same rules for errors, events, documentation, assembly, and inheritance. ## Core Features & Use Cases - Error and event conventions: Enforces ERC-6093 custom error naming, domain prefixes, error placement priority, and past-tense event naming emitted after state changes. - NatSpec and file structure rules: Standardizes @dev documentation, @inheritdoc overrides, named imports, file header ordering, and interface design rules for ERC specs. - Safety patterns: Covers memory-safe assembly annotation, numeric literal formatting, unchecked block invariants, SafeCast narrowing casts, and globally consistent inheritance ordering verified by CI. - Use Case: When adding a new ERC-20 extension contract, use this Skill to place custom errors in the right interface, write compliant NatSpec, order the file correctly, and run the pragma minimizer and inheritance checks before committing. ## Quick Start Review my new Solidity contract under contracts/ and rewrite it to follow the project's style and safety conventions.