Replicate a complete page
- Run
create_replication_kitwith desktop and mobile capture enabled. - Read
REPLICATE.md, then inspectdesign.json,layout.json, andanimations.json. - Build the page with the downloaded assets and measured tokens.
- Serve the replica locally.
- Run
compare_replicaat the same viewport used for implementation. - Correct the worst regions, then compare again.
Example kit request:
{
"url": "https://example.com/pricing",
"outputDir": "/absolute/path/to/evidence/pricing",
"includeMobile": true,
"viewportWidth": 1440,
"viewportHeight": 900
}Rebuild one component
Start with inspect_component when the target selector is known:
{
"url": "https://example.com",
"selector": ".pricing-card",
"maxMatches": 5
}Use clone_section when you also need self-contained HTML, scoped CSS, dependent assets, and a reference screenshot. Build the component from that evidence, then use element-mode screenshots or a page-level replica comparison to verify it.
Recover responsive behavior
- Run
extract_responsiveat representative phone, tablet, and desktop widths. - Compare container modes, ordering, clipping, and sticky or fixed behavior in each layout tree.
- Treat reported media queries as evidence, not a requirement to copy every original breakpoint.
- Verify the replica at the same widths.
{
"url": "https://example.com",
"widths": [390, 768, 1280],
"outputDir": "/absolute/path/to/evidence/responsive"
}Recover interaction and motion
Use capture_interactions first when menus, tabs, dialogs, or accordions hide important states.
Use extract_animations for the static motion system, then capture_motion for entry animation or a specific scroll, hover, or click timeline.
{
"url": "https://example.com",
"trigger": "hover",
"selector": ".product-card",
"samples": 8,
"intervalMs": 200,
"trackSelectors": [".product-card", ".product-card img"]
}Understand a multi-page product
Use crawl_site for a bounded same-origin sample. Start with a small page limit, then inspect SITE.md to decide which pages deserve their own replication kit.
{
"url": "https://example.com",
"maxPages": 5,
"maxDepth": 2,
"outputDir": "/absolute/path/to/evidence/site"
}Compare against localhost
The original URL remains protected by the default network guard. The replica side of compare_replica allows localhost by default because local development is the intended comparison workflow.
Before trusting a very small difference, run selfCheck to measure animation, canvas, video, timers, or live-data noise already present in the original.