cyfrin-best-practices-upgrades

Audit Solidity smart contracts for upgradeability and proxy security issues.

1|1|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/Apegurus/solidity-argus --skill cyfrin-best-practices-upgrades
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cyfrin-best-practices-upgrades
Source: https://github.com/Apegurus/solidity-argus/tree/main/skills/checklists/cyfrin-best-practices-upgrades
Command: npx skills add https://github.com/Apegurus/solidity-argus --skill cyfrin-best-practices-upgrades

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers identify and mitigate security risks related to smart contract upgrades, proxy patterns, and version compatibility issues in Solidity projects.

Core Features & Use Cases

  • Upgradeability Audits: Checks for common pitfalls in UUPS and Transparent Proxies.
  • Version Compatibility: Verifies correct usage of OpenZeppelin library versions and Solidity compiler versions.
  • Best Practice Adherence: Ensures adherence to EIP standards and general Solidity best practices for maintainable and secure code.
  • Use Case: Before deploying a new version of your upgradable DeFi protocol, use this Skill to ensure that the upgrade process is secure and won't introduce new vulnerabilities.

Quick Start

Run the cyfrin-best-practices-upgrades skill to audit the current Solidity project for upgradeability and versioning best practices.

Frequently Asked Questions about cyfrin-best-practices-upgrades

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit Solidity smart contracts for proxy pattern vulnerabilities?

Auditing Solidity smart contracts for proxy pattern vulnerabilities involves analyzing contract implementations against known issues in OpenZeppelin libraries and EIP standards to identify storage layout inconsistencies and reentrancy risks during upgrades.

What is the best way to ensure secure smart contract upgrades in Solidity?

Secure smart contract upgrades require validating correct usage of initializer functions, verifying storage layout consistency, and checking for common pitfalls in UUPS and Transparent Proxy implementations.

Why does my upgradable contract have storage layout inconsistencies?

Storage layout inconsistencies in upgradable contracts occur when new variables are introduced incorrectly, which can be identified by analyzing contract implementations against EIP standards for version compatibility.

When do I need to verify OpenZeppelin library versions for upgradeability?

Verifying OpenZeppelin library versions is needed before deploying a new version of an upgradable protocol to ensure version compatibility and adherence to EIP standards for maintainable code.

Can I check my upgradable DeFi protocol for reentrancy protection during upgrades?

Checking upgradable DeFi protocols for reentrancy protection during upgrades is possible by running an audit that validates protection against reentrancy and ensures correct initializer function usage.

Does this audit check both UUPS and Transparent Proxy patterns?

This audit checks for common pitfalls in both UUPS and Transparent Proxies, ensuring adherence to EIP standards and general Solidity best practices for maintainable and secure code.