Clone Contracts

Hämtar verifierad Solidity-källkod från Etherscan V2, löser proxys, skriver om @-importer till relativa sökvägar.

av TheSchnilch · TheSchnilch/CloneContractsSkill

Fungerar med konfiguration ★ 8.8/10

Clone Contracts — Hämtar verifierad Solidity-källkod från Etherscan V2, löser proxys, skriver om @-importer till relativa sökvägar.

Vad den gör

Hämtar verifierad kontraktskällkod för vilken adress som helst över 20+ EVM-kedjor via Etherscan V2 API, löser automatiskt proxy-kontrakt till deras implementering, och skriver om npm/Foundry-stil @-importer till relativa sökvägar så att klonen läses rent utan ommappningar. Utlöses vid granskning av en extern integration, spårning av ett kors-kontraktsanrop, eller när källkoden för ett kontrakt som inte finns i huvudkodbasen behövs.

Testrapport

Körde kärnpipelinen live på syntetisk Etherscan-stil JSON: den delade korrekt upp en flervärldskällkod, skrev om en `@openzeppelin/...`-import till rätt relativ `../lib/...`-sökväg, och lade ut contracts/interfaces/lib exakt som dokumenterat. Verklig friktion: SKILL.md säger själv 'kör ./setup.sh', som bygger en venv och en ~/.local/bin wrapper och behöver en gratis Etherscan API-nyckel — en enkel mappkopia ger dig inte ett fungerande `clone-external`-kommando. Fångade också en verklig bugg: en ogiltig/saknad API-nyckel kraschar med `'str' object has no attribute 'get'` istället för ett rent fel.

Testad: 2026-07-15 · Claude Code 2.x (agent harness)

Installation

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)

Kommandon och exempelprompter

  • /clone-contractsHämtar verifierad Solidity-källkod från Etherscan V2, löser proxys, skriver om @-importer till relativa sökvägar.

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Clone the verified WETH contract source so I can read it locally
  • Pull this proxy contract's implementation source from Etherscan
  • Fetch this contract and rewrite its imports to relative paths