Migrate Beaver Builder to Bricks
Version: 2.1.0
Updated: 2026-08-04
Freshly updated: v2.1.0 adds design-token awareness: conversion writes now register the colors and typography they carry as named design tokens in Bricks' own global styles, and converted pages reference those tokens instead of carrying value copies. Reuse registered tokens instead of re-inlining raw values, and report the registration in the migration summary.
Full-site migration from Beaver Builder to Bricks Builder. Audits every Beaver Builder page, maps modules to their Bricks equivalents, builds a migration plan for approval, and executes page-by-page conversion into Bricks' JSON format — all through duplicates so your live site stays untouched. Use this skill whenever someone mentions migrating from Beaver Builder to Bricks, switching from BB to Bricks, converting Beaver Builder pages to Bricks, or replacing Beaver Builder with Bricks.
What This Skill Does
Beaver Builder and Bricks are both visual page builders, but they differ significantly in architecture. Beaver Builder uses a module-based system with rows, columns, and modules stored in _fl_builder_data. Bricks uses a more modern, flexbox-first approach with sections, containers, and elements stored as a JSON array in _bricks_page_content_2. The migration requires translating BB's row/column grid into Bricks' container model and mapping each module to its Bricks element equivalent.
This skill reads every Beaver Builder page, extracts the module structure, translates each row/column/module to its Bricks equivalent, and writes the result to duplicate pages in Bricks format — giving you a complete parallel version of your site to review before going live.
Handles:
- Row → Bricks Section mapping
- Column structures → Bricks Container with flex layout
- Text Editor module → Bricks Text / Heading elements
- Photo module → Bricks Image element
- Button module → Bricks Button element
- Video module → Bricks Video element
- HTML module → Bricks Code element
- Heading module → Bricks Heading element
- Separator module → Bricks Divider element
- Icon module → Bricks Icon element
- Call to Action module → Bricks Container + child elements
- Custom CSS classes and inline styles
What This Skill Does NOT Do
- Migrate Beaver Builder's saved rows/modules library — these must be recreated in Bricks
- Convert Beaver Themer layouts (headers, footers, archives) — Bricks templates must be built separately
- Replicate exact Beaver Builder animations/effects — Bricks has its own interaction system
- Migrate third-party Beaver Builder add-on modules (PowerPack, UABB, etc.) — flagged for manual handling
- Convert BB's global rows to Bricks' template system — different architectural concept
- Guarantee pixel-perfect visual parity — different rendering engines produce different output
Requirements
- Respira for WordPress plugin installed and connected
- MCP connection active (desktop or WebMCP)
- Beaver Builder active on the source site
- Bricks Builder installed on the target site (can be the same site)
- Read access to scan Beaver Builder content
- Write access to create duplicates with Bricks content
Trigger Phrase
- "migrate beaver builder to bricks"
Alternative Triggers
- "convert beaver builder to bricks"
- "switch from bb to bricks"
- "move beaver builder pages to bricks"
- "replace beaver builder with bricks"
- "beaver builder to bricks migration"
- "migrate bb to bricks"
Builder Technical Context
Source: Beaver Builder
- Content stored in post_meta keys
_fl_builder_data and _fl_builder_data_settings
- Module-based structure with rows → columns → modules hierarchy
- Read via
respira_extract_builder_content with builder=beaver or builder=beaver-builder
- Module types:
rich-text, photo, button, heading, html, video, icon, separator, callout, cta, numbers, content-slider, etc.
Target: Bricks Builder
- Content stored in post_meta key
_bricks_page_content_2 as a JSON array
- Each element is an object with
id, name, parent, settings, children
- Write via
respira_inject_builder_content with builder=bricks
- Elements:
section, container, heading, text, image, button, video, code, divider, icon, etc.
Execution Workflow
Phase 1: Pre-Migration Audit
- Verify Respira + MCP connection via
respira_get_site_context. If unavailable, stop and show setup guidance.
- Detect Beaver Builder presence via
respira_get_builder_info or respira_list_plugins.
- Inventory and scope the source pages first:
respira_find_builder_targets with builder=beaver — a fast, ranked list of every BB-managed page/post before you touch anything
- Fall back to
respira_list_pages / respira_list_posts + respira_get_builder_info to confirm builder per item where needed
- For each BB page, extract content:
respira_extract_builder_content with builder=beaver
- Catalog: module types used, row/column structures, custom CSS, third-party modules, saved rows/modules
- Produce an Audit Report:
- Total pages/posts using Beaver Builder
- Module type frequency (how many text editors, photos, buttons, etc.)
- Column layout patterns (common row structures)
- Complexity flags (third-party modules, Beaver Themer, custom CSS, animations)
- Estimated migration difficulty per page (simple / moderate / complex)
Phase 2: Migration Plan
Present a structured migration plan:
## Beaver Builder → Bricks Migration Plan
### Site Overview
- Total Beaver Builder pages: X
- Simple pages (direct mapping): X
- Moderate pages (some manual review needed): X
- Complex pages (significant manual work): X
### Module-to-Element Mapping
| BB Module | Bricks Element | Notes |
|---|---|---|
| Row | Section | BB row maps to Bricks section |
| Column | Container | Flex-based layout in Bricks |
| Text Editor | Text / Heading | Content parsed into elements |
| Photo | Image | Direct mapping |
| Button | Button | Direct mapping |
| ... | ... | ... |
### Migration Order
1. [Page Title] — Simple — estimated 2 min
2. [Page Title] — Moderate — estimated 5 min
...
### Items Requiring Manual Attention
- [Page X] — PowerPack Tabs module (no direct Bricks equivalent)
- [Page Y] — Content slider (needs Bricks slider setup)
- Beaver Themer layouts — must be rebuilt as Bricks templates
Then ask:
Here's the migration plan. Would you like me to:
- Migrate all pages (creates duplicates for review)
- Migrate only simple pages first
- Migrate specific pages you choose
- Just keep this as a reference — no changes
Wait for explicit confirmation before proceeding.
Phase 3: Page-by-Page Migration
For each approved page:
- Extract Beaver Builder content via
respira_extract_builder_content with builder=beaver
- Map the row/column/module hierarchy to Bricks elements:
- Rows → Bricks
section elements
- Columns → Bricks
container elements with flex layout settings
- Text Editor → Parse into
text and heading elements
- Photo →
image element with src, alt, caption
- Button →
button element with text, link, style
- HTML →
code element
- Map CSS classes and inline styles to Bricks settings
- Preserve text content, image URLs, link targets
- Flag any unmappable modules with comment annotations
- Build the Bricks JSON array structure
- Create a duplicate via
respira_create_page_duplicate or respira_create_post_duplicate
- Before writing, take a snapshot with
respira_get_snapshot so the duplicate's pre-write state can be restored if anything goes wrong
- Inject Bricks content via
respira_inject_builder_content with builder=bricks
- Surgical fix pass — if the injected page has validation issues (column widths that collapsed during the row/column-to-container translation, broken parent refs, a misconverted module), do not re-inject the whole page. Locate the specific element with
respira_find_element and correct it with respira_update_element. For repeated fixes across many elements or several pages, batch them with respira_batch_update
- Log the migration result (success, warnings, manual review items)
Phase 4: Post-Migration Verification
- Summarize all migrated pages with status:
- Design tokens registered in Bricks' global styles (token names and counts)
- Clean migrations (no issues)
- Migrations with warnings (flagged items needing review)
- Failed migrations (if any)
- List all manual review items:
- Third-party modules that need manual replacement
- Content sliders or advanced layouts needing Bricks-native rebuilds
- Custom CSS that needs to be added to Bricks element styles
- Beaver Themer layouts that need separate rebuilding in Bricks
- Provide review instructions:
- Where to find duplicates in WordPress admin
- How to preview Bricks pages
- How to delete duplicates if not wanted
Design Tokens
Conversion writes now register the colors and typography they carry as named design tokens in Bricks' own global styles, and the converted pages reference those tokens instead of carrying value copies. When fixing or extending a migrated page, reuse the registered tokens (respira_list_design_tokens shows them) rather than re-inlining raw hex values or font stacks. And say so when you finish: the migration summary should name the tokens that were registered and note that migrated pages reference them.
Safety Model
- Read-only analysis first — full Beaver Builder content audit before any changes
- Explicit user confirmation before creating any duplicates
- Duplicate-first only — never modifies live/published Beaver Builder content
- Never auto-publishes duplicates
- Snapshot before every write —
respira_get_snapshot captures the duplicate's pre-write state, and respira_restore_snapshot rolls it back if an injection goes wrong
- Two explicit rollback paths: restore the snapshot to revert a bad write, or delete the draft duplicates entirely to undo the migration
- Preserves all original Beaver Builder content untouched
Honest Disclaimer
This skill converts Beaver Builder page structures to Bricks format and creates duplicates for review.
It cannot:
- Guarantee pixel-perfect visual parity between builders
- Migrate Beaver Themer layouts automatically
- Convert third-party BB add-on modules to Bricks equivalents
- Replicate BB animations in Bricks interactions
- Replace a thorough manual QA pass on every page
It can:
- Map 75-85% of standard Beaver Builder modules to Bricks elements
- Translate row/column grids to Bricks' modern flexbox containers
- Preserve content, images, links, and layout structure
- Move you to a more modern builder architecture
- Save days of manual rebuild work
- Identify exactly what needs manual attention
Tooling
Core WordPress tools
respira_get_site_context
respira_get_builder_info
respira_list_pages
respira_list_posts
respira_list_plugins
respira_find_builder_targets
respira_extract_builder_content
respira_inject_builder_content
respira_create_page_duplicate
respira_create_post_duplicate
respira_read_page
respira_read_post
Safety and surgical-fix tools
respira_get_snapshot
respira_restore_snapshot
respira_find_element
respira_update_element
respira_batch_update
Telemetry
After run completion, send fire-and-forget usage tracking to:
POST https://www.respira.press/api/skills/track-usage
Include:
skill_slug = migrate-beaver-builder-to-bricks
- site/version context
- duration and success
- pages audited, pages migrated, warnings count
- tools used
Never block user flow on telemetry failure.
Related Skills
- WordPress Site DNA (understand site structure before migrating)
- Technical Debt Audit (clean up before or after migration)
- SEO & AEO Amplifier (verify SEO preservation post-migration)
Built by Respira Team
https://respira.press/skills/migrate-beaver-builder-to-bricks
1---2name: migrate-beaver-builder-to-bricks3description: "Use when the user says 'migrate beaver builder to bricks', 'convert bb to bricks', or 'replace beaver builder with bricks'. Reads the Beaver Builder flat node map, maps each module to its Bricks element, and creates draft duplicates for review."4license: MIT5metadata:6 author: Respira for WordPress7 author_url: https://respira.press8 version: 2.1.09 mcp-server: respira-wordpress10 category: migration11---1213# Migrate Beaver Builder to Bricks1415**Version:** 2.1.016**Updated:** 2026-08-0417**Freshly updated:** v2.1.0 adds design-token awareness: conversion writes now register the colors and typography they carry as named design tokens in Bricks' own global styles, and converted pages reference those tokens instead of carrying value copies. Reuse registered tokens instead of re-inlining raw values, and report the registration in the migration summary.1819Full-site migration from Beaver Builder to Bricks Builder. Audits every Beaver Builder page, maps modules to their Bricks equivalents, builds a migration plan for approval, and executes page-by-page conversion into Bricks' JSON format — all through duplicates so your live site stays untouched. Use this skill whenever someone mentions migrating from Beaver Builder to Bricks, switching from BB to Bricks, converting Beaver Builder pages to Bricks, or replacing Beaver Builder with Bricks.2021## What This Skill Does2223Beaver Builder and Bricks are both visual page builders, but they differ significantly in architecture. Beaver Builder uses a module-based system with rows, columns, and modules stored in `_fl_builder_data`. Bricks uses a more modern, flexbox-first approach with sections, containers, and elements stored as a JSON array in `_bricks_page_content_2`. The migration requires translating BB's row/column grid into Bricks' container model and mapping each module to its Bricks element equivalent.2425This skill reads every Beaver Builder page, extracts the module structure, translates each row/column/module to its Bricks equivalent, and writes the result to duplicate pages in Bricks format — giving you a complete parallel version of your site to review before going live.2627**Handles:**28- Row → Bricks Section mapping29- Column structures → Bricks Container with flex layout30- Text Editor module → Bricks Text / Heading elements31- Photo module → Bricks Image element32- Button module → Bricks Button element33- Video module → Bricks Video element34- HTML module → Bricks Code element35- Heading module → Bricks Heading element36- Separator module → Bricks Divider element37- Icon module → Bricks Icon element38- Call to Action module → Bricks Container + child elements39- Custom CSS classes and inline styles4041## What This Skill Does NOT Do4243- Migrate Beaver Builder's saved rows/modules library — these must be recreated in Bricks44- Convert Beaver Themer layouts (headers, footers, archives) — Bricks templates must be built separately45- Replicate exact Beaver Builder animations/effects — Bricks has its own interaction system46- Migrate third-party Beaver Builder add-on modules (PowerPack, UABB, etc.) — flagged for manual handling47- Convert BB's global rows to Bricks' template system — different architectural concept48- Guarantee pixel-perfect visual parity — different rendering engines produce different output4950## Requirements5152- Respira for WordPress plugin installed and connected53- MCP connection active (desktop or WebMCP)54- Beaver Builder active on the source site55- Bricks Builder installed on the target site (can be the same site)56- Read access to scan Beaver Builder content57- Write access to create duplicates with Bricks content5859## Trigger Phrase6061- "migrate beaver builder to bricks"6263## Alternative Triggers6465- "convert beaver builder to bricks"66- "switch from bb to bricks"67- "move beaver builder pages to bricks"68- "replace beaver builder with bricks"69- "beaver builder to bricks migration"70- "migrate bb to bricks"7172## Builder Technical Context7374**Source: Beaver Builder**75- Content stored in post_meta keys `_fl_builder_data` and `_fl_builder_data_settings`76- Module-based structure with rows → columns → modules hierarchy77- Read via `respira_extract_builder_content` with `builder=beaver` or `builder=beaver-builder`78- Module types: `rich-text`, `photo`, `button`, `heading`, `html`, `video`, `icon`, `separator`, `callout`, `cta`, `numbers`, `content-slider`, etc.7980**Target: Bricks Builder**81- Content stored in post_meta key `_bricks_page_content_2` as a JSON array82- Each element is an object with `id`, `name`, `parent`, `settings`, `children`83- Write via `respira_inject_builder_content` with `builder=bricks`84- Elements: `section`, `container`, `heading`, `text`, `image`, `button`, `video`, `code`, `divider`, `icon`, etc.8586## Execution Workflow8788### Phase 1: Pre-Migration Audit89901. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.912. Detect Beaver Builder presence via `respira_get_builder_info` or `respira_list_plugins`.923. Inventory and scope the source pages first:93 - `respira_find_builder_targets` with `builder=beaver` — a fast, ranked list of every BB-managed page/post before you touch anything94 - Fall back to `respira_list_pages` / `respira_list_posts` + `respira_get_builder_info` to confirm builder per item where needed954. For each BB page, extract content:96 - `respira_extract_builder_content` with `builder=beaver`97 - Catalog: module types used, row/column structures, custom CSS, third-party modules, saved rows/modules985. Produce an **Audit Report**:99 - Total pages/posts using Beaver Builder100 - Module type frequency (how many text editors, photos, buttons, etc.)101 - Column layout patterns (common row structures)102 - Complexity flags (third-party modules, Beaver Themer, custom CSS, animations)103 - Estimated migration difficulty per page (simple / moderate / complex)104105### Phase 2: Migration Plan106107Present a structured migration plan:108109```110## Beaver Builder → Bricks Migration Plan111112### Site Overview113- Total Beaver Builder pages: X114- Simple pages (direct mapping): X115- Moderate pages (some manual review needed): X116- Complex pages (significant manual work): X117118### Module-to-Element Mapping119| BB Module | Bricks Element | Notes |120|---|---|---|121| Row | Section | BB row maps to Bricks section |122| Column | Container | Flex-based layout in Bricks |123| Text Editor | Text / Heading | Content parsed into elements |124| Photo | Image | Direct mapping |125| Button | Button | Direct mapping |126| ... | ... | ... |127128### Migration Order1291. [Page Title] — Simple — estimated 2 min1302. [Page Title] — Moderate — estimated 5 min131...132133### Items Requiring Manual Attention134- [Page X] — PowerPack Tabs module (no direct Bricks equivalent)135- [Page Y] — Content slider (needs Bricks slider setup)136- Beaver Themer layouts — must be rebuilt as Bricks templates137```138139Then ask:140141> Here's the migration plan. Would you like me to:142> 1. Migrate all pages (creates duplicates for review)143> 2. Migrate only simple pages first144> 3. Migrate specific pages you choose145> 4. Just keep this as a reference — no changes146147Wait for explicit confirmation before proceeding.148149### Phase 3: Page-by-Page Migration150151For each approved page:1521531. Extract Beaver Builder content via `respira_extract_builder_content` with `builder=beaver`1542. Map the row/column/module hierarchy to Bricks elements:155 - Rows → Bricks `section` elements156 - Columns → Bricks `container` elements with flex layout settings157 - Text Editor → Parse into `text` and `heading` elements158 - Photo → `image` element with src, alt, caption159 - Button → `button` element with text, link, style160 - HTML → `code` element161 - Map CSS classes and inline styles to Bricks settings162 - Preserve text content, image URLs, link targets163 - Flag any unmappable modules with comment annotations1643. Build the Bricks JSON array structure1654. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`1665. Before writing, take a snapshot with `respira_get_snapshot` so the duplicate's pre-write state can be restored if anything goes wrong1676. Inject Bricks content via `respira_inject_builder_content` with `builder=bricks`1687. Surgical fix pass — if the injected page has validation issues (column widths that collapsed during the row/column-to-container translation, broken parent refs, a misconverted module), do not re-inject the whole page. Locate the specific element with `respira_find_element` and correct it with `respira_update_element`. For repeated fixes across many elements or several pages, batch them with `respira_batch_update`1698. Log the migration result (success, warnings, manual review items)170171### Phase 4: Post-Migration Verification1721731. Summarize all migrated pages with status:174 - Design tokens registered in Bricks' global styles (token names and counts)175 - Clean migrations (no issues)176 - Migrations with warnings (flagged items needing review)177 - Failed migrations (if any)1782. List all manual review items:179 - Third-party modules that need manual replacement180 - Content sliders or advanced layouts needing Bricks-native rebuilds181 - Custom CSS that needs to be added to Bricks element styles182 - Beaver Themer layouts that need separate rebuilding in Bricks1833. Provide review instructions:184 - Where to find duplicates in WordPress admin185 - How to preview Bricks pages186 - How to delete duplicates if not wanted187188## Design Tokens189190Conversion writes now register the colors and typography they carry as named design tokens in Bricks' own global styles, and the converted pages reference those tokens instead of carrying value copies. When fixing or extending a migrated page, reuse the registered tokens (`respira_list_design_tokens` shows them) rather than re-inlining raw hex values or font stacks. And say so when you finish: the migration summary should name the tokens that were registered and note that migrated pages reference them.191192## Safety Model193194- Read-only analysis first — full Beaver Builder content audit before any changes195- Explicit user confirmation before creating any duplicates196- Duplicate-first only — never modifies live/published Beaver Builder content197- Never auto-publishes duplicates198- Snapshot before every write — `respira_get_snapshot` captures the duplicate's pre-write state, and `respira_restore_snapshot` rolls it back if an injection goes wrong199- Two explicit rollback paths: restore the snapshot to revert a bad write, or delete the draft duplicates entirely to undo the migration200- Preserves all original Beaver Builder content untouched201202## Honest Disclaimer203204This skill converts Beaver Builder page structures to Bricks format and creates duplicates for review.205206It cannot:207- Guarantee pixel-perfect visual parity between builders208- Migrate Beaver Themer layouts automatically209- Convert third-party BB add-on modules to Bricks equivalents210- Replicate BB animations in Bricks interactions211- Replace a thorough manual QA pass on every page212213It can:214- Map 75-85% of standard Beaver Builder modules to Bricks elements215- Translate row/column grids to Bricks' modern flexbox containers216- Preserve content, images, links, and layout structure217- Move you to a more modern builder architecture218- Save days of manual rebuild work219- Identify exactly what needs manual attention220221## Tooling222223**Core WordPress tools**224- `respira_get_site_context`225- `respira_get_builder_info`226- `respira_list_pages`227- `respira_list_posts`228- `respira_list_plugins`229- `respira_find_builder_targets`230- `respira_extract_builder_content`231- `respira_inject_builder_content`232- `respira_create_page_duplicate`233- `respira_create_post_duplicate`234- `respira_read_page`235- `respira_read_post`236237**Safety and surgical-fix tools**238- `respira_get_snapshot`239- `respira_restore_snapshot`240- `respira_find_element`241- `respira_update_element`242- `respira_batch_update`243244## Telemetry245246After run completion, send fire-and-forget usage tracking to:247248- `POST https://www.respira.press/api/skills/track-usage`249250Include:251- `skill_slug = migrate-beaver-builder-to-bricks`252- site/version context253- duration and success254- pages audited, pages migrated, warnings count255- tools used256257Never block user flow on telemetry failure.258259## Related Skills260261- WordPress Site DNA (understand site structure before migrating)262- Technical Debt Audit (clean up before or after migration)263- SEO & AEO Amplifier (verify SEO preservation post-migration)264265---266267Built by Respira Team268https://respira.press/skills/migrate-beaver-builder-to-bricks