What problem does it solve? Smart contract bugs can lose real funds, and fuzz testing only samples random inputs. This Skill guides you through Certora formal verification, where CVL specifications are translated into SMT formulas and exhaustively proven for all possible inputs, call sequences, and storage states — while avoiding common LLM mistakes like confusing CVL with Solidity or writing vacuously passing rules. ## Core Features & Use Cases - CVL Spec Authoring: Write rules, invariants, ghost variables, hooks, and parametric rules with correct syntax, including env, calldataarg, mathint, and @withrevert patterns. - Protocol-Specific Rule Patterns: Reusable verification patterns for ERC-20 tokens, ERC-4626 vaults, lending protocols, access control, governance, and staking contracts. - Counter-Example Debugging & CI: Interpret verification reports, fix vacuous rules with rule_sanity, resolve timeouts and linking errors, and integrate certoraRun into GitHub Actions. - Use Case: You are auditing an ERC-4626 vault before deployment. Use this Skill to write a spec proving share price monotonicity and deposit-withdraw symmetry, run certoraRun with a proper config, and debug any counter-examples the Prover returns. ## Quick Start Ask the agent to write a Certora CVL spec and config that proves an ERC-20 transfer preserves total supply, then run it with certoraRun.