Clone Contracts
Haalt geverifieerde Solidity-broncode van Etherscan V2, lost proxies op, herschrijft @-imports naar relatieve paden.
Werkt met setup
Wat het doet
Haalt geverifieerde contractbroncode op voor elk adres op meer dan 20 EVM-ketens via de Etherscan V2 API, lost automatisch proxy-contracten op naar hun implementatie, en herschrijft npm/Foundry-stijl @-imports naar relatieve paden zodat de kloon schoon leest zonder remappings. Wordt geactiveerd bij het auditen van een externe integratie, het traceren van een cross-contract aanroep, of het nodig hebben van de bron van een contract dat niet in de hoofdcodebasis zit.
Testrapport
Voerde de kernpijplijn live uit op synthetische Etherscan-stijl JSON: het splitste correct een multi-bestand broncode, herschreef een `@openzeppelin/...` import naar het juiste relatieve `../lib/...` pad, en legde contracts/interfaces/lib precies uit zoals gedocumenteerd. Echte wrijving: SKILL.md zelf zegt 'run ./setup.sh', wat een venv en een ~/.local/bin wrapper bouwt en een gratis Etherscan API-sleutel nodig heeft - een simpele mapkopie geeft u geen werkend `clone-external` commando. Ving ook een echte bug: een ongeldige/ontbrekende API-sleutel crasht met `'str' object has no attribute 'get'` in plaats van een schone fout.
Getest op: 2026-07-15 · Claude Code 2.x (agent harness)
Installatie
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)
Commando's en voorbeeldprompts
/clone-contractsHaalt geverifieerde Solidity-broncode van Etherscan V2, lost proxies op, herschrijft @-imports naar relatieve paden.
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
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