Clone Contracts

Zieht verifizierten Solidity-Quellcode von Etherscan V2, löst Proxys auf, schreibt @-Imports in relative Pfade um.

von TheSchnilch · TheSchnilch/CloneContractsSkill

Funktioniert mit Setup ★ 8.8/10

Clone Contracts — Zieht verifizierten Solidity-Quellcode von Etherscan V2, löst Proxys auf, schreibt @-Imports in relative Pfade um.

Was es kann

Ruft verifizierten Quellcode für Verträge für jede Adresse über 20+ EVM-Ketten über die Etherscan V2 API ab, löst automatisch Proxy-Verträge zu ihrer Implementierung auf und schreibt npm/Foundry-ähnliche @-Imports in relative Pfade um, sodass der Klon sauber gelesen werden kann, ohne Neuzuordnungen. Wird beim Auditieren einer externen Integration, beim Nachverfolgen eines Cross-Contract-Aufrufs oder beim Bedarf des Quellcodes eines Vertrags, der nicht in der Hauptcodebasis enthalten ist, ausgelöst.

Testbericht

Führte die Kernpipeline live mit synthetischen Etherscan-ähnlichen JSON-Daten aus: Sie teilte korrekt eine Multi-Datei-Quelle auf, schrieb einen `@openzeppelin/...`-Import in den richtigen relativen `../lib/...`-Pfad um und legte Verträge/Schnittstellen/Bibliotheken genau wie dokumentiert an. Echte Reibung: SKILL.md selbst sagt 'run ./setup.sh', was ein venv und einen ~/.local/bin Wrapper erstellt und einen kostenlosen Etherscan API-Schlüssel benötigt – eine einfache Ordnerkopie gibt Ihnen keinen funktionierenden `clone-external`-Befehl. Außerdem wurde ein echter Fehler entdeckt: Ein ungültiger/fehlender API-Schlüssel stürzt mit `'str' object has no attribute 'get'` ab, anstatt einer sauberen Fehlermeldung.

Getestet am: 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)

Befehle & Beispiel-Prompts

  • /clone-contractsZieht verifizierten Solidity-Quellcode von Etherscan V2, löst Proxys auf, schreibt @-Imports in relative Pfade um.

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • 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