What is the migrate-elementor-to-bricks skill?
The migrate-elementor-to-bricks skill reads Elementor widget data, maps each widget to its closest Bricks element and writes clean Bricks JSON to draft duplicates. Your AI coding agent works through the Respira for WordPress plugin, and the original Elementor pages are never modified.
The migrate-elementor-to-bricks skill converts Elementor built WordPress pages to Bricks Builder. It reads the widget tree from the _elementor_data post meta and writes clean Bricks JSON to _bricks_page_content_2 on a draft duplicate.
It runs through the Respira for WordPress plugin and an active MCP connection. Reading uses respira_extract_builder_content with builder elementor, and writing uses respira_inject_builder_content with builder bricks.
Five phase workflow
Phase one audits the site, confirming Elementor is active and the Bricks theme is installed, then inventories pages and widget types. Phase two presents a migration plan with a widget mapping table and asks for confirmation before any duplicate is created.
Phase three migrates page by page and takes a snapshot of each duplicate before writing. Phase four summarizes results with a review checklist. Phase five shares drafts for review, and going live stays with the owner.
What converts and what is flagged
Sections and columns become Bricks sections and containers, and common widgets map to native Bricks elements. Typography, colors, spacing, backgrounds, borders, shadows, CSS classes and IDs are preserved.
Third party addon widgets from Essential Addons, JetElements, Crocoblock and PowerPack are flagged for manual migration. So are Elementor Pro dynamic tags, theme builder templates, popups and WooCommerce widgets.
Who the migrate-elementor-to-bricks skill is for
Best for
- Moving an Elementor site to Bricks while the original pages stay live.
- Reviewing a widget mapping table and a flagged items list before any page is converted.
- Correcting single elements on a converted page without re-injecting the whole page.
Not for
- Sites that rely on third party addon widgets from Essential Addons, JetElements, Crocoblock or PowerPack, which are flagged for manual migration.
- Elementor Pro dynamic tags, Theme Builder templates, popups and WooCommerce widgets, which are not auto converted.
- A pixel perfect copy, since Bricks uses a different rendering engine.
How to install Migrate Elementor to Bricks Skill: Draft Duplicates
npx skills add respira-press/agent-skills-wordpress -g -a claude-code -yThe skill needs read access to scan Elementor content and write access to create duplicates with Bricks content.Run the install command
Run the command above to install the Respira skills globally. Swap
-a claude-codefor your agent, for example-a opencode.Connect Respira
Install and connect the Respira for WordPress plugin and keep the MCP connection active.
Prepare the site
Elementor must be active to read source content, and the Bricks theme must be installed and active to write target content.
Ask for the migration
Say
migrate elementor to bricks,convert elementor to bricksormove my site from elementor to bricks.
Check that it loaded
Ask your agent to migrate Elementor to Bricks. Expect it to check the connection with respira_get_site_context and present a migration plan with a widget mapping table before creating any duplicate.
Key features
- Widget mappingElementor widgets such as heading, text editor, image, button, tabs and accordion map to their closest Bricks elements, and forms map where Bricks has a form element.
- Draft duplicates onlyAll migrated content goes to draft duplicates, and original Elementor pages are never modified or deleted.
- Migration planA plan lists the site inventory, a widget mapping summary, a page by page plan and flagged items before anything is written.
- Snapshot before writerespira_get_snapshot takes a snapshot of each duplicate before any write so its pre-write state can be restored.
- Two rollback pathsRestore the snapshot with respira_restore_snapshot, or delete the draft duplicates with respira_delete_page or respira_delete_post.
- Surgical fix passrespira_find_element and respira_update_element correct one element, and respira_batch_update handles repeated fixes across pages.
- Design token registrationConversion registers colors and typography as named design tokens in Bricks' global styles, and converted pages reference them.
- Review linksrespira_create_review_link sends a review link so reviewers open a draft without a WordPress login and pin notes to elements. Review links need the Murmur Builder plan or higher; on a lower plan respira_create_share_link sends a look only link.
- Cache purge after go liveAfter the owner publishes, respira_purge_cache clears page caches and CDNs so the old builder's markup stops being served.
Frequently asked questions
What is the migrate-elementor-to-bricks skill?
It is a skill that converts Elementor built WordPress pages to Bricks Builder. It reads the Elementor JSON widget tree from post meta, maps each widget to its closest Bricks element, presents a migration plan for approval and writes Bricks JSON to draft duplicates of your pages.
How do I install the migrate-elementor-to-bricks skill?
Run npx skills add respira-press/agent-skills-wordpress -g -a claude-code -y, swapping the agent flag for yours if needed. The skill also needs the Respira for WordPress plugin installed and connected, an active MCP connection, Elementor active and the Bricks theme installed and active.
Does it change my original Elementor pages?
No. Original Elementor pages are never modified or deleted, and all migrated content goes to draft duplicates. Explicit confirmation is required before any duplicate is created, and the skill never auto-publishes migrated pages. Going live stays with the owner. Each migrated page is a draft duplicate that the owner publishes or swaps in for the original.
How do I roll back a bad migration?
There are two rollback paths. Restore the snapshot of the duplicate with respira_restore_snapshot, since a snapshot is taken before any write, or delete the draft duplicates entirely with respira_delete_page or respira_delete_post. Your original pages remain untouched throughout. Each duplicate is a draft, so the live site is unchanged until the owner publishes.
Which Elementor content is not converted automatically?
Third party addon widgets from Essential Addons, JetElements, Crocoblock and PowerPack are flagged for manual migration. Elementor Pro dynamic tags, theme builder templates, popups and WooCommerce widgets are also not auto converted, and pixel perfect recreation is not guaranteed because Bricks uses a different rendering engine.
How does it fix one broken element after conversion?
It does not re-inject the whole page. The skill locates the element with respira_find_element and corrects it with respira_update_element. For repeated fixes across many elements or several pages it batches them with respira_batch_update, so corrections stay scoped and reversible. It never re-injects the whole page for a collapsed column width or a broken parent reference.
How do reviewers see the migrated drafts?
respira_create_review_link sends a review link for the duplicate ids. Reviewers open the page with no WordPress login, on any device, and tap any spot to leave a note pinned to that element. The skill reads notes with respira_list_review_comments and resolves each one after the change. Review links need the Murmur Builder plan or higher; on a lower plan respira_create_share_link sends a look only link.
What happens to colors and fonts during conversion?
Conversion registers the colors and typography it carries as named design tokens in Bricks' own global styles, and converted pages reference those tokens instead of carrying value copies. The migration summary names the registered tokens, and respira_list_design_tokens shows them. When you fix or extend a migrated page, reuse those registered tokens rather than re-inlining raw hex values or font stacks.


