Migrates WordPress sites from Visual Composer (VCV/WPBakery) to Gutenberg by auditing pages, mapping elements to blocks like vc_row to Group, and converting via duplicates for safe review.
npx claudepluginhub respira-press/agent-skills-wordpressThis skill uses the workspace's default tool permissions.
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...
Converts WPBakery Page Builder pages to native Gutenberg blocks by parsing shortcodes from post_content, mapping elements to core block equivalents, generating a migration plan for approval, and writing clean block markup to target pages.
Generates or edits WordPress Gutenberg blocks with Greenshift/GreenLight plugin. Converts HTML/CSS/JS designs or data/charts to paste-ready blocks for Gutenberg editor, or reverses to vanilla code.
Converts React/HTML/Next.js codebases into pixel-perfect WordPress themes with preserved SEO, dynamic CMS features, and strict UI audits. Use for high-fidelity frontend-to-WP migrations.
Share bugs, ideas, or general feedback.
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.
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.
Handles:
Source: Visual Composer
[vc_row][vc_column][vc_column_text]...[/vc_column_text][/vc_column][/vc_row]wordpress_extract_builder_content with builder=visual-composervc_row, vc_column, vc_column_text, vc_single_image, vc_btn, vc_video, vc_separator, vc_raw_html, vc_empty_space, vc_custom_heading, vc_toggle, vc_tabs, vc_accordion, vc_row_inner, vc_column_inner, etc.Target: Gutenberg (Block Editor)
post_content as HTML with block comment delimiters<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->wordpress_update_page / wordpress_update_post)paragraph, heading, image, buttons, columns, group, html, video, separator, spacer, embed, etc.wordpress_get_site_context. If unavailable, stop and show setup guidance.wordpress_get_builder_info or wordpress_list_plugins.wordpress_list_pages and wordpress_list_posts — identify all contentwordpress_find_builder_targets with builder=visual-composer — find VC-managed pageswordpress_extract_builder_content with builder=visual-composerPresent a structured migration plan:
## Visual Composer → Gutenberg Migration Plan
### Site Overview
- Total Visual Composer pages: X
- Simple pages (direct mapping): X
- Moderate pages (some manual review needed): X
- Complex pages (significant manual work): X
### Element Mapping
| VC Element | Gutenberg Block | Notes |
|---|---|---|
| vc_row | Group | Container mapping |
| vc_column | Columns / Column | Width ratios preserved where possible |
| vc_column_text | Paragraph / Heading | Rich text parsed into blocks |
| vc_single_image | Image | Direct mapping |
| vc_btn | Buttons > Button | Wrapped in container |
| vc_empty_space | Spacer | Height preserved |
| vc_raw_html | Custom HTML | Direct mapping |
| vc_tabs | [MANUAL] | Content migrated, tabs need plugin |
| ... | ... | ... |
### Migration Order
1. [Page Title] — Simple — estimated 2 min
2. [Page Title] — Moderate — estimated 5 min
...
### Items Requiring Manual Attention
- [Page X] — Ultimate Addons carousel (no core equivalent)
- [Page Y] — Theme-specific VC element
- [Page Z] — Custom CSS in Design Options
- VC template library — must be rebuilt in Gutenberg
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.
For each approved page:
wordpress_extract_builder_content with builder=visual-composer<!-- wp:group --> blocks<!-- wp:columns --> with <!-- wp:column --> children (map width attributes)<!-- wp:paragraph --> and <!-- wp:heading --> blocks<!-- wp:image --> with src, alt, caption<!-- wp:buttons --> wrapper with <!-- wp:button --> child<!-- wp:embed --> block with video URL<!-- wp:separator --> block<!-- wp:spacer --> block with height<!-- wp:html --> block<!-- wp:heading --> block with level and alignment<!-- wp:columns --> blocks<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->wordpress_create_page_duplicate or wordpress_create_post_duplicatepost_content with the Gutenberg markup via wordpress_update_page or wordpress_update_postThis skill converts Visual Composer page structures to Gutenberg block markup and creates duplicates for review.
It cannot:
It can:
Core WordPress tools
wordpress_get_site_contextwordpress_get_builder_infowordpress_list_pageswordpress_list_postswordpress_list_pluginswordpress_find_builder_targetswordpress_extract_builder_contentwordpress_create_page_duplicatewordpress_create_post_duplicatewordpress_update_pagewordpress_update_postwordpress_read_pagewordpress_read_postAfter run completion, send fire-and-forget usage tracking to:
POST https://www.respira.press/api/skills/track-usageInclude:
skill_slug = migrate-visual-composer-to-gutenbergNever block user flow on telemetry failure.
Built by Respira Team https://respira.press/skills/migrate-visual-composer-to-gutenberg