activity-report-compos…
Use when the user asks for a client report, a monthly or activity report, a case study draft, or says 'what did i ship this month'. Turns the site audit log…
Use when the user says 'convert this html to breakdance' or 'paste html into breakdance', or has a Webflow, Framer, CodePen, or old static export to bring into a Breakdance site. Converts raw HTML and CSS into native EssentialElements nodes in _breakdance_data, mapping colors,
$ npx -y skills add respira-press/agent-skills-wordpress --skill html-to-breakdance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/html-to-breakdanceContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user says 'convert this html to breakdance' or 'paste html into breakdance', or has a Webflow, Framer, CodePen, or old static export to bring into a Breakdance site. Converts raw HTML and CSS into native EssentialElements nodes in _breakdance_data, mapping colors,
name: html-to-breakdance description: "Use when the user says 'convert this html to breakdance' or 'paste html into breakdance', or has a Webflow, Framer, CodePen, or old static export to bring into a Breakdance site. Converts raw HTML and CSS into native EssentialElements nodes in _breakdance_data, mapping colors, type, and spacing to Breakdance Variables, and refusing element types Breakdance would skip-render." license: MIT metadata: author: Respira for WordPress author_url: https://respira.press version: 1.1.0 mcp-server: respira-wordpress category: migration
**Version:** 1.1.0 **Updated:** 2026-09-13 **Category:** migration **Status:** stable **Requires:** Respira for WordPress plugin 8.6.32+ + Breakdance active + MCP server
---
Convert raw HTML/CSS, pasted from a design export, a Figma extraction, a landing page on another platform, or your own prototype, into native Breakdance elements. Not a screenshot-to-builder pass. This is a structural conversion into the `EssentialElements\*` tree Breakdance's own renderer reads, with the site's Breakdance Variables reused instead of inlined values.
Uses the existing `respira_convert_html_to_builder` MCP tool with a Breakdance-specific workflow layered on top. The Breakdance layer matters because Breakdance stores nothing in `post_content`: the page lives entirely in the `_breakdance_data` post meta, and three of the five ways this conversion can go wrong are invisible unless you check the meta and the public render separately.
---
Read this before the workflow. Every step below depends on it.
| Fact | Detail | |---|---| | Storage key | `_breakdance_data` post meta, JSON. `post_content` stays empty | | Envelope | `tree_json_string` (the tree as a stringified JSON) plus a `tree` sibling carrying `root`, `_nextNodeId` and `status`. Both the PHP tree gate and the editor's io-ts decoder need that exact shape | | Node shape (native) | `{ id, data: { type, properties: { content, design } }, children: [...] }` | | Node shape (what you send) | `{ type, attributes: { content, design }, children: [] }`. The attributes bucket is `content` + `design`, never `settings` | | Element type naming | Fully qualified class names: `EssentialElements\Section`, `EssentialElements\Heading`, `EssentialElements\Text`, `EssentialElements\RichText`, `EssentialElements\Button`, `EssentialElements\Image`, `EssentialElements\Video`, `EssentialElements\Divider`, `EssentialElements\Columns`, `EssentialElements\Column`, `EssentialElements\Div`, `EssentialElements\Grid`, `EssentialElements\CodeBlock` | | Content path | Values live at `properties.content.content.<field>`. `content` is the tab, `content.content` is the section inside it. A heading is `content.content.text` plus `content.content.tags` (`h1`..`h6`); a text node is `content.content.text` | | Styling path | `design.*`, for example `design.typography.align`. Design values never go in the content bag | | Children | Genuinely nested. Each node carries its own `children` array. No flat map, no parent refs (that is Bricks) | | Node IDs | Numeric, auto-assigned by the adapter with a floor of 100 (root is id 1). `_nextNodeId` is kept in sync on write. Do not invent IDs | | Render gate | `_breakdance_dependency_cache`, written by Breakdance's own save pipeline. Respira regenerates it best-effort via `\Breakdance\Render\generateCacheForPost`. Without it a perfectly valid tree renders nothing on the front end while the editor looks fine | | Variables | Breakdance Variables (Color, Typography, Spacing) live in the `breakdance_global_settings` option, not in the page |
Lowercase generic types (`heading`, `text`, `section`) are not Breakdance types. A page written with them persists and reports success, and Breakdance skip-renders every node. That was a real report against v6.9.1. The converter maps generics to the `EssentialElements\*` classes for you, which is exactly why you should convert through the tool rather than hand-assembling a tree.
---
---
---
Call `respira_get_builder_info`. If the active builder is NOT Breakdance, stop and tell the user: *"This skill targets Breakdance. Your active builder is {X}. Use the generic `convert html to builder` workflow instead, or switch the active builder."*
If Breakdance is active, capture its version, and note whether the site runs themeless mode (Breakdance replacing the theme). Themeless changes what page chrome the converted page inherits, so it belongs in the report.
Oxygen 6 is a separate skill target even though its adapter extends this one. If the site is Oxygen 6, its types are `OxygenElements\*` and this skill does not apply.
Call `respira_get_active_site`. Ask:
Call `respira_get_design_direction`. If a direction is ACTIVE, capture its color roles, typography, and spacing tokens from `document.tokens`: the conversion maps raw CSS values (`#2563EB`) onto those tokens (`accent`) so the converted page is drift-resistant. Treat th
The community hub for WordPress AI workflows. Skills that run inside Claude Code, Codex, Antigravity, Cursor, and any AI agent that supports Skills + MCP to analyze, audit, optimize, and fix WordPress sites. Built by the community. Curated by Respira.
Repo: respira-press/agent-skills-wordpress
Use when the user asks for a client report, a monthly or activity report, a case study draft, or says 'what did i ship this month'. Turns the site audit log…
Use on any page build, redesign, or 'make it look better' request on a site that has (or needs) a saved Art Direction. Loads the direction before the first…
Use when the user says 'extract my brand voice', 'what is my writing style', or 'analyze my tone', or before any skill that writes copy for the site. Reads…
Use when building or rebuilding a page, header, footer, or template on an Oxygen 6 (Jenga) site, or when a previous attempt produced a blank page, one raw HTML…
Use when the user says 'export my site', 'backup my pages before editing', 'download my content locally', or 'migrate content to my other site'. Exports pages,…
Use when the user says 'audit my conversion rate', 'cro check', 'find conversion leaks', or asks what is hurting conversion before a paid campaign or after a…