skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
rheinmir/setup166 installs

web-clone

Clone a website — two modes. SNAPSHOT = a faithful, self-contained offline copy of a page (HTML+CSS+JS+images in one file, exact bytes, SingleFile-style). RECONSTRUCT = AI reverse- engineer the page into a clean editable Next.js/Tailwind codebase (design tokens → component specs → parallel builders → visual-diff QA, the ai-website-cloner-template method). Use when the user wants to "clone this site", copy a page's design/UI + interactions, mirror a layout, save offline, or rebuild a site as editable code. Built-now-adapt-later: snapshot builtin works now; faithful live capture + the reconstruct pipeline are one-config engine adapters.

How do I install this agent skill?

npx skills add https://github.com/rheinmir/setup --skill web-clone
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill performs website cloning and code generation, which involves downloading external tools, executing local scripts, and processing untrusted web content. While these are functional requirements, they introduce common risks like indirect prompt injection and dynamic code execution.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

Skill: web-clone

Two honestly-different jobs. Pick the mode first.

ModeOutputUse whenEngine
snapshotONE self-contained .html (exact bytes, offline)archive / faithful copy / "lưu y hệt offline"builtin inliner · SingleFile CLI · monolith
reconstructclean Next.js + Tailwind codebase (editable)"rebuild as code I can edit" / "clone giao diện thành code"the ai-website-cloner-template pipeline

Mode + engine live in harness/web-clone.config.yaml (verified:false — the live-capture engine and reconstruct fidelity are the quarantined unknowns).

WHAT

Purpose và context

  • Purpose: clone một website theo một trong hai mode trung thực khác nhau — SNAPSHOT (bản offline tự chứa, đúng byte) hoặc RECONSTRUCT (dựng lại thành codebase Next.js/Tailwind sửa được).
  • Trigger (when to use): user muốn "clone this site", copy design/UI + interactions của một trang, mirror a layout, save offline, hoặc rebuild site thành code sửa được.
  • Non-goals: không cam kết pixel+behavior hoàn hảo; không clone để republish site người khác; không phải page → markdown text (đó là /web-crawl).

Mental model

URL hoặc page.html → chọn mode → snapshot: engine (builtin inliner · SingleFile CLI · monolith) → clone.html / reconstruct: recon → foundation → component spec → parallel builders → assembly → visual-QA diff → Next.js codebase. Mode + engine là adapter trong harness/web-clone.config.yaml (verified:false).

Input và output contract

FieldRequired?Ý nghĩa
Inmodecósnapshot hoặc reconstruct — chọn trước
Inpage.html local hoặc URL livecólocal → builtin inliner offline; live → cần engine
Inengine trong configkhi snapshot livesinglefile-cli hoặc monolith
Outclone.htmlmode snapshotmột file tự chứa HTML+CSS+JS+ảnh
Outcodebase Next.js + Tailwindmode reconstructcomponent spec docs/research/components/<name>.spec.md + app/page.tsx build được

Rules và capabilities

  • RULE-01 (MUST): State the mode + be honest: snapshot builtin = LOCAL resources only; faithful live capture needs an engine; reconstruct fidelity depends on extraction quality — never claim pixel+behavior perfection.
  • RULE-02 (MUST): Respect copyright / Terms — clone for reference/offline/learning, not to republish someone's site.
  • RULE-03 (MUST): Self-test (snapshot core): python3 harness/scripts/web-clone.py --self-test.
  • Capabilities: đọc trang (file local hoặc tải live qua engine đã cấu hình); điều khiển trình duyệt để recon; dispatch builder song song; ghi file clone/codebase cục bộ.

Failure boundaries

  • Live URL mà engine chưa cấu hình → builtin chỉ inline tài nguyên LOCAL → partial, nói rõ.
  • JS interactions ở mọi engine snapshot = best-effort → không claim đầy đủ hành vi.
  • Reconstruct: builder npx tsc --noEmit hoặc npm run build đỏ → failed cho merge đó, sửa rồi chạy lại.
  • Mục đích republish vi phạm copyright/Terms → cancelled.

HOW

Main workflow

