--- name: html2elementor description: Convert HTML+CSS into Elementor JSON that imports into WordPress. Always use this skill whenever the user has HTML/CSS (pasted, file, URL, or AI-generated) and wants it to end up as an Elementor page — phrases like "convert HTML to Elementor", "import this landing into WordPress as Elementor", "make this Tailwind mockup an Elementor page", "turn my markup into Elementor JSON", "recreate this site in Elementor", or any variant. Do not try to produce Elementor JSON by hand — Elementor has non-obvious quirks (shared system-color globals that break previous pages, lazy-load hiding backgrounds, widget widths collapsing in row containers, CSS cache requiring flush) that this skill already handles correctly. Failing to use the skill produces output that imports but renders wrong. metadata: openclaw: requires: bins: - python3 python: - beautifulsoup4>=4.12 - tinycss2>=1.2 - cssselect2>=0.7 --- # html2elementor Paste HTML+CSS, get a JSON payload you can drop into `_elementor_data`. A small, free, open-source HTML → Elementor converter that runs locally. ## When to use this skill Use whenever the user has HTML on one side and wants Elementor on the other. Triggering phrases include (but aren't limited to): - "convert this HTML to Elementor" - "import this landing page into WordPress" - "recreate this design as an Elementor page" - "turn my mockup into Elementor" - "bring this Tailwind page into WordPress" - "I have HTML from [tool X], make it Elementor" - "Elementor JSON from this markup" Also use it implicitly — the user pastes or attaches HTML and asks "make this work in Elementor" without naming a tool. **Don't use for:** - Editing pages that are already Elementor (use WP-CLI / REST API directly). - Plain WordPress pages with no Elementor (just `wp_insert_post` with `post_content`). - Figma / Sketch / design files — this converts markup, not design-tool exports. If the user has a Figma file, suggest they first export to HTML with a tool like Figma-to-HTML or Anima, then run that output through this skill. ## The four-step flow **Prepare → convert → verify → import.** The first three are local and identical regardless of the user's WordPress setup. The fourth depends on how they run WordPress. ### Step 0 — Prepare the input - **External stylesheets.** If the HTML uses ``, inline the CSS into a `