@respira/wordpress-mcp-server 7.3.0 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/acf-tools.d.ts +0 -10
  2. package/dist/acf-tools.d.ts.map +1 -1
  3. package/dist/acf-tools.js +0 -15
  4. package/dist/acf-tools.js.map +1 -1
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +31 -36
  7. package/dist/config.js.map +1 -1
  8. package/dist/server.d.ts +0 -47
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +404 -462
  11. package/dist/server.js.map +1 -1
  12. package/dist/wordpress-client.d.ts +26 -29
  13. package/dist/wordpress-client.d.ts.map +1 -1
  14. package/dist/wordpress-client.js +115 -148
  15. package/dist/wordpress-client.js.map +1 -1
  16. package/package.json +2 -2
  17. package/skills/activity-report-composer/README.md +38 -0
  18. package/skills/activity-report-composer/SKILL.md +167 -0
  19. package/skills/activity-report-composer/metadata.json +42 -0
  20. package/skills/brand-voice-synthesizer/README.md +43 -0
  21. package/skills/brand-voice-synthesizer/SKILL.md +259 -0
  22. package/skills/brand-voice-synthesizer/metadata.json +46 -0
  23. package/skills/build-oxygen6-page/SKILL.md +59 -0
  24. package/skills/conversion-audit/README.md +37 -0
  25. package/skills/conversion-audit/SKILL.md +185 -0
  26. package/skills/conversion-audit/metadata.json +46 -0
  27. package/skills/custom-post-type-architect/README.md +34 -0
  28. package/skills/custom-post-type-architect/SKILL.md +158 -0
  29. package/skills/custom-post-type-architect/metadata.json +39 -0
  30. package/skills/design-system-synthesizer/README.md +46 -0
  31. package/skills/design-system-synthesizer/SKILL.md +395 -0
  32. package/skills/design-system-synthesizer/metadata.json +57 -0
  33. package/skills/figma-to-elementor/SKILL.md +204 -0
  34. package/skills/html-to-bricks/README.md +43 -0
  35. package/skills/html-to-bricks/SKILL.md +135 -0
  36. package/skills/html-to-bricks/metadata.json +41 -0
  37. package/skills/internal-link-builder/SKILL.md +258 -0
  38. package/skills/internal-link-builder/metadata.json +46 -0
  39. package/skills/migrate-beaver-builder-to-bricks/SKILL.md +251 -0
  40. package/skills/migrate-beaver-builder-to-gutenberg/SKILL.md +248 -0
  41. package/skills/migrate-brizy-to-gutenberg/SKILL.md +248 -0
  42. package/skills/migrate-divi-to-breakdance/SKILL.md +312 -0
  43. package/skills/migrate-divi-to-bricks/SKILL.md +321 -0
  44. package/skills/migrate-divi-to-gutenberg/SKILL.md +328 -0
  45. package/skills/migrate-elementor-to-breakdance/SKILL.md +287 -0
  46. package/skills/migrate-elementor-to-bricks/SKILL.md +289 -0
  47. package/skills/migrate-elementor-to-gutenberg/SKILL.md +327 -0
  48. package/skills/migrate-elementor-to-oxygen/SKILL.md +300 -0
  49. package/skills/migrate-oxygen-to-breakdance/SKILL.md +235 -0
  50. package/skills/migrate-oxygen-to-bricks/SKILL.md +237 -0
  51. package/skills/migrate-thrive-architect-to-gutenberg/SKILL.md +257 -0
  52. package/skills/migrate-visual-composer-to-gutenberg/SKILL.md +261 -0
  53. package/skills/migrate-wpbakery-to-bricks/SKILL.md +336 -0
  54. package/skills/migrate-wpbakery-to-gutenberg/SKILL.md +345 -0
  55. package/skills/mobile-experience-report/SKILL.md +719 -0
  56. package/skills/mobile-experience-report/telemetry.ts +137 -0
  57. package/skills/page-template-library/README.md +41 -0
  58. package/skills/page-template-library/SKILL.md +175 -0
  59. package/skills/page-template-library/metadata.json +44 -0
  60. package/skills/prime-the-agent/README.md +49 -0
  61. package/skills/prime-the-agent/SKILL.md +225 -0
  62. package/skills/prime-the-agent/metadata.json +46 -0
  63. package/skills/respira-setup-assistant/SKILL.md +386 -0
  64. package/skills/respira-setup-assistant/metadata.json +36 -0
  65. package/skills/seo-aeo-amplifier/README.md +61 -0
  66. package/skills/seo-aeo-amplifier/SKILL.md +277 -0
  67. package/skills/seo-aeo-amplifier/metadata.json +62 -0
  68. package/skills/stale-content-detector/README.md +41 -0
  69. package/skills/stale-content-detector/SKILL.md +156 -0
  70. package/skills/stale-content-detector/metadata.json +43 -0
  71. package/skills/technical-debt-audit/SKILL.md +691 -0
  72. package/skills/technical-debt-audit/telemetry.ts +142 -0
  73. package/skills/woocommerce-health-check/SKILL.md +719 -0
  74. package/skills/woocommerce-health-check/telemetry.ts +137 -0
  75. package/skills/wordpress-ai-image-optimizer/README.md +49 -0
  76. package/skills/wordpress-ai-image-optimizer/SKILL.md +232 -0
  77. package/skills/wordpress-ai-image-optimizer/metadata.json +63 -0
  78. package/skills/wordpress-site-dna/README.md +81 -0
  79. package/skills/wordpress-site-dna/SKILL.md +669 -0
  80. package/skills/wordpress-site-dna/telemetry.ts +137 -0
  81. package/dist/__tests__/acf-tool-routing.test.d.ts +0 -2
  82. package/dist/__tests__/acf-tool-routing.test.d.ts.map +0 -1
  83. package/dist/__tests__/acf-tool-routing.test.js +0 -37
  84. package/dist/__tests__/acf-tool-routing.test.js.map +0 -1
  85. package/dist/__tests__/cowork-bootstrap.test.d.ts +0 -2
  86. package/dist/__tests__/cowork-bootstrap.test.d.ts.map +0 -1
  87. package/dist/__tests__/cowork-bootstrap.test.js +0 -61
  88. package/dist/__tests__/cowork-bootstrap.test.js.map +0 -1
