plugins marketplace
← All plugins

data-liberation

v0.2.2

Extract content from closed web platforms (GoDaddy Websites & Marketing, Hostinger, HubSpot, Shopify, Squarespace, Webflow, Weebly, Wix) into WordPress-compatible WXR files. Inspect, extract, QA, and import to WordPress.

CodexClaude Code21 skills1 MCP serverstdio

by AutomatticGPL-2.0-or-later31updated 1 month ago

Source

git clone https://github.com/Automattic/data-liberation-agent

Clone the source, then follow the repository's marketplace instructions for your runtime. The repository root is the plugin root.

Layout

data-liberation/
├── .codex-plugin/plugin.json
├── .claude-plugin/plugin.json
├── skills/adapt/SKILL.md
├── skills/compose-page-blocks/SKILL.md
├── skills/creating-blocks/SKILL.md
├── skills/creating-themes/SKILL.md
├── skills/design-foundations/SKILL.md
├── skills/design-qa/SKILL.md
├── skills/diagnose/SKILL.md
├── skills/editing-blocks/SKILL.md
├── skills/editing-themes/SKILL.md
├── skills/generating-patterns/SKILL.md
├── skills/match-page/SKILL.md
├── skills/match-section/SKILL.md
├── skills/migrate/SKILL.md
├── skills/model-local-data/SKILL.md
├── skills/qa/SKILL.md
├── skills/rebuild-section/SKILL.md
├── skills/replicate-theme/SKILL.md
├── skills/replicate-with-blocks/SKILL.md
├── skills/testing-js/SKILL.md
├── skills/testing-php/SKILL.md
├── skills/testing-wp-runtime/SKILL.md
└── .mcp.json

Skills21

adaptskills/adapt/SKILL.md

Build a new platform adapter to extract content from an unsupported platform (Blogger, Ghost, Tumblr, etc.)

compose-page-blocksskills/compose-page-blocks/SKILL.md

Compose a single liberated page's WordPress block-editor markup from its rendered HTML and screenshot. Inputs are a sanitized HTML file, a desktop screenshot, the design-foundation tokens, the URL's archetype (page/post/product/etc.), and the source URL. Output is a string of valid block markup that round-trips through parse_blocks, uses theme tokens (no inlined hex colors), and contains only text drawn from the source HTML. Call per-page during the streaming watch loop after extraction has produced HTML+screenshot for that URL. Use when a freshly-imported page needs `post_content` upgraded from raw HTML into block-editor markup so the replica theme's tokens, gradients, and patterns actually render.

creating-blocksskills/creating-blocks/SKILL.md

Templates and guidelines for creating new WordPress blocks from scratch — load this before generating block files

creating-themesskills/creating-themes/SKILL.md

Guidelines for creating new WordPress block themes from scratch — load this before generating theme files

design-foundationsskills/design-foundations/SKILL.md

Build a coherent design-foundation JSON from a liberated site — semantic color/typography/spacing roles with evidence trails. Consumes the partial scaffold produced by liberate_design_foundation_scaffold plus aggregate HTML/CSS analysis and representative rendered HTML; produces a complete design-foundation matching the schema. Call after liberation, before theme generation.

design-qaskills/design-qa/SKILL.md

Visual-QA loop run after replica theme install and content import. Captures replica screenshots, applies a hard responsiveness gate at 390px AND a hard per-section visual-parity gate (measured SectionParity records, verdict computed by buildRunReport), runs qualitative vision review of source/replica pairs, checks accessibility, and drives a per-section escalation ladder of fixes via editing-themes/editing-blocks/rebuild-section (R1 CSS → R2 spec-rebuild → R3 re-extract → R4a AI canonical-block rebuild → R4b deterministic styled-island floor) — escalating unresolved divergences to the operator rather than shipping them. Orchestration-internal — invoked by the replicate-with-blocks/liberate orchestrators, not directly by users.

diagnoseskills/diagnose/SKILL.md

Debug failed or low-quality extractions by analyzing logs, probing the source site, and identifying root causes

