Cloner une app web pixel par pixel

VérifiéPrudence

Clone n'importe quelle app web pixel pour pixel à partir d'une URL, en utilisant un workflow orchestré par Claude avec vérification des styles calculés.

Spar Skills Guide Bot
DeveloppementAvancé
28/07/2026
Claude Code
#web-cloning#ui-replication#computed-styles#browser-automation#qa-verification

Recommandé pour

Synthèse automatique

Clone une application web à l'identique, pixel par pixel, depuis une URL, en pilotant l'extension Chrome de Claude et des sous-agents pour le repérage des vues, l'extraction des styles calculés, la construction et la vérification.

Points forts

  • Prend les styles calculés (CSSOM) de la page live comme vérité terrain plutôt que de deviner depuis des captures d'écran.
  • Découpe le travail en étapes avec un point de contrôle obligatoire après chacune : l'utilisateur approuve, révise ou arrête.
  • Boucle de convergence objective : le script assert-styles.mjs compare le clone aux tokens de design et exige zéro échec d'assertion.
  • Va au-delà de la copie en ajoutant des fonctionnalités personnalisées et un serveur MCP pour qu'un agent puisse opérer l'app clonée.

Limites

  • Dépend de l'extension Chrome de Claude et d'une session authentifiée ; les étapes navigateur sont séquentielles, une seule vue à la fois.
  • Pas de pixel-diff : les captures ne servent que de référence visuelle, donc des écarts purement visuels non exprimés en styles calculés peuvent échapper au contrôle.
  • Workflow long et très interactif (un arrêt par étape), peu adapté à une exécution autonome en arrière-plan.
Quand l'utiliser

À utiliser lorsqu'on veut reproduire fidèlement une interface ou une application web existante à partir de son URL, avec une preuve mesurée de la correspondance.

Quand l'éviter

À éviter pour un simple prototype d'UI approximatif, ou sans accès à l'extension Chrome et sans droit de copier le site cible.

Analyse de sécurité

Prudence
Score qualité82/100

No destructive commands (rm -rf, curl|sh), no base64 payloads, no secret/token exfiltration, and no instruction to disable safety. The risk is 'powerful tools used legitimately': browser automation over an authenticated session, plus bash/file-writing sub-agents that reconstruct whole apps. This is expected for the stated purpose but warrants caution given the authenticated-context JS execution and IP-copying intent.

Points d'attention
  • •Drives the user's authenticated Chrome session via mcp__claude-in-chrome__* and explicitly notes it 'reaches authed sites' — javascript_tool executes arbitrary JS in that logged-in context, so it can read session data, cookies-adjacent page state, and any authed content; scope is not restricted to the target page.
  • •Bash/Write/Edit/Agent (Task sub-agents) give a broad execution and filesystem surface; parallel code-gen agents build and modify files with no explicit sandbox or path confinement stated.
  • •Cloning arbitrary third-party sites 'pixel-for-pixel' is a copyright/ToS risk (legal, not technical) — no destructive or exfiltration behavior, but the intent invites reproducing proprietary UI/assets.
Comment cette analyse est faite

Exemples

Clone a dashboard
/clone-app-pat-pro https://app.example.com/dashboard my-dash — clone this dashboard pixel for pixel, capture every view, and prove the match with computed-style assertions before we move on.
Replicate a marketing site and extend it
Replicate this app: https://example.com/pricing — copy the site's UI, extract computed styles as ground truth, then add a dark-mode toggle as a custom feature.
Agent-operable clone
Build a clone of https://example.com/admin, verify it with computed-style QA, then add an MCP server so my agent can operate the cloned app.

name: clone-app-pat-pro description: Clones any web app pixel-for-pixel from a URL. Runs as an IN-CONVERSATION workflow — the live Claude orchestrates Task sub-agents and drives the Claude Chrome extension to recon (every view), extract (computed styles = ground truth), design-spec, build, QA (computed-style assertions), and extend. Guided check-ins, custom features, and an MCP server so an agent can operate the app. Use when cloning a site, replicating a web app, building a clone, copying a website, recreating a UI, or when told "clone this", "replicate this app", "copy this site", "build a clone of", "make a copy of this website", "recreate this UI". argument-hint: <url> <name> allowed-tools: Bash, Read, Write, Edit, Agent

Clone App — Pat Pro

Mission: own the target, pixel for pixel. Read every value off the live page (never a screenshot guess), rebuild it, prove the match with measured computed-style assertions, then make it yours.

The contract is law. references/00-contract.md defines the workspace layout, exact artifact filenames, stage I/O, the verification gate, the convergence loop, and the agent-prompt standard. Read it first.

How this runs — IN-CONVERSATION (read first)

This skill runs as a workflow inside a live Claude session, not a background script. When it's invoked, YOU (the in-session agent) orchestrate it: spawn Task sub-agents, drive the browser, check in with the user, run the helper scripts.

Browser tool = the Claude Chrome extension, only (mcp__claude-in-chrome__*). You're already logged in, so it reaches authed sites. There is one Chrome — one view/tab at a time (browser stages are sequential). Code stages fan out in parallel via Task sub-agents (build each page, fix each file-set concurrently).