@@ -0,0 +1,257 @@
1
+ # Migrate Thrive Architect to Gutenberg
2
+
3
+ **Version:** 2.0.0
4
+ **Updated:** 2026-06-30
5
+ **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.
6
+
7
+ Full-site migration from Thrive Architect to the WordPress block editor (Gutenberg). Audits every Thrive-built 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 Thrive Architect to Gutenberg, switching from Thrive to blocks, converting Thrive pages to the block editor, or moving away from Thrive Architect to native WordPress.
8
+
9
+ ## What This Skill Does
10
+
11
+ Thrive Architect is a conversion-focused page builder with a strong emphasis on marketing elements — lead generation forms, countdown timers, testimonials, and content reveal animations. It stores content in its own custom format. Gutenberg uses a flat block structure in `post_content` with HTML comment delimiters. The migration is moderate in complexity: standard content elements translate well, but Thrive's marketing-specific components have no direct Gutenberg equivalents and require alternative solutions.
12
+
13
+ This skill reads every Thrive Architect 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.
14
+
15
+ **Handles:**
16
+ - Content Box → Group block mapping
17
+ - Column layouts → Columns/Column block mapping
18
+ - Text elements → Paragraph/Heading blocks
19
+ - Image elements → Image block
20
+ - Button elements → Buttons/Button block
21
+ - Video elements → Video/Embed block
22
+ - Divider → Separator block
23
+ - Custom HTML/code content
24
+ - Background sections → Group block with background styles
25
+ - Styled lists → List block
26
+ - Blockquote/Testimonial → Quote block (basic mapping)
27
+
28
+ ## What This Skill Does NOT Do
29
+
30
+ - Migrate Thrive Leads opt-in forms — a separate email marketing/form solution is needed
31
+ - Convert Thrive Ultimatum countdown timers — no native Gutenberg equivalent
32
+ - Replicate Thrive's content reveal (click-to-expand) functionality
33
+ - Migrate Thrive Quiz Builder or Thrive Apprentice integrations
34
+ - Convert Thrive-specific A/B test variants — flagged for reference only
35
+ - Preserve Thrive's scroll-triggered animations — Gutenberg has limited animation support
36
+ - Migrate Thrive landing page templates — must be rebuilt from the Gutenberg block structure
37
+ - Guarantee pixel-perfect visual parity — different rendering approaches
38
+
39
+ ## Requirements
40
+
41
+ - Respira for WordPress plugin installed and connected
42
+ - MCP connection active (desktop or WebMCP)
43
+ - Thrive Architect active on the source site
44
+ - Read access to scan Thrive content
45
+ - Write access to create duplicates with Gutenberg content
46
+
47
+ ## Trigger Phrase
48
+
49
+ - "migrate thrive architect to gutenberg"
50
+
51
+ ## Alternative Triggers
52
+
53
+ - "convert thrive to blocks"
54
+ - "switch from thrive architect to gutenberg"
55
+ - "move thrive pages to block editor"
56
+ - "replace thrive architect with gutenberg"
57
+ - "thrive architect to wordpress blocks"
58
+ - "migrate thrive to native wordpress"
59
+
60
+ ## Builder Technical Context
61
+
62
+ **Source: Thrive Architect**
63
+ - Content stored via Thrive's custom format in post_meta
64
+ - Conversion-focused component library with marketing elements
65
+ - Read via `respira_extract_builder_content` with `builder=thrive`
66
+ - Components: content boxes, columns, text, image, button, video, lead generation, countdown, testimonial, styled list, toggle, tabs, etc.
67
+
68
+ **Target: Gutenberg (Block Editor)**
69
+ - Content stored in `post_content` as HTML with block comment delimiters
70
+ - Format: `<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->`
71
+ - Write via standard WordPress content tools (`respira_update_page` / `respira_update_post`)
72
+ - Core blocks: `paragraph`, `heading`, `image`, `buttons`, `columns`, `group`, `html`, `video`, `separator`, `quote`, `list`, `embed`, etc.
73
+
74
+ ## Execution Workflow
75
+
76
+ ### Phase 1: Pre-Migration Audit
77
+
78
+ 1. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.
79
+ 2. Detect Thrive Architect presence via `respira_get_builder_info` or `respira_list_plugins`.
80
+ 3. Inventory all Thrive-built content:
81
+ - `respira_list_pages` and `respira_list_posts` — identify all content
82
+ - `respira_find_builder_targets` with `builder=thrive` — find Thrive-managed pages
83
+ 4. For each Thrive page, extract content:
84
+ - `respira_extract_builder_content` with `builder=thrive`
85
+ - Catalog: element types used, marketing components (forms, countdowns, testimonials), A/B test variants, custom CSS
86
+ 5. Produce an **Audit Report**:
87
+ - Total pages/posts using Thrive Architect
88
+ - Element type frequency (how many content boxes, text blocks, images, etc.)
89
+ - Marketing component inventory (lead gen forms, countdowns, quizzes)
90
+ - Complexity flags (Thrive Leads integration, A/B tests, landing pages, Thrive Suite dependencies)
91
+ - Estimated migration difficulty per page (simple / moderate / complex)
92
+
93
+ ### Phase 2: Migration Plan
94
+
95
+ Present a structured migration plan:
96
+
97
+ ```
98
+ ## Thrive Architect → Gutenberg Migration Plan
99
+
100
+ ### Site Overview
101
+ - Total Thrive pages: X
102
+ - Simple pages (direct mapping): X
103
+ - Moderate pages (some manual review needed): X
104
+ - Complex pages (significant manual work): X
105
+
106
+ ### Element Mapping
107
+ | Thrive Element | Gutenberg Block | Notes |
108
+ |---|---|---|
109
+ | Content Box | Group | Container mapping |
110
+ | Columns | Columns / Column | Layout structure |
111
+ | Text | Paragraph / Heading | Content parsed into blocks |
112
+ | Image | Image | Direct mapping |
113
+ | Button | Buttons > Button | Wrapped in container |
114
+ | Lead Gen Form | [MANUAL] | Needs form plugin replacement |
115
+ | Countdown | [MANUAL] | No native equivalent |
116
+ | ... | ... | ... |
117
+
118
+ ### Migration Order
119
+ 1. [Page Title] — Simple — estimated 2 min
120
+ 2. [Page Title] — Moderate — estimated 5 min
121
+ ...
122
+
123
+ ### Items Requiring Manual Attention
124
+ - [Page X] — Thrive Leads form (needs replacement with form plugin)
125
+ - [Page Y] — Countdown timer (needs plugin or removal)
126
+ - [Page Z] — A/B test variant (winning variant migrated, others documented)
127
+ - Landing page templates — must be rebuilt in Gutenberg
128
+ ```
129
+
130
+ Then ask:
131
+
132
+ > Here's the migration plan. Would you like me to:
133
+ > 1. Migrate all pages (creates duplicates for review)
134
+ > 2. Migrate only simple pages first
135
+ > 3. Migrate specific pages you choose
136
+ > 4. Just keep this as a reference — no changes
137
+
138
+ Wait for explicit confirmation before proceeding.
139
+
140
+ ### Phase 3: Page-by-Page Migration
141
+
142
+ For each approved page:
143
+
144
+ 1. Extract Thrive content via `respira_extract_builder_content` with `builder=thrive`
145
+ 2. Map each Thrive element to Gutenberg blocks:
146
+ - Content Boxes → `<!-- wp:group -->` blocks
147
+ - Columns → `<!-- wp:columns -->` with `<!-- wp:column -->` children
148
+ - Text → Parse into `<!-- wp:paragraph -->` and `<!-- wp:heading -->` blocks
149
+ - Image → `<!-- wp:image -->` with src, alt, caption
150
+ - Button → `<!-- wp:buttons -->` wrapper with `<!-- wp:button -->` child
151
+ - Video → `<!-- wp:video -->` or `<!-- wp:embed -->` block
152
+ - Divider → `<!-- wp:separator -->` block
153
+ - Testimonial → `<!-- wp:quote -->` block (basic mapping)
154
+ - Styled List → `<!-- wp:list -->` block
155
+ - Custom HTML → `<!-- wp:html -->` block
156
+ - Preserve text content, image URLs, link targets
157
+ - Flag marketing components with `<!-- wp:paragraph --><p>[MIGRATION NOTE: Thrive Lead Gen form was here — replace with form plugin shortcode]</p><!-- /wp:paragraph -->`
158
+ 3. Assemble the complete Gutenberg block markup
159
+ 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
160
+ 5. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
161
+ 6. Write the Gutenberg markup into the duplicate's `post_content` via `respira_update_page` or `respira_update_post`
162
+ 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.
163
+ 8. Log the migration result (success, warnings, manual review items)
164
+
165
+ ### Phase 4: Post-Migration Verification
166
+
167
+ 1. Summarize all migrated pages with status:
168
+ - Clean migrations (no issues)
169
+ - Migrations with warnings (flagged items needing review)
170
+ - Failed migrations (if any)
171
+ 2. List all manual review items:
172
+ - Lead generation forms that need a replacement plugin (WPForms, Gravity Forms, etc.)
173
+ - Countdown timers that need a countdown plugin or removal
174
+ - Testimonials that may benefit from a testimonial block plugin
175
+ - A/B test data to document before deactivating Thrive
176
+ - Landing pages that need fresh Gutenberg design
177
+ 3. Provide review instructions:
178
+ - Where to find duplicates in WordPress admin
179
+ - How to preview pages in the block editor
180
+ - How to delete duplicates if not wanted
181
+
182
+ ## Safety Model
183
+
184
+ - Read-only analysis first — full Thrive Architect content audit before any changes
185
+ - Explicit user confirmation before creating any duplicates
186
+ - Snapshot before every write — `respira_get_snapshot` captures the target so it can be returned to its exact prior state
187
+ - Duplicate-first only — never modifies live/published Thrive content
188
+ - Never auto-publishes duplicates
189
+ - Explicit rollback path — restore the snapshot via `respira_restore_snapshot`, or delete the draft duplicates, to undo a migration cleanly
190
+ - Preserves all original Thrive Architect content untouched
191
+
192
+ ## Honest Disclaimer
193
+
194
+ This skill converts Thrive Architect page structures to Gutenberg block markup and creates duplicates for review.
195
+
196
+ It cannot:
197
+ - Guarantee pixel-perfect visual parity between builders
198
+ - Migrate Thrive Leads forms or countdown timers automatically
199
+ - Convert A/B test configurations
200
+ - Replicate Thrive's marketing-specific animations and interactions
201
+ - Replace a thorough manual QA pass on every page
202
+
203
+ It can:
204
+ - Map 60-75% of standard Thrive elements to core Gutenberg blocks
205
+ - Preserve content, images, links, and basic layout structure
206
+ - Clearly flag every marketing component that needs manual replacement
207
+ - Move you off a third-party builder dependency to native WordPress
208
+ - Save days of manual rebuild work
209
+ - Identify exactly what needs manual attention
210
+
211
+ ## Tooling
212
+
213
+ **Core WordPress tools**
214
+ - `respira_get_site_context`
215
+ - `respira_get_builder_info`
216
+ - `respira_list_pages`
217
+ - `respira_list_posts`
218
+ - `respira_list_plugins`
219
+ - `respira_find_builder_targets`
220
+ - `respira_extract_builder_content`
221
+ - `respira_get_snapshot`
222
+ - `respira_restore_snapshot`
223
+ - `respira_find_element`
224
+ - `respira_update_element`
225
+ - `respira_batch_update`
226
+ - `respira_create_page_duplicate`
227
+ - `respira_create_post_duplicate`
228
+ - `respira_update_page`
229
+ - `respira_update_post`
230
+ - `respira_read_page`
231
+ - `respira_read_post`
232
+
233
+ ## Telemetry
234
+
235
+ After run completion, send fire-and-forget usage tracking to:
236
+
237
+ - `POST https://www.respira.press/api/skills/track-usage`
238
+
239
+ Include:
240
+ - `skill_slug = migrate-thrive-architect-to-gutenberg`
241
+ - site/version context
242
+ - duration and success
243
+ - pages audited, pages migrated, warnings count
244
+ - tools used
245
+
246
+ Never block user flow on telemetry failure.
247
+
248
+ ## Related Skills
249
+
250
+ - WordPress Site DNA (understand site structure before migrating)
251
+ - Technical Debt Audit (clean up before or after migration)
252
+ - SEO & AEO Amplifier (verify SEO preservation post-migration)
253
+
254
+ ---
255
+
256
+ Built by Respira Team
257
+ https://respira.press/skills/migrate-thrive-architect-to-gutenberg
@@ -0,0 +1,261 @@
1
+ # Migrate Visual Composer to Gutenberg
2
+
3
+ **Version:** 2.0.0
4
+ **Updated:** 2026-06-30
5
+ **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.
6
+
7
+ 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.
8
+
9
+ ## What This Skill Does
10
+
11
+ 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.
12
+
13
+ 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.
14
+
15
+ **Handles:**
16
+ - vc_row → Group block mapping
17
+ - vc_column → Columns/Column block mapping
18
+ - vc_column_text → Paragraph/Heading blocks
19
+ - vc_single_image → Image block
20
+ - vc_btn / vc_button → Buttons/Button block
21
+ - vc_video → Video/Embed block
22
+ - vc_separator / vc_text_separator → Separator block
23
+ - vc_raw_html → Custom HTML block
24
+ - vc_empty_space → Spacer block
25
+ - vc_custom_heading → Heading block
26
+ - vc_row_inner / vc_column_inner → nested Columns blocks
27
+ - vc_toggle (FAQ-style) → basic heading + paragraph (flagged for Details block)
28
+ - vc_tabs / vc_accordion → basic content fallback (flagged for manual enhancement)
29
+
30
+ ## What This Skill Does NOT Do
31
+
32
+ - Migrate Visual Composer's Design Options (box shadows, borders, gradients) 1:1 — Gutenberg has different styling capabilities
33
+ - Convert third-party VC add-on elements (Ultimate Addons, Starter Sites, theme-specific elements) — flagged for manual handling
34
+ - Migrate Visual Composer's template library — must be rebuilt in Gutenberg
35
+ - Convert WPBakery's frontend editor custom CSS — must be moved to theme/Additional CSS
36
+ - Handle the newer Visual Composer Website Builder (vcwb) — this skill targets the classic VCV/WPBakery format
37
+ - Replicate VC's parallax backgrounds or scroll effects — Gutenberg has limited support
38
+ - Guarantee pixel-perfect visual parity — different rendering approaches
39
+
40
+ ## Requirements
41
+
42
+ - Respira for WordPress plugin installed and connected
43
+ - MCP connection active (desktop or WebMCP)
44
+ - Visual Composer / WPBakery active on the source site
45
+ - Read access to scan Visual Composer content
46
+ - Write access to create duplicates with Gutenberg content
47
+
48
+ ## Trigger Phrase
49
+
50
+ - "migrate visual composer to gutenberg"
51
+
52
+ ## Alternative Triggers
53
+
54
+ - "convert visual composer to blocks"
55
+ - "switch from wpbakery to gutenberg"
56
+ - "move visual composer to block editor"
57
+ - "replace wpbakery with gutenberg"
58
+ - "visual composer to wordpress blocks"
59
+ - "migrate wpbakery to native wordpress"
60
+ - "convert vc to gutenberg"
61
+
62
+ ## Builder Technical Context
63
+
64
+ **Source: Visual Composer**
65
+ - Content stored in post_meta using VCV's custom JSON format
66
+ - Shortcode-based structure in classic mode: `[vc_row][vc_column][vc_column_text]...[/vc_column_text][/vc_column][/vc_row]`
67
+ - Read via `respira_extract_builder_content` with `builder=visual-composer`
68
+ - Elements: `vc_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.
69
+
70
+ **Target: Gutenberg (Block Editor)**
71
+ - Content stored in `post_content` as HTML with block comment delimiters
72
+ - Format: `<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->`
73
+ - Write via standard WordPress content tools (`respira_update_page` / `respira_update_post`)
74
+ - Core blocks: `paragraph`, `heading`, `image`, `buttons`, `columns`, `group`, `html`, `video`, `separator`, `spacer`, `embed`, etc.
75
+
76
+ ## Execution Workflow
77
+
78
+ ### Phase 1: Pre-Migration Audit
79
+
80
+ 1. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.
81
+ 2. Detect Visual Composer presence via `respira_get_builder_info` or `respira_list_plugins`.
82
+ 3. Inventory all Visual Composer content:
83
+ - `respira_list_pages` and `respira_list_posts` — identify all content
84
+ - `respira_find_builder_targets` with `builder=visual-composer` — find VC-managed pages
85
+ 4. For each VC page, extract content:
86
+ - `respira_extract_builder_content` with `builder=visual-composer`
87
+ - Catalog: element types used, nesting depth, third-party elements, Design Options usage, custom CSS
88
+ 5. Produce an **Audit Report**:
89
+ - Total pages/posts using Visual Composer
90
+ - Element type frequency (how many rows, columns, text blocks, images, etc.)
91
+ - Third-party element inventory (elements not in core VC)
92
+ - Complexity flags (nested rows, custom CSS, parallax, third-party add-ons)
93
+ - Estimated migration difficulty per page (simple / moderate / complex)
94
+
95
+ ### Phase 2: Migration Plan
96
+
97
+ Present a structured migration plan:
98
+
99
+ ```
100
+ ## Visual Composer → Gutenberg Migration Plan
101
+
102
+ ### Site Overview
103
+ - Total Visual Composer pages: X
104
+ - Simple pages (direct mapping): X
105
+ - Moderate pages (some manual review needed): X
106
+ - Complex pages (significant manual work): X
107
+
108
+ ### Element Mapping
109
+ | VC Element | Gutenberg Block | Notes |
110
+ |---|---|---|
111
+ | vc_row | Group | Container mapping |
112
+ | vc_column | Columns / Column | Width ratios preserved where possible |
113
+ | vc_column_text | Paragraph / Heading | Rich text parsed into blocks |
114
+ | vc_single_image | Image | Direct mapping |
115
+ | vc_btn | Buttons > Button | Wrapped in container |
116
+ | vc_empty_space | Spacer | Height preserved |
117
+ | vc_raw_html | Custom HTML | Direct mapping |
118
+ | vc_tabs | [MANUAL] | Content migrated, tabs need plugin |
119
+ | ... | ... | ... |
120
+
121
+ ### Migration Order
122
+ 1. [Page Title] — Simple — estimated 2 min
123
+ 2. [Page Title] — Moderate — estimated 5 min
124
+ ...
125
+
126
+ ### Items Requiring Manual Attention
127
+ - [Page X] — Ultimate Addons carousel (no core equivalent)
128
+ - [Page Y] — Theme-specific VC element
129
+ - [Page Z] — Custom CSS in Design Options
130
+ - VC template library — must be rebuilt in Gutenberg
131
+ ```
132
+
133
+ Then ask:
134
+
135
+ > Here's the migration plan. Would you like me to:
136
+ > 1. Migrate all pages (creates duplicates for review)
137
+ > 2. Migrate only simple pages first
138
+ > 3. Migrate specific pages you choose
139
+ > 4. Just keep this as a reference — no changes
140
+
141
+ Wait for explicit confirmation before proceeding.
142
+
143
+ ### Phase 3: Page-by-Page Migration
144
+
145
+ For each approved page:
146
+
147
+ 1. Extract Visual Composer content via `respira_extract_builder_content` with `builder=visual-composer`
148
+ 2. Map each VC element to Gutenberg blocks:
149
+ - vc_row → `<!-- wp:group -->` blocks
150
+ - vc_column → `<!-- wp:columns -->` with `<!-- wp:column -->` children (map width attributes)
151
+ - vc_column_text → Parse rich text into `<!-- wp:paragraph -->` and `<!-- wp:heading -->` blocks
152
+ - vc_single_image → `<!-- wp:image -->` with src, alt, caption
153
+ - vc_btn → `<!-- wp:buttons -->` wrapper with `<!-- wp:button -->` child
154
+ - vc_video → `<!-- wp:embed -->` block with video URL
155
+ - vc_separator → `<!-- wp:separator -->` block
156
+ - vc_empty_space → `<!-- wp:spacer -->` block with height
157
+ - vc_raw_html → `<!-- wp:html -->` block
158
+ - vc_custom_heading → `<!-- wp:heading -->` block with level and alignment
159
+ - vc_row_inner/vc_column_inner → nested `<!-- wp:columns -->` blocks
160
+ - Preserve text content, image URLs, link targets
161
+ - Flag unmappable elements with `<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->`
162
+ 3. Assemble the complete Gutenberg block markup
163
+ 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
164
+ 5. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
165
+ 6. Write the Gutenberg markup into the duplicate's `post_content` via `respira_update_page` or `respira_update_post`
166
+ 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.
167
+ 8. Log the migration result (success, warnings, manual review items)
168
+
169
+ ### Phase 4: Post-Migration Verification
170
+
171
+ 1. Summarize all migrated pages with status:
172
+ - Clean migrations (no issues)
173
+ - Migrations with warnings (flagged items needing review)
174
+ - Failed migrations (if any)
175
+ 2. List all manual review items:
176
+ - Third-party VC add-on elements that need manual replacement
177
+ - Tabs/Accordions that may benefit from a block plugin
178
+ - Design Options CSS that needs to be moved to theme/Additional CSS
179
+ - Parallax backgrounds that need alternative implementation
180
+ - VC template library items to rebuild
181
+ 3. Provide review instructions:
182
+ - Where to find duplicates in WordPress admin
183
+ - How to preview pages in the block editor
184
+ - How to delete duplicates if not wanted
185
+
186
+ ## Safety Model
187
+
188
+ - Read-only analysis first — full Visual Composer content audit before any changes
189
+ - Explicit user confirmation before creating any duplicates
190
+ - Snapshot before every write — `respira_get_snapshot` captures the target so it can be returned to its exact prior state
191
+ - Duplicate-first only — never modifies live/published Visual Composer content
192
+ - Never auto-publishes duplicates
193
+ - Explicit rollback path — restore the snapshot via `respira_restore_snapshot`, or delete the draft duplicates, to undo a migration cleanly
194
+ - Preserves all original Visual Composer content untouched
195
+
196
+ ## Honest Disclaimer
197
+
198
+ This skill converts Visual Composer page structures to Gutenberg block markup and creates duplicates for review.
199
+
200
+ It cannot:
201
+ - Guarantee pixel-perfect visual parity between builders
202
+ - Migrate third-party VC add-on elements automatically
203
+ - Convert Design Options CSS to Gutenberg styles
204
+ - Handle the newer Visual Composer Website Builder format
205
+ - Replace a thorough manual QA pass on every page
206
+
207
+ It can:
208
+ - Map 70-85% of core Visual Composer elements to Gutenberg blocks
209
+ - Preserve content, images, links, and basic layout structure
210
+ - Handle nested row/column structures
211
+ - Move you off a legacy builder dependency to native WordPress
212
+ - Save days of manual rebuild work
213
+ - Identify exactly what needs manual attention
214
+
215
+ ## Tooling
216
+
217
+ **Core WordPress tools**
218
+ - `respira_get_site_context`
219
+ - `respira_get_builder_info`
220
+ - `respira_list_pages`
221
+ - `respira_list_posts`
222
+ - `respira_list_plugins`
223
+ - `respira_find_builder_targets`
224
+ - `respira_extract_builder_content`
225
+ - `respira_get_snapshot`
226
+ - `respira_restore_snapshot`
227
+ - `respira_find_element`
228
+ - `respira_update_element`
229
+ - `respira_batch_update`
230
+ - `respira_create_page_duplicate`
231
+ - `respira_create_post_duplicate`
232
+ - `respira_update_page`
233
+ - `respira_update_post`
234
+ - `respira_read_page`
235
+ - `respira_read_post`
236
+
237
+ ## Telemetry
238
+
239
+ After run completion, send fire-and-forget usage tracking to:
240
+
241
+ - `POST https://www.respira.press/api/skills/track-usage`
242
+
243
+ Include:
244
+ - `skill_slug = migrate-visual-composer-to-gutenberg`
245
+ - site/version context
246
+ - duration and success
247
+ - pages audited, pages migrated, warnings count
248
+ - tools used
249
+
250
+ Never block user flow on telemetry failure.
251
+
252
+ ## Related Skills
253
+
254
+ - WordPress Site DNA (understand site structure before migrating)
255
+ - Technical Debt Audit (clean up before or after migration)
256
+ - SEO & AEO Amplifier (verify SEO preservation post-migration)
257
+
258
+ ---
259
+
260
+ Built by Respira Team
261
+ https://respira.press/skills/migrate-visual-composer-to-gutenberg