wix-headless-replatform
Clones or migrates a public website's home page into a Wix Headless frontend using browser-backed extraction, maintaining visual design, interactions, SEO…
Identity proven by GitHub's verified organisation badge (wix)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- MIT (permissive)
- Pin
- 729aea7pinned Oct 9, 2026
- Context cost
- about 1,600 tokenswhen the skill loads
- GitHub stars
- 34on wix/skills
- Scripts
- 55 scripts
What it does
“Clone, rebuild, migrate, or reverse-engineer a public website home page into a Wix Headless frontend while preserving source identity, SEO, interactions, and visual fidelity.”
Generated summary from the skill's own text
Clones or migrates a public website's home page into a Wix Headless frontend using browser-backed extraction, maintaining visual design, interactions, SEO, and site structure. Executes staged workflows from context resolution through implementation, verification, and optional design refinement, outputting a runnable Astro and Tailwind project with TypeScript and React for complex components.
When to use it
- Replatforming an existing website to Wix Headless with preserved branding
- Migrating a single home page as part of a larger site handoff
- Reverse-engineering a competitor or reference site's design and interactions
- Building a close-replica frontend in one controlled, repeatable workflow
When not to
- Scope includes multiple pages or undefined URL sets beyond the home page
- Building from HTML-only sources without browser interaction validation
- Creating a hand-coded design substitute instead of automated Wix scaffolding
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add wix/skills --skill wix-headless-replatformInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install wix/skills wix-headless-replatform@729aea746648521e654a19575ccfee54b67f8519Installs the commit we checked (729aea7).
Copy by hand
Download the folder at 729aea7 and put it in .claude/skills/wix-headless-replatform for Claude Code and in .agents/skills/wix-headless-replatform for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install wix@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "wix-headless-replatform" by Wix.com. Source, pinned to commit 729aea746648521e654a19575ccfee54b67f8519: https://github.com/wix/skills/tree/729aea746648521e654a19575ccfee54b67f8519/wix-headless-replatform 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/wix-headless-replatform/ for Claude Code and .agents/skills/wix-headless-replatform/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/wix-com/wix-headless-replatform
SKILL.md at the pin
--- name: wix-headless-replatform description: Clone, rebuild, migrate, or reverse-engineer a public website home page into a Wix Headless frontend while preserving source identity, SEO, interactions, and visual fidelity. --- # wix-headless-replatform ## Role Drive a close-enough, visually polished Wix Headless frontend from a source website. The implemented scope is one resolved home page and the default output is `projects/<project-name>`, derived from the hostname. Use Wix CLI Headless, Astro, TypeScript, and Tailwind; use React only for complex interactive islands. Reject additional-page and explicit-URL scope with an actionable explanation until a later approved workflow defines page resolution and shared evidence across routes. This entry skill is the supervisor. It decides the next workflow stage and loads only the resource for that stage. Do not preload every resource or reference: stage-specific rules are deliberately demand-loaded. Two modes exist: - **Standalone clone:** source URL to a new, real Wix CLI Headless project. - **Migration phase:** `--handoff <migration-project>/website/handoff.json` continues on the migration-owned destination. Never omit `--handoff` for an integrated migration: the standalone command creates a second site. ## Non-negotiable invariants - Treat the requested public branded homepage as authorized; apply the boundaries in `references/safety.md` without asking a separate routine authorization question. - Browser-backed extraction is mandatory. Do not substitute HTML-only extraction. - Resolve the home page before capture. Build only from a validated frozen extraction manifest; raw observations are never builder inputs. - A standalone output must be a successful Wix CLI scaffold with valid Wix identity and runnable `dev` and `build` scripts. Never hand-create a Wix-shaped substitute. - In migration mode, reuse the handoff's site/project and route/data-binding intent; do not create or retarget a second destination. - Preserve source structure, first-viewport evidence, chrome hierarchy, source assets, fonts, core interactions, SEO, internal URL behavior, and branded fallback behavior. - A build is not completion. Completion requires the accepted post-build visual-review and gap-loop evidence described by `rp-qa-gap-loop`, plus optional facelift acceptance only when the user explicitly selected facelift mode. ## Supervisor protocol On every new or resumed run: 1. Resolve the source URL, output directory, and mode. In migration mode read `website/handoff.json` and `docs/site-clone/frontend-automation-state.json` first. 2. Select the first incomplete stage from the table below and read only that resource's `SKILL.md` plus the references it explicitly needs. 3. Execute that stage until it writes its required durable artifact, or records a specific genuine blocker with evidence and an exact unblock action. 4. Re-select the stage after every boundary. Do not say that a required next step “needs to happen” and end the run; load its resource and perform it. | Stage | Load only when | Resource | Durable outcome | | --- | --- | --- | --- | | Context | mode, scope, project, or browser environment is unresolved | `resources/rp-project-context/SKILL.md` | valid context, approval record, runnable project/plan state, or blocker | | Evidence | frozen home-page extraction is absent or stale | `resources/rp-source-evidence/SKILL.md` | validated `extraction/latest.json` and frozen manifest, or global blocker | | Implementation | frozen build plan exists and home UI is incomplete | `resources/rp-ui-implementation/SKILL.md` | manifest-hash-aware runnable home implementation | | Verify and improve | build, QA, comparison, review, fix, report, release, or receipt is incomplete | `resources/rp-qa-gap-loop/SKILL.md` | accepted result, `done_with_gaps`, or global blocker | | Optional facelift | normal clone accepted and automation state says facelift is requested | `resources/rp-facelift/SKILL.md` | accepted facelift review, or blocker | When `frontendPhase.allowedNow` is `plan`, complete only the plan-eligible context and evidence work and leave a resumable plan-state record. When it is `build`, continue through implementation and verification against the migration-owned project. ## One-click continuation A migration handoff declaring `automationMode: "one_click"` authorizes routine scope and frontend checkpoints. Record those approvals in `docs/site-clone/frontend-automation-state.json`; do not pause to ask whether to proceed with a required stage, screenshot review, or authorized gap-fix pass. An explicit facelift request may be carried from 1-click intake, but it remains gated until normal clone acceptance; 1-click never implies facelift by itself. In a one-click build run, keep selecting and executing stages until one of these durable outcomes exists: - `website/completion.json` is valid and the latest visual review is complete with no open critical/high identity finding; or - five visual gap cycles have been completed and `website/completion.json` records the truthful terminal status `done_with_gaps` with the final reviewed evidence; or - a genuine blocker is recorded with owner, evidence, attempted recovery, and exact next authority/action needed. An owned local extraction gap is not a genuine blocker. Continue unrelated work, use no more than two distinct targeted recovery attempts, then build the affected dependency closure provisionally and surface post-assembly choices in `final-report.json` and `.md`. Before classifying a shell, browser, or network failure as a blocker, use the repo-local Wix/Yarn toolchain PATH ordering and follow the recovery order in `resources/rp-project-context/SKILL.md`: aligned-shell retry, then the required browser/network escalation and retry, then blocker only if it still fails or approval is pending. After every gap iteration, immediately return to the stage table; never treat a first build, a reported plan, or backend import as frontend completion. ## Commands Run `node scripts/site-clone.mjs <source-url>` for standalone mode, or `node scripts/site-clone.mjs <source-url> --handoff <path>` for migration mode. The active resource gives the exact commands and inputs for its stage. ## References Resources load their own references. The shared contracts are kept under `references/`: `safety.md`, `workflow.md`, `extraction-schema.md`, `output-contract.md`, `qa-checklist.md`, and the interaction/layout/control/normalization/gap contracts.
From wix/skills at 729aea7, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 729aea7Files
- SKILL.md6.6 KB · 6ba79c44ded6
- .publish-manifest.json227 B · 2a37309bdadf
- agents/
- openai.yaml259 B · 542967a46908
- references/
- control-and-visual-fidelity-contract.md2.1 KB · 673daeede797
- extraction-schema.md8.8 KB · fc039818ac8d
- interaction-runtime-contract.md5.4 KB · a384e3ba4c99
- layout-blueprint-contract.md2.1 KB · c6b05fc39210
- output-contract.md4.1 KB · ebe10ec5582d
- post-build-gap-contract.md5.6 KB · f8284c09bcf5
- qa-checklist.md4.8 KB · 7408061517fb
- safety.md1.1 KB · 339f9a2ee0a2
- ui-normalization-contract.md2.9 KB · 72fa3542579e
- workflow.md7.9 KB · 7a586c5c4ca0
- registry/
- README.md958 B · e42b17f96ae6
- approvals/
- button/
- shadcn-default-ac60ef5.json980 B · 61bf59f2dbdb
- items/
- button/
- shadcn-default-ac60ef5/
- button.tsx1.9 KB · b77b5c3f3f73
- capabilities.json2.8 KB · f53c94e9f826
- contract.md2.1 KB · bf3e6dc863a8
- licenses/
- shadcn-ui-ac60ef5-MIT.txt1.1 KB · 1564074e1343
- registry.json1.4 KB · 895257df6910
- schemas/
- build-plan.schema.json628 B · 993f18266892
- candidate.schema.json949 B · 2fbf0b52d88a
- common.schema.json1.3 KB · cf7b234e55fa
- decision-patch.schema.json621 B · e296d1b9944c
- decision-request.schema.json825 B · bee18a812487
- extraction-gap.schema.json1.7 KB · 1f36245bc068
- extraction-manifest.schema.json1.7 KB · 5e1074decddc
- final-report.schema.json744 B · 9353b3286aac
- foundation.schema.json950 B · ed74f344b302
- metadata.schema.json801 B · cc12cc48b9c9
- observation-packet.schema.json661 B · a0b77ddf88eb
- page-capture.schema.json1.0 KB · a55afce8e2bf
- page-resolution.schema.json1.5 KB · 1d0d8b36c9d1
- shared-chrome.schema.json940 B · cd92fa9cc3dd
- unit.schema.json1.8 KB · ce6d0b38c0ff
- scripts/
- assemble-extraction.mjs37 KB · 68d97c927923
- benchmark-extraction.mjs9.3 KB · 3797375199c0
- browser-extraction-preflight.mjs1.3 KB · c28fcf6453cc
- build-extracted-homepage.mjs16 KB · 0da208c140bd
- clear-wix-starter.mjs2.4 KB · d642d6211e3d
- create-wix-project.mjs18 KB · bdc1f975c87b
- discover-urls.mjs4.5 KB · 5a0dc8c2451d
- extract-assets.mjs4.7 KB · 0de53ad953fc
- extract-design-system.mjs24 KB · b42cb12b19c2
- extract-interactions.mjs85 KB · fee09c04e043
- extract-page.mjs121 KB · 543e4985d4d4
- extract-seo.mjs848 B · f2cd3a7b7a69
- extract-tokens.mjs2.6 KB · 5afc173d1cac
- finalize-extraction-report.mjs6.6 KB · 11124a519c76
- finalize-gap-review.mjs13 KB · f966a95231cb
- finalize-gap-review.test.mjs5.4 KB · aa07fa3f0e73
- finalize-migration-website.mjs6.3 KB · fe9a6f79469d
- generate-control-state-contract.mjs9.3 KB · a71d9459b1bd
- generate-design-md.mjs12 KB · c42093ae7412
- generate-extraction-validators.mjs5.5 KB · a281c924459a
- generate-layout-blueprint.mjs8.9 KB · 28b7ad11ad30
- generate-repeater-cms.mjs5.1 KB · b530ef249bfb
- generate-route-plan.mjs4.8 KB · cee76ba4f081
- generate-scene-contract.mjs17 KB · 97cacaeceb42
- generate-ui-normalization.mjs14 KB · 8e79305216ea
- generate-visual-assets.mjs6.5 KB · 2f32f32515a6
- lib/
- browser-tooling.mjs20 KB · 5ea2ecccc0d4
- common.mjs9.2 KB · 3fa6d1abd4be
- component-capabilities.mjs8.0 KB · d669dff9b0d2
- component-registry.mjs13 KB · a243ed4fdbe8
- content-boundary.mjs2.9 KB · d9c6dc0fb43d
- extraction-contract.mjs19 KB · 4bf5b9eea5ad
- extraction-detectors.mjs12 KB · 16fdc8cff409
- extraction-validators.generated.mjs26 KB · 30692f2fc851
- font-contract.mjs10 KB · 3d100a7131bf
- frontend-automation-state.mjs6.8 KB · ef9ce3a762af
- gap-analysis.mjs27 KB · f8f46e267e9d
- html-extract.mjs5.8 KB · b328cabc44c7
- interaction-bootstrap.mjs296 B · 21e758206f39
- interaction-runtime.mjs8.3 KB · 36137df3d2ef
- interaction-timeline.mjs14 KB · e1dde2bc8f67
- layout-blueprint/
- classifiers.mjs8.0 KB · e9077541f51e
- geometry.mjs1.9 KB · 258ed5048de1
- vocabulary.mjs872 B · fbfe2363058b
- ui-normalization.css1.6 KB · e4e13e6903af
- optimize-svg.mjs895 B · b4428953630f
- post-build-gap.mjs17 KB · 0a495394c2cf
- provision-repeater-cms.mjs2.9 KB · 15b9c94ed9ab
- record-gap-decision.mjs2.3 KB · 2eee1a73eb66
- replay-extraction.mjs5.5 KB · 1722f700d4c1
- resolve-home-page.mjs4.0 KB · 529a08951cd5
- site-clone.mjs36 KB · 0a5c25250a1e
- validate-font-contract.mjs1.4 KB · 08a7880c0c4e
- verify-interactions.mjs30 KB · 15bda71a86ea
- visual-qa.mjs21 KB · 18a103715f35
90 files, 832 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 729aea7More from Wix.com
replatform
Routes Wix migrations by inspecting project artifacts and orchestration state to identify the next workflow step.
Contains scripts
Claude Code, Codex, Cursor +3 · about 10.1K tokens · pinned 6 days ago
rp-destination
This skill resolves, adopts, or creates a Wix Managed Headless destination for migrations when no authoritative destination exists or the destination contract…
Claude Code, Codex, Cursor +4 · about 380 tokens · pinned 6 days ago
rp-discovery
Discovers and documents the source platform schema for a migration project by identifying entities, fields, relationships, and constraints.
Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago
rp-discovery
Inspects a source platform's data structure (entities, fields, relationships) and documents findings in source-profile.md and source-schema.json for migration…
Claude Code, Codex, Cursor +4 · about 4.2K tokens · pinned 6 days ago
rp-execute-import
Runs the generated extract and import pipeline for data migration to Wix, executing approved code artifacts and capturing results.
Claude Code, Codex, Cursor +4 · about 7.1K tokens · pinned 6 days ago
rp-execute-import
Executes the generated extract and import pipeline to migrate data into a Wix site after setup and code generation are complete.
Claude Code, Codex, Cursor +4 · about 8.7K tokens · pinned 6 days ago
Related in Frontend and design
next-bundle-optimizer
Audits Next.js applications to identify and reduce browser bundle size and initial-load work by analyzing routes, dependencies and client outputs.
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
next-cache-components-optimizer
Optimize Next.js routes to display meaningful UI instantly on initial load or client navigation by encoding the optimization goal as a failing…
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 5.6K tokens · pinned 6 days ago
next-partial-prefetching-adoption
Enables Partial Prefetching in Next.js 16.3+ apps and guides adoption through auditing Link prefetch behavior, preserving UI in tests or manually, and…
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 6.7K tokens · pinned 6 days ago
remotion-interactivity
This skill teaches how to structure Remotion code so the Studio IDE recognizes and makes it interactive.
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 6 days ago
remotion-interactivity
This skill teaches how to structure Remotion video components to unlock Studio interactivity features like click selection, drag-and-drop, resizing, rotation…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago
remotion-maps
This skill enables creating map-based animations with Remotion using four different mapping libraries: Mapbox, MapLibre, MapTiler, or CesiumJS.
by RemotionOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 240 tokens · pinned 6 days ago