{"id":50312437,"url":"https://github.com/stevysmith/website-builder-migrate-skill","last_synced_at":"2026-05-28T22:01:33.582Z","repository":{"id":349655789,"uuid":"1203310929","full_name":"stevysmith/website-builder-migrate-skill","owner":"stevysmith","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-07T21:08:01.000Z","size":123,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-07T23:14:08.489Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stevysmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T23:35:33.000Z","updated_at":"2026-05-07T21:08:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stevysmith/website-builder-migrate-skill","commit_stats":null,"previous_names":["stevysmith/webflow-migrate-skill","stevysmith/website-builder-migrate-skill"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stevysmith/website-builder-migrate-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevysmith%2Fwebsite-builder-migrate-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevysmith%2Fwebsite-builder-migrate-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevysmith%2Fwebsite-builder-migrate-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevysmith%2Fwebsite-builder-migrate-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevysmith","download_url":"https://codeload.github.com/stevysmith/website-builder-migrate-skill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevysmith%2Fwebsite-builder-migrate-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33627941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-28T22:01:32.810Z","updated_at":"2026-05-28T22:01:33.577Z","avatar_url":"https://github.com/stevysmith.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Website Builder Migrate Skill\n\nMigrate a site built on a website builder (Webflow, Framer, Squarespace, Wix, Carrd, etc.) to a self-hosted static site. Uses `wget` to mirror the published site, then cleans up assets, URLs, and platform-specific artifacts so it's ready to deploy anywhere.\n\n## Installation\n\n### Via skills.sh (recommended)\n\n```bash\nnpx skills add stevysmith/website-builder-migrate-skill\n```\n\n### Via Claude Code plugin commands\n\n```\n/plugin marketplace add stevysmith/website-builder-migrate-skill\n/plugin install website-builder-migrate@website-builder-migrate-skill\n```\n\nAfter installation, the `/website-builder-migrate` skill is available in Claude Code.\n\n## Usage\n\n```\n/website-builder-migrate https://www.example.com/\n```\n\nPass the URL of a live, publicly accessible builder-hosted site. The skill will:\n\n1. **Mirror** the full site including CDN-hosted assets (images, CSS, JS)\n2. **Consolidate** into a clean `site/` directory structure\n3. **Rewrite** all asset URLs to local paths\n4. **Fix** common builder-export issues (SRI integrity blocks, missing webpack chunks, mangled inline styles, double-encoded URLs, broken forms)\n5. **Verify** all asset references resolve correctly\n6. **Deploy** to Render, Netlify, Vercel, or any static host\n\n## Supported Platforms\n\nThe Phase 1–7 workflow is platform-agnostic, with a per-platform notes table for CDN domains, chunk patterns, and common gotchas:\n\n| Platform | Notes |\n|---|---|\n| **Webflow** | Battle-tested. Multiple CDN site IDs, `webflow.achunk.*` webpack chunks, heavy SRI tags. |\n| **Framer** | React SPA with dynamic route bundles. Verify hydration in the browser. |\n| **Squarespace** | Heavy template JS, server-side image transforms. |\n| **Wix** | Hardest case — extremely SPA-driven; works only for static template sites. |\n| **Carrd** | Trivial — single inlined HTML; full workflow is overkill. |\n\nFor unfamiliar platforms, the skill includes a diagnostic checklist (CDN domain / SRI tags / chunk map) to drive the workflow.\n\n## What It Handles\n\n- Multiple CDN site IDs (site assets vs CMS content)\n- Inline `background-image:url()` assets that `wget` misses\n- Mangled URLs from `wget --convert-links` in inline styles\n- Double-encoded CMS filenames (`%2520`, `%252B`, `%2526`)\n- Subdirectory page structures (blog posts, career pages, etc.)\n- **SRI `integrity` attribute blocks** — the most common cause of a blank-rendered migration; `--convert-links` modifies CSS bytes so the SHA-384 hash no longer matches\n- **Dynamically-loaded webpack chunks** — `webflow.achunk.*` and equivalents that `wget` doesn't catch\n- **CSS-internal `url(../font.ttf)` paths** that break when assets are reorganized\n- Platform metadata attribute cleanup (`data-wf-*`, `data-framer-*`, generator meta tags)\n- In-browser verification step (catches what static asset checks miss)\n\n## Output Structure\n\n```\nsite/\n  index.html\n  about.html\n  blog.html\n  post/                # blog posts\n  careers/             # career pages\n  assets/\n    css/               # stylesheets\n    js/                # builder runtime + chunks\n    images/            # all media (images, SVGs, videos)\n```\n\n## Prerequisites\n\n- `wget` must be installed (comes with macOS/Linux)\n- The site must be published and publicly accessible\n- Optional: `agent-browser` skill for visual verification\n\n## Deploy\n\n| Platform | Command |\n|----------|---------|\n| Render | Publish path: `./site` |\n| Netlify | `npx netlify-cli deploy --dir=./site --prod` |\n| Vercel | `npx vercel ./site --prod` |\n\n## Limitations\n\n- **JavaScript interactions** — the builder's runtime continues to work but is monolithic (Webflow ~500KB; Framer per-route bundles)\n- **CMS content** — captured as static HTML at time of mirroring; won't update dynamically\n- **Forms** — builder forms won't work without their backend; use Formspree, Netlify Forms, Basin, etc.\n- **Site search** — native search won't work; use Algolia, Pagefind, or similar\n- **Wix and other heavily-SPA builders** — wget mirroring may produce incomplete output for client-rendered content\n\n## Learn More\n\n- [skills.sh](https://skills.sh) — Discover more Claude Code skills\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevysmith%2Fwebsite-builder-migrate-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevysmith%2Fwebsite-builder-migrate-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevysmith%2Fwebsite-builder-migrate-skill/lists"}