StepTypeInputsActionOutputs/exitFailure/next
W01judgmentyêu cầu userChọn mode (bảng mode ở trên) + nói rõ giới hạn trung thựcmodelưu offline → B01; code sửa được → B02
W02deterministic—Self-test lõi snapshot web-clone.py --self-testrc 0đỏ → dừng, báo
W03effectmodeChạy nhánh mode A (snapshot) hoặc B (reconstruct)clone.html hoặc codebasexem nhánh
W04judgmentoutputBáo kết quả + phần best-effort (JS interactions, fidelity)báo cáo trung thực—

Chi tiết từng bước (nguồn chân lý cho W03, theo mode):

Mode A — snapshot (faithful 1-file copy)

  1. Local page already downloaded: offline, no key — python3 harness/scripts/web-clone.py inline <page.html> --out clone.html (inlines local <link> CSS, <script src> JS, images as data-URI → one file).
  2. Live URL, faithful: set engine: singlefile-cli (npm i -g single-file-cli, keeps scripts) or monolith (Rust), then web-clone.py url "<URL>" --out clone.html.
  3. JS interactions = best-effort across all snapshot engines (the quarantined unknown).

Mode B — reconstruct (→ editable Next.js, the ai-website-cloner-template method)

This is NOT a byte-copy — it reverse-engineers the page into a fresh, clean codebase. Method (distilled from JCodesMore's ai-website-cloner-template, ~6k★; see Related):

  1. Reconnaissance — browser-MCP/Computer-Use: full-page screenshots @desktop 1440 + mobile 390; extract global design tokens (fonts, colors, favicons); sweep scroll/click/hover to find every interactive behavior; map page topology.
  2. Foundation — layout.tsx fonts, globals.css color tokens + animations, TS interfaces, inline SVGs → React icon components, Node asset-download script → public/.
  3. Component spec & dispatch — per section: read EXACT getComputedStyle() values (never estimate) → write docs/research/components/<name>.spec.md (the builder contract: DOM, computed styles, state transitions, verbatim content, asset paths, breakpoints) → dispatch parallel builder subagents (one per sub-component for complex sections; ≤~150 lines spec each).
  4. Assembly — import components into app/page.tsx; wire scroll-snap / Lenis / IntersectionObserver.
  5. Visual-QA diff — compare clone vs original @desktop+mobile, test every interactive state, fix discrepancies by re-extracting. Builders verify npx tsc --noEmit; main npm run build per merge.

Stack: Next.js + TypeScript + Tailwind v4 + shadcn/ui. Dispatch builders via overstack /orchestration or the Agent tool.

Branches

IDKindGuardHành viSkip / failureRejoin
B01user_optionalmode = snapshotMode A: page local → inline; live URL → engine singlefile-cli/monolith + urlengine chưa có → chỉ tài nguyên local, báo partialW04
B02user_optionalmode = reconstructMode B 5 pha, builder song song qua /orchestration hoặc Agent toolbuild đỏ → re-extract, sửaW04
B03capability_optionallive capture trung thực cần engine ngoàiset engine: trong harness/web-clone.config.yamlkhông cài → builtinB01

Validation và stopping

Tất định: python3 harness/scripts/web-clone.py --self-test; builders npx tsc --noEmit, main npm run build mỗi lần merge. Cần review: visual-QA diff clone vs gốc @desktop+mobile và mọi trạng thái tương tác. Dừng khi output có và giới hạn đã nói rõ; không lặp re-extract vô hạn — báo phần còn lệch.

Examples

  • Positive: "lưu y hệt offline trang này" với page.html đã tải → python3 harness/scripts/web-clone.py inline page.html --out clone.html → một file mở offline được, CSS/JS/ảnh inline data-URI.
  • Boundary/failure: đưa URL live nhưng config chưa đặt engine → chỉ inline được tài nguyên local, báo partial và gợi ý npm i -g single-file-cli; tương tác JS ghi rõ best-effort, không claim hoàn hảo.

Related

  • harness/scripts/web-clone.py + harness/web-clone.config.yaml (engine/mode adapter).
  • Reconstruct method: github.com/JCodesMore/ai-website-cloner-template (the 5-phase pipeline above).
  • Snapshot engines: SingleFile (github.com/gildas-lormeau/SingleFile), monolith.
  • /web-crawl (page → markdown text), /computer-use + /orchestration (recon + parallel builders).

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/rheinmir/setup/web-clone">View web-clone on skillZs</a>