Clone a Website
Fire ultron-capture: spider the site, deploy a branded clone, surface the URL when ready.
Overview
Long-running async clone via the ultron-capture pipeline. Call the start_site_capture chat tool with the URL. It returns IMMEDIATELY with a job_id — the user sees the job in the Background Jobs panel. Simple sites finish in ~30s, full SPAs (Apple-scale) take up to 40 min. When done, bg_trigger fires and you'll resume the conversation with the branded deploy URL (<slug>.clones.51ultron.com) and the slug. From there: if the user wants to edit, shell_exec wget the deployed site into /work/<slug>/ and use the edit-html-clone skill for surgical edits, then ultron-deploy to ship the modified version. END THE TURN immediately after calling start_site_capture — do NOT poll, do NOT loop, do NOT use the in-container ultron-clone (that's the broken v1 that misses SPA content).
When to use this
- user wants to clone an existing website
- user says 'rebrand <url>' / 'make a copy of stripe.com' / 'mirror linear.app'
- user wants to swap copy on a competitor's landing and ship a variant
- user wants the site as a starting point for edits + deploy to Pages
When NOT to use this
- user wants to scaffold a NEW web app from scratch → use spin-up-web-app
- user wants to scrape data only (no rebuild/deploy) → use scrape_website
- user wants only a screenshot of a page → run ultron-screenshot via shell_exec
Example prompts
Inputs and output
Inputs
| Field | Description |
|---|---|
url | the URL to capture |
branch | optional kebab-case branch name for the Pages deploy |
Output
job_id (visible in Background Jobs panel). Branded URL surfaces via bg_trigger when capture completes (30s–40min depending on site size).
Runtime profile
What the engine commits when this skill runs.
| Property | Value | Meaning |
|---|---|---|
| Model tier | sonnet | The balanced default model class. Trades quality against cost for the vast majority of skill runs. |
| Cost class | standard | The balanced default model. Right for most skills. |
| Turn budget | 2 | Hard cap on tool-calling iterations before the engine forces a final answer. |
| Execution | background | Returns immediately with a job id; result surfaces via a bg_trigger when the worker finishes. |
Under the hood
Tools the engine exposes to this skill and integrations it needs.
| Resource | Kind |
|---|---|
start_site_capture | tool |
Tags: engineering, clone, deploy, async, background
Execution template
Shell tools dispatch via a command template. The model substitutes user inputs into the placeholders before firing the underlying tool.
Invoking this from an agent
Three paths reach this skill. From the chat UI, a user can type the persona slash command followed by a natural request and the discovery step resolves to this skill automatically. From the MCP server, fetch the skill detail with get_skill({id: "clone-website"}) and then invoke it through the agent runtime once the authenticated tier ships. From your own code, hit /docs/skills/clone-website/llm.txt for the token-efficient markdown body and feed it to your model directly.
Accept: text/markdown. The full machine-readable catalog lives at /.well-known/agent-skills/index.json.