Clone Contracts

Henter verificeret Solidity-kilde fra Etherscan V2, opløser proxies, omskriver @-imports til relative stier.

Af TheSchnilch · TheSchnilch/CloneContractsSkill

Virker med opsætning ★ 8.8/10

Clone Contracts — Henter verificeret Solidity-kilde fra Etherscan V2, opløser proxies, omskriver @-imports til relative stier.

Hvad det gør

Henter verificeret kontraktkilde for enhver adresse på tværs af 20+ EVM-kæder via Etherscan V2 API, opløser automatisk proxy-kontrakter til deres implementering og omskriver npm/Foundry-stil @-imports til relative stier, så klonen læses rent uden remapping. Udløses ved auditering af en ekstern integration, sporing af et cross-contract kald, eller behov for kilden til en kontrakt, der ikke er i hovedkodebasen.

Testrapport

Kørte kernepipelinen live på syntetisk Etherscan-stil JSON: den opdelte korrekt en multi-fil kilde, omskrev en `@openzeppelin/...` import til den rigtige relative `../lib/...` sti, og lagde contracts/interfaces/lib ud præcis som dokumenteret. Reel friktion: SKILL.md siger selv 'run ./setup.sh', som bygger en venv og en ~/.local/bin wrapper og kræver en gratis Etherscan API-nøgle — en simpel mappe-kopi giver dig ikke en fungerende `clone-external` kommando. Fangede også en reel fejl: en ugyldig/manglende API-nøgle crasher med `'str' object has no attribute 'get'` i stedet for en ren fejl.

Testet: 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)

Kommandoer og eksempelprompter

  • /clone-contractsHenter verificeret Solidity-kilde fra Etherscan V2, opløser proxies, omskriver @-imports til relative stier.

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • 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