migrate-visual-composer-to-gutenberg — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited migrate-visual-composer-to-gutenberg (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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 GutenbergThen ask:
Here's the migration plan. Would you like me to: 1. Migrate all pages (creates duplicates for review) 2. Migrate only simple pages first 3. Migrate specific pages you choose 4. 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
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.