**Version:** 2.0.0 **Updated:** 2026-06-30 **Freshly updated:** v2.0.0 weaves in the current Respira safety and precision flow โ `respira_find_builder_targets` to inventory and scope source pages up front, a `respira_get_snapshot` checkpoint before any write, and surgical fixes
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 weaves in the current Respira safety and precision flow โ `respira_find_builder_targets` to inventory and scope source pages up front, a `respira_get_snapshot` checkpoint before any write, and surgical fixes
# Migrate Visual Composer to Gutenberg
**Version:** 2.0.0
**Updated:** 2026-06-30
**Freshly updated:** v2.0.0 weaves in the current Respira safety and precision flow โ `respira_find_builder_targets` to inventory and scope source pages up front, a `respira_get_snapshot` checkpoint before any write, and surgical fixes via `respira_find_element` + `respira_update_element` (and `respira_batch_update` for multi-element or multi-page corrections) instead of rewriting whole pages. Rollback is now explicit (restore the snapshot, delete the draft duplicates). Reflects the current 16 supported builders.
Full-site migration from Visual Composer (WPBakery) to the WordPress block editor (Gutenberg). Audits every Visual Composer page, maps elements to their Gutenberg block equivalents, builds a migration plan for approval, and executes page-by-page conversion into native block markup โ all through duplicates so your live site stays untouched. Use this skill whenever someone mentions migrating from Visual Composer to Gutenberg, switching from WPBakery to blocks, converting Visual Composer pages to the block editor, or moving away from Visual Composer to native WordPress.
## What This Skill Does
Visual Composer (now WPBakery Page Builder in its classic form, and Visual Composer Website Builder in its newer form) stores content in post_meta using VCV's custom JSON format. It has been one of the most widely-used WordPress page builders, bundled with thousands of themes. Gutenberg uses a flat block structure in `post_content` with HTML comment delimiters. The migration is moderate: Visual Composer's row/column grid and standard elements translate to Gutenberg, but the ecosystem of third-party VC add-ons and theme-bundled custom elements is vast and varied.
This skill reads every Visual Composer page, extracts the builder content, translates each element to its Gutenberg block equivalent, and writes the result to duplicate pages in native block markup โ giving you a complete parallel version of your site to review before going live.
- Flag unmappable elements with `<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->`
3. Assemble the complete Gutenberg block markup
4. Take a `respira_get_snapshot` checkpoint of the target before any write, so the page can be restored exactly if the conversion needs unwinding
5. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
6. Write the Gutenberg markup into the duplicate's `post_content` via `respira_update_page` or `respira_update_post`
7. Surgical fixes (not a rewrite): when a single block lands wrong โ a heading, a button label, a spacing value โ locate it with `respira_find_element` and correct it in place with `respira_update_element`. For repeated corrections across many blocks or several migrated pages, batch them with `respira_batch_update` rather than regenerating and re-writing whole pages.
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:
- Third-party VC add-on elements that need manual replacement
- Tabs/Accordions that may benefit from a block plugin
- Design Options CSS that needs to be moved to theme/Additional CSS
- Parallax backgrounds that need alternative implementation
- VC template library items to rebuild
3. Provide review instructions:
- Where to find duplicates in WordPress admin
- How to preview pages in the block editor
- How to delete duplicates if not wanted
## Safety Model
- Read-only analysis first โ full Visual Composer content audit before any changes
- Explicit user confirmation before creating any duplicates
- Snapshot before every write โ `respira_get_snapshot` captures the target so it can be returned to its exact prior state
- Duplicate-first only โ never modifies live/published Visual Composer content
- Never auto-publishes duplicates
- Explicit rollback path โ restore the snapshot via `respira_restore_snapshot`, or delete the draft duplicates, to undo a migration cleanly
- Preserves all original Visual Composer content untouched
## Honest Disclaimer
This skill converts Visual Composer page structures to Gutenberg block markup and creates duplicates for review.
It cannot:
- Guarantee pixel-perfect visual parity between builders
- Migrate third-party VC add-on elements automatically
- Convert Design Options CSS to Gutenberg styles
- Handle the newer Visual Composer Website Builder format
- Replace a thorough manual QA pass on every page
It can:
- Map 70-85% of core Visual Composer elements to Gutenberg blocks
- Preserve content, images, links, and basic layout structure
- Handle nested row/column structures
- Move you off a legacy builder dependency to native WordPress
- 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_get_snapshot`
- `respira_restore_snapshot`
- `respira_find_element`
- `respira_update_element`
- `respira_batch_update`
- `respira_create_page_duplicate`
- `respira_create_post_duplicate`
- `respira_update_page`
- `respira_update_post`
- `respira_read_page`
- `respira_read_post`
## Telemetry
After run completion, send fire-and-forget usage tracking to: