**Version:** 2.0.0 **Updated:** 2026-06-30 **Freshly updated:** v2.0.0 wires in current Respira safety and precision. Pre-migration now inventories source pages with `respira_find_builder_targets`. Every write is preceded by a `respira_get_snapshot`, and the existing
Installs just this skill. Get the whole plugin for auto-invocation.
โก How it fires
How this skill gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/migrate-oxygen-to-bricks
๐๏ธ Context preview
The summary Claude sees to decide when to auto-load this skill.
**Version:** 2.0.0 **Updated:** 2026-06-30 **Freshly updated:** v2.0.0 wires in current Respira safety and precision. Pre-migration now inventories source pages with `respira_find_builder_targets`. Every write is preceded by a `respira_get_snapshot`, and the existing
# Migrate Oxygen to Bricks
**Version:** 2.0.0
**Updated:** 2026-06-30
**Freshly updated:** v2.0.0 wires in current Respira safety and precision. Pre-migration now inventories source pages with `respira_find_builder_targets`. Every write is preceded by a `respira_get_snapshot`, and the existing draft-duplicate path is kept. After the first `respira_inject_builder_content`, validation issues (collapsed flex/column widths, broken parent refs, a misconverted component) are corrected surgically with `respira_find_element` + `respira_update_element` (and `respira_batch_update` for multi-element or multi-page fixes) instead of re-injecting whole pages. Snapshot restore and draft deletion are now explicit rollback paths. Reflects the current 16 supported builders.
Full-site migration from Oxygen Builder to Bricks Builder. Audits every Oxygen-built page, maps components 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 Oxygen to Bricks, switching from Oxygen to Bricks, converting Oxygen pages to Bricks, or replacing Oxygen with Bricks Builder.
## What This Skill Does
Oxygen and Bricks are both modern, developer-oriented builders with similar mental models โ containers, sections, flexbox layouts, dynamic data. This makes Oxygen-to-Bricks one of the most straightforward builder migrations. The structural concepts translate almost 1:1, but the underlying data formats are completely different (Oxygen's JSON shortcodes in `ct_builder_shortcodes` vs. Bricks' JSON array in `_bricks_page_content_2`), so content must be extracted, mapped, and re-encoded.
This skill reads every Oxygen page, extracts the builder content, translates each component 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.
- Flag any unmappable components (custom PHP, conditions) with inline comments
3. Build the Bricks JSON array structure
4. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
5. Before writing, take a snapshot with `respira_get_snapshot` so the duplicate's pre-write state can be restored if anything goes wrong
6. Inject Bricks content via `respira_inject_builder_content` with `builder=bricks`
7. Surgical fix pass โ if the injected page has validation issues (collapsed flex/column widths, broken parent refs, a misconverted component), 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`
8. Log the migration result (success, warnings, manual review items)
### Phase 4: Post-Migration Verification
1. Summarize all migrated pages with status:
- Clean migrations (no issues)
- Migrations with warnings (flagged items needing review)
- Failed migrations (if any)
2. List all manual review items:
- Custom PHP code blocks that need porting
- Dynamic data references that need reconnecting
- Oxygen conditions that need rebuilding in Bricks
3. Provide review instructions:
- Where to find duplicates in WordPress admin
- How to preview Bricks pages
- How to delete duplicates if not wanted
## Safety Model
- Read-only analysis first โ full Oxygen content audit before any changes
- Explicit user confirmation before creating any duplicates
- Duplicate-first only โ never modifies live/published Oxygen 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 Oxygen content untouched
## Honest Disclaimer
This skill converts Oxygen page structures to Bricks format and creates duplicates for review.
It cannot:
- Guarantee pixel-perfect visual parity between builders
- Migrate Oxygen Global Styles or conditions automatically
- Convert custom PHP code blocks to Bricks equivalents
- Handle WooCommerce template migrations
- Replace a thorough manual QA pass on every page
It can:
- Map 80-90% of standard Oxygen components to Bricks equivalents
- Preserve content, images, links, and layout structure
- 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: