clone-page
Skill1 starsChanged 34 days agoMITView on GitHub
Use when you want to clone a whole web page, every section top to bottom, from its real authored CSS. Give the URL and optionally what to change, e.g. "clone plugmyplugin.com but with our logo, a blue accent and a pricing section instead of the contest". Builds the page in your project (or as a standalone HTML file), then compares it to the original section by section.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- lintendo/Axhub-Skillstheir own version, first seen Oct 26, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- lintendo/Axhub-Skills★ 145same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- build-checkSkill
- test-compareSkill
- test-extractSkill
- test-mcpSkill
- extractSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Call screenshot_page with the URL at the desktop viewport.
- Distinctive: line 20
If the user didn't give a URL, ask for one.
- Very specific: line 45
When the page is short, you can try a single extraction with main or body first, then fall back to per-section extraction if the result is …
- Very specific: line 51
If there is no project, or the user asked for a file, produce a standalone index.html with one stylesheet.
- Distinctive: line 63
If a dev server is running, or one can be started cheaply, or the result is a standalone file you can serve locally:
- Distinctive: line 68
Stop after each section's report is clean or after ~3 passes per section.
- Distinctive: line 84
Prefer fewer, larger sections over many small ones.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Clone a whole page
Rebuild an entire live page, section by section, from the CSS the browser actually matched (not computed styles, not a screenshot guess). Apply whatever changes the user asked for on the way. Verify each section against the original before reporting.
For one section rather than a whole page, use the extract skill instead.
Workflow
Step 1: DISCOVER
Call screenshot_page with the URL at the desktop viewport. Study the screenshot so you understand the page top to bottom. Then call list_page_elements for the same URL to get the full numbered list as text.
If the user didn't give a URL, ask for one.
Step 2: PLAN THE SECTIONS
From the legend, write down the top-level sections in page order: header/nav, hero, each content block, footer, and so on. Pick the outermost selector for each so nested cards and widgets come along with their parent. Skip overlays that are not part of the page design (cookie banners, consent modals, ad slots, chat widgets, dev toolbars). Also drop any hidden modals or dialogs that come along inside a section's HTML (login modals, menus): the extracted markup loses the hidden attribute and inline display:none, so they render open in the clone.
Decide what the user's requested changes mean per section:
- Drop a section ("no sidebar", "without the newsletter block")
- Replace a section ("a pricing section instead of the contest")
- Edit content or styling ("our logo", "blue accent", "our product name")
- Keep everything else as-is
Tell the user the plan in a few lines (sections found, what will change) and continue. Only stop to ask if a requested change is ambiguous about which section it applies to.
Step 3: EXTRACT EVERY SECTION
For each planned section, call extract_css_convert_tailwind with:
url: the page URLselector: that section's selectorviewport:"all"resolveVariables:false— for a whole page you want one shared:rootandvar()references, not the same hex values inlined in every section. (Resolved values also reflect the headless browser's color scheme, which is dark, so a site with a dark theme would come back dark everywhere.)includeHoverStates:true
Collect the html, css, tailwindHtml and fonts for each. If a selector fails, try a broader parent or a more specific child, and if it still fails, say so and move on so one bad section doesn't stop the clone.
When the page is short, you can try a single extraction with main or body first, then fall back to per-section extraction if the result is too large or incomplete.
Step 4: ASSEMBLE THE PAGE
Where it goes:
- If the user is inside a project, build it as a page in that project using its framework and styling approach (React/Next.js, Vue, Svelte, Astro, Rails, plain HTML; Tailwind vs. plain CSS vs. CSS Modules). Read the codebase first and follow its conventions for file placement and naming.
- If there is no project, or the user asked for a file, produce a standalone
index.htmlwith one stylesheet.
Merging the CSS: every section's output repeats the shared bits. Keep one copy of each @font-face, each :root variable block and each @keyframes. Keep every section's own rules. Watch for the same class name styled differently in two sections and rename one if they collide.
Body-level styles: apply the reference's body background, text color, font family and base font size once at the page level. If the reference sets a root font size (e.g. html { font-size: 62.5% }), either carry it over or convert every rem value, otherwise the clone renders at the wrong scale.
Apply the requested changes while assembling: swap text, images and logos; drop or replace sections; change colors by editing the variable or the handful of rules that use them rather than hunting through every declaration.
Assets: replace remote image URLs with local placeholders or the user's own assets, and list every one that still needs replacing. Keep alt text.
Step 5: VERIFY SECTION BY SECTION
If a dev server is running, or one can be started cheaply, or the result is a standalone file you can serve locally:
- Load the clone at a local URL.
- For each kept section, call
compare_to_referencewithreference_url+reference_selector(the original) andlocal_url+local_selector(your clone), at thedesktopviewport. Run the mobile viewport too for the header, hero and any section the user called out. - Fix the reported deviations, except ones the user asked for (dropped sections, replaced content, new colors). Re-run that section's comparison.
- Stop after each section's report is clean or after ~3 passes per section. List what was left and why.
Take one screenshot_page of the finished local page as a final sanity check of the whole thing.
Step 6: REPORT
Tell the user:
- Which sections were cloned, dropped, replaced or edited
- Where the page and its stylesheet live
- Assets that still need replacing (with line references)
- Fonts to install or load
- Any sections that could not be extracted, and any deviations left on purpose
Notes
screenshot_pageandlist_page_elementsshare the same element discovery, so the numbered labels match- Prefer fewer, larger sections over many small ones; a parent extraction includes its children
- Cloning is for learning layouts, prototyping and migrating your own sites. Don't impersonate a brand or pass someone else's design off as your own, and respect the terms of the site being cloned
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