| Need | Chrome-extension tool | |---|---| | open a route | mcp__claude-in-chrome__navigate | | read computed styles / CSSOM / run JS | mcp__claude-in-chrome__javascript_tool (the verification ground truth) | | read DOM / find elements | mcp__claude-in-chrome__read_page / find | | click / hover / focus (interaction sweep) | mcp__claude-in-chrome__computer | | visual reference screenshot | mcp__claude-in-chrome__computer (screenshot) | | set viewport | mcp__claude-in-chrome__resize_window |

Screenshots are a VISUAL REFERENCE only. The extension can't reliably write screenshot files to disk in this environment, so do not build the gate on saved PNGs / pixel-diff. Screenshots are for you and the user to eyeball the real site vs the clone. The objective ground truth is computed styles read via javascript_tool (the contract's own rule: CSSOM/computed values beat screenshots).

The gate = computed-style assertions. QA reads the clone's computed styles via javascript_tool, writes them to JSON, and scripts/assert-styles.mjs compares them to the design tokens (assertions.json from the DESIGN.md). PASS = 0 style-assertion failures + the build compiles. Plus a visual eyeball of clone vs real site.

⛔ STOP-AND-CHECK-IN GATE — after EVERY stage (the rule agents break)

This is the single most important rule, and the one that gets ignored: after each stage you MUST stop, report, and WAIT for the user before doing anything else. Do not "batch through" the pipeline.

After every stage — recon, extraction, design spec, architecture, build-foundation, build-pages, each QA cycle, polish, each feature, agent-access:

  1. Post a short summary of what the stage produced + the exact artifact paths (for visual stages, name the views/screenshots you captured).
  2. Ask the user: approve / revise / stop.
  3. STOP. Do not call ANY tool. Do not start the next stage. Wait for the user's reply.

Running stage N+1 before the user has responded to stage N is a failure. One stage → stop → wait, every single time. Recon is ONE stage: capture every view, then STOP and check in — do not roll straight into extraction. Same for every other stage.

What "EVERY VIEW" means (recon is not one screenshot)

Recon must reach every state the app can show — exhaustive, not a sample. Navigate and capture/extract:

  • every left-hand sidebar item (click each, go into its view);
  • every tab / top filter (Active / Backlog / All / …);
  • every filter and layout toggle (board ↔ list ↔ every layout; sort/group);
  • every menu, dropdown, context menu (open state);
  • every side panel, detail, modal (open an issue, settings panels, slide-overs);
  • every interaction-revealed state (focus the editor → its toolbar; the comment composer; hover states);
  • at every viewport (desktop, tablet, mobile).

For each view: read its computed styles via javascript_tool (the data that matters) and take a visual-reference screenshot. Log each in interaction-map.json (contract §8). One view captured = broken recon — keep going.

Pipeline

Recon (EVERY view — Chrome ext, computed styles + visual ref, sequential) → Extraction (per view)
→ Design Spec (DESIGN.md + assertions.json) → Architecture → Build-foundation → Build-pages (‖ Task agents)
→ [QA (read clone computed styles → assert-styles gate) → Fix (‖ Task agents)] loop-until-converged
→ Polish → [guided] Customize (feature loop) → Agent access (API + MCP server)

Gate (contract §5): 0 style-assertion failures + build compiles, plus a visual check. Loop QA↔Fix until it passes, stalls, or hits a hard blocker.

Stages

| # | Stage | Browser | Parallel | Reference | |---|-------|---------|----------|-----------| | 1 | Recon | Chrome ext, every view | sequential | 01-recon.md | | 2 | Extraction | Chrome ext (javascript_tool) | sequential | 02-extraction.md | | 3 | Design Spec | no | single (fan-in) | 03-design-spec.md | | 4 | Architecture | no | single | 04-architecture.md | | 5a | Build-foundation | no | single | 05-build.md | | 5b | Build-page | no | ‖ Task agents | 05-build.md | | 6 | QA | Chrome ext (read clone styles) | sequential read, ‖ analysis | 06-qa.md | | 7 | Fix | no | ‖ Task agents per file-set | 06-qa.md | | 9 | Polish | Chrome ext (clone) | sequential | 07-polish.md | | 10-11 | Extend (guided) | mixed | — | 08-extend.md |

Verification scripts (run via Bash)

Pat Pro Enhancements

  • In-conversation, Chrome-extension-only — runs in your session, drives the real browser you're logged into.
  • Click everything — recon reaches every sidebar item, tab, filter, view, panel, and state (see "EVERY VIEW" + contract §8).
  • Computed styles are ground truth — the gate is measured style assertions, not eyeballing or fragile screenshots.
  • Autonomous convergence — loops QA↔Fix until it passes.
  • Customize & extend — add features matched to DESIGN.md, then build an MCP server so an agent can operate the app (contract §10, 08-extend.md).

Workspace

All artifacts in clone-workspace/{name}/ with fixed filenames — contract §1. Stage prompt templates (used as Task sub-agent prompts): references/stage-prompts.md.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/clone-web-app-pixel-perfect-ms47vodg/download' --output '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md.part' && mv '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md.part' '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Write, Edit, Agent

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md' && test -s '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/clone-app-pat-pro' && cp -R '.skill-downloads/clone-web-app-pixel-perfect-ms47vodg' '.claude/skills/clone-app-pat-pro'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/clone-web-app-pixel-perfect-ms47vodg'

openskills read 'clone-web-app-pixel-perfect-ms47vodg'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/clone-web-app-pixel-perfect-ms47vodg/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires