Clone Contracts
Estrae sorgente Solidity verificato da Etherscan V2, risolve proxy, riscrive import @ in percorsi relativi.
Richiede configurazione
Cosa fa
Recupera sorgente contratto verificato per qualsiasi indirizzo su oltre 20 catene EVM tramite l'API Etherscan V2, risolve automaticamente i contratti proxy alla loro implementazione e riscrive import @ stile npm/Foundry in percorsi relativi in modo che il clone sia pulito senza rimappature. Si attiva quando si esamina un'integrazione esterna, si traccia una chiamata cross-contratto o si necessita del sorgente di un contratto non nel codebase principale.
Rapporto di test
Eseguito il pipeline principale dal vivo su JSON sintetico stile Etherscan: ha correttamente diviso un sorgente multi-file, riscritto un import `@openzeppelin/...` nel giusto percorso relativo `../lib/...`, e disposto contratti/interfacce/lib esattamente come documentato. Attrito reale: SKILL.md stesso dice 'esegui ./setup.sh', che crea un venv e un wrapper ~/.local/bin e necessita di una chiave API Etherscan gratuita — una semplice copia della cartella non ti fornisce un comando `clone-external` funzionante. Ha anche rilevato un bug reale: una chiave API non valida/mancante si blocca con `'str' object has no attribute 'get'` invece di un errore pulito.
Testato il: 2026-07-15 · Claude Code 2.x (agent harness)
Installazione
git clone https://github.com/TheSchnilch/CloneContractsSkill cd CloneContractsSkill && ./setup.sh # creates venv + ~/.local/bin/clone-external wrapper, prompts for a free ETHERSCAN_API_KEY # (a bare `cp -r` alone will NOT make the `clone-external` command work)
Comandi e prompt di esempio
/clone-contractsEstrae sorgente Solidity verificato da Etherscan V2, risolve proxy, riscrive import @ in percorsi relativi.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Clone the verified WETH contract source so I can read it locallyPull this proxy contract's implementation source from EtherscanFetch this contract and rewrite its imports to relative paths