editing-blocksskills/editing-blocks/SKILL.md

Guidelines for modifying existing WordPress blocks — load this before editing block files

editing-themesskills/editing-themes/SKILL.md

Guidelines for modifying existing WordPress block themes — load this before editing theme files

generating-patternsskills/generating-patterns/SKILL.md

Guidelines and examples for generating WordPress block patterns — load this when creating patterns for themes

match-pageskills/match-page/SKILL.md

Orchestrate whole-PAGE visual parity, with a replayable parity log so the work survives a reconstruct. PHASE 0 — if <outputDir>/parity-log.json exists, REPLAY its logged intents onto the current build first (apply + verify each by looking), so prior parity work is re-applied to whatever the latest reconstruction produced. PHASE 1 — one batch pass measuring EVERY band's built design vs the SOURCE screenshot across all axes, emitting a per-band verdict. PHASE 2 — iterate match-section on the divergent bands only, worst-first, LOGGING each fix as a semantic parity-log entry, until each matches. Never hand-roll per-section work without the batch assessment; never assert a match without cropping source+built and looking. Dispatched by replicate-with-blocks/design-qa; calls match-section per band; writes/reads parity-log.json.

match-sectionskills/match-section/SKILL.md

Reach VISUAL parity for ONE section by guiding AI to apply the captured design data (colors, padding, margins, full-bleed, font sizes, line-heights, families, alignment) to that section's WordPress block markup, then VERIFYING by looking at the source section and the built section side-by-side and iterating until they are visually identical. Non-deterministic on purpose — deterministic emission gets the structure right but misses visual parity; this skill closes the gap with an AI eyes-on loop. The per-section EXECUTOR called by `match-page` (which runs the batch Phase-1 assessment first, then dispatches this per divergent section). Do not drive whole-page parity by hand-rolling per-section work — run `match-page` so the batch assessment happens first. Dispatched per section (subagent) by match-page/replicate-with-blocks/design-qa. Not user-invocable directly.

migrateskills/migrate/SKILL.md

Alias for `/liberate`. Migrate a website or an owned local directory into WordPress — point it at a URL (a live site you don't control) or at a local folder of HTML/CSS/JS you own, and it runs the full liberate pipeline (route on input → detect/discover/extract/capture + reconstruct for URLs; provision Studio + carry-to-block-theme for local dirs). Use `/migrate <url-or-dir>` exactly like `/liberate <url-or-dir>`.

model-local-dataskills/model-local-data/SKILL.md

Analyze an OWNED local static site's JavaScript data grids or repeated static-HTML content cards and emit a data-model.json that turns that data into real WordPress posts/taxonomy + native query loops while keeping the styling/animation/modal JS. Produces the model that liberate-local's convert step consumes. Use before liberate_convert_local_site when the source renders its content from JS data (catalogs, listings, galleries) or repeated post-preview cards in static HTML.

qaskills/qa/SKILL.md

Compare extracted WXR content against the original source site page by page. Find missing text, headings, images, and links. Fix by patching the WXR or re-extracting individual pages. Produces a health score and structured report. Use when asked to "qa", "check extraction", "compare content", or "verify extraction quality".

rebuild-sectionskills/rebuild-section/SKILL.md

R4a of the design-qa escalation ladder — rebuild ONE divergent section into canonical, editable WordPress core blocks from its source HTML, screenshots, spec, and design tokens, when R1–R3 (CSS / spec-rebuild / re-extract) could not reach visual parity. Dispatched as a subagent by design-qa; not user-invocable. Output ships ONLY if it re-scores `match` and survives canonicalization with no content loss — otherwise the loop falls to the R4b styled-island floor.

replicate-themeskills/replicate-theme/SKILL.md

Parity-first carry-and-scope theme reconstruction — dispatched by `/liberate` after capture. Instead of projecting the source onto editable WordPress blocks (the `replicate-with-blocks` path), it CARRIES the source page near-verbatim and SCOPES the source's own CSS under a per-site wrapper, producing a high-fidelity but NON-block-editable theme. It owns only the reconstruct→theme stage (capture already happened in `/liberate`); writes `output-carry.wxr` + a `<site>-carry` theme and installs into a Studio site named after the source. Use when the user picks "theme replication" at the `/liberate` checkpoint, or asks to "carry the HTML", "scope the source CSS", or maximize visual parity vs. blocks.

replicate-with-blocksskills/replicate-with-blocks/SKILL.md

Spec-driven, whole-site block-theme reconstruction for a liberated site. Invokes design-foundations → creating-themes → clustering → spec extraction → generating-patterns (fan-out, per cluster) → assemble → validate → install → design-qa to produce a responsive, editable WordPress block theme that matches the source site's layout, content structure, and visual design. Call after `liberate` (extraction) and before content import, or re-run standalone to re-theme an already-extracted site. Use when the user says "rebuild this site," "replicate the design," "make a theme that matches," "recreate the layout," or asks for a WordPress version of a liberated site.

testing-jsskills/testing-js/SKILL.md

Guidelines for checking JavaScript files for syntax errors

testing-phpskills/testing-php/SKILL.md

Guidelines for running PHP linting to catch syntax errors

testing-wp-runtimeskills/testing-wp-runtime/SKILL.md

Guidelines for running wp-now to validate WordPress plugins and themes at runtime

MCP servers1

data-liberationstdio
command
npx
args
tsx ${CLAUDE_PLUGIN_ROOT:-.}/src/mcp-server.ts
cwd
${CLAUDE_PLUGIN_ROOT:-.}

MCP configuration uses runtime-provided plugin path placeholders such as ${PLUGIN_ROOT} or ${CLAUDE_PLUGIN_ROOT}. Review the manifest for the runtime-specific expansion rules.

Manifests2

.codex-plugin/plugin.json
{
  "name": "data-liberation",
  "description": "Extract content from closed web platforms (GoDaddy Websites & Marketing, Hostinger, HubSpot, Shopify, Squarespace, Webflow, Weebly, Wix) into WordPress-compatible WXR files. Inspect, extract, QA, and import to WordPress.",
  "version": "0.2.2",
  "author": {
    "name": "Automattic"
  },
  "homepage": "https://github.com/Automattic/data-liberation-agent",
  "license": "GPL-2.0-or-later",
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Data Liberation",
    "shortDescription": "Extract closed-platform sites into WordPress-compatible exports",
    "longDescription": "Inspect, extract, QA, and import content from closed website platforms into WordPress-compatible WXR files.",
    "developerName": "Automattic",
    "category": "Developer Tools",
    "capabilities": [
      "Interactive",
      "Read",
      "Write"
    ],
    "websiteURL": "https://github.com/Automattic/data-liberation-agent",
    "defaultPrompt": [
      "Inspect a site for liberation",
      "Extract this site into WordPress-compatible WXR",
      "QA a liberated WordPress import"
    ],
    "screenshots": []
  }
}
.claude-plugin/plugin.json
{
  "name": "data-liberation",
  "description": "Extract content from closed web platforms (GoDaddy Websites & Marketing, Hostinger, HubSpot, Shopify, Squarespace, Webflow, Weebly, Wix) into WordPress-compatible WXR files. Inspect, extract, QA, and import to WordPress.",
  "version": "0.2.2",
  "author": {
    "name": "Automattic"
  },
  "homepage": "https://github.com/Automattic/data-liberation-agent",
  "repository": "https://github.com/Automattic/data-liberation-agent",
  "license": "GPL-2.0-or-later",
  "keywords": [
    "content-extraction",
    "data-liberation",
    "godaddy",
    "hostinger",
    "hubspot",
    "migration",
    "shopify",
    "squarespace",
    "webflow",
    "weebly",
    "wix",
    "wordpress",
    "wxr"
  ],
  "mcp": {
    "command": "npx",
    "args": [
      "tsx",
      "src/mcp-server.ts"
    ]
  }
}