@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.
- package/dist/acf-tools.d.ts +0 -10
- package/dist/acf-tools.d.ts.map +1 -1
- package/dist/acf-tools.js +0 -15
- package/dist/acf-tools.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -36
- package/dist/config.js.map +1 -1
- package/dist/server.d.ts +0 -47
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +404 -462
- package/dist/server.js.map +1 -1
- package/dist/wordpress-client.d.ts +26 -29
- package/dist/wordpress-client.d.ts.map +1 -1
- package/dist/wordpress-client.js +115 -148
- package/dist/wordpress-client.js.map +1 -1
- package/package.json +2 -2
- package/skills/activity-report-composer/README.md +38 -0
- package/skills/activity-report-composer/SKILL.md +167 -0
- package/skills/activity-report-composer/metadata.json +42 -0
- package/skills/brand-voice-synthesizer/README.md +43 -0
- package/skills/brand-voice-synthesizer/SKILL.md +259 -0
- package/skills/brand-voice-synthesizer/metadata.json +46 -0
- package/skills/build-oxygen6-page/SKILL.md +59 -0
- package/skills/conversion-audit/README.md +37 -0
- package/skills/conversion-audit/SKILL.md +185 -0
- package/skills/conversion-audit/metadata.json +46 -0
- package/skills/custom-post-type-architect/README.md +34 -0
- package/skills/custom-post-type-architect/SKILL.md +158 -0
- package/skills/custom-post-type-architect/metadata.json +39 -0
- package/skills/design-system-synthesizer/README.md +46 -0
- package/skills/design-system-synthesizer/SKILL.md +395 -0
- package/skills/design-system-synthesizer/metadata.json +57 -0
- package/skills/figma-to-elementor/SKILL.md +204 -0
- package/skills/html-to-bricks/README.md +43 -0
- package/skills/html-to-bricks/SKILL.md +135 -0
- package/skills/html-to-bricks/metadata.json +41 -0
- package/skills/internal-link-builder/SKILL.md +258 -0
- package/skills/internal-link-builder/metadata.json +46 -0
- package/skills/migrate-beaver-builder-to-bricks/SKILL.md +251 -0
- package/skills/migrate-beaver-builder-to-gutenberg/SKILL.md +248 -0
- package/skills/migrate-brizy-to-gutenberg/SKILL.md +248 -0
- package/skills/migrate-divi-to-breakdance/SKILL.md +312 -0
- package/skills/migrate-divi-to-bricks/SKILL.md +321 -0
- package/skills/migrate-divi-to-gutenberg/SKILL.md +328 -0
- package/skills/migrate-elementor-to-breakdance/SKILL.md +287 -0
- package/skills/migrate-elementor-to-bricks/SKILL.md +289 -0
- package/skills/migrate-elementor-to-gutenberg/SKILL.md +327 -0
- package/skills/migrate-elementor-to-oxygen/SKILL.md +300 -0
- package/skills/migrate-oxygen-to-breakdance/SKILL.md +235 -0
- package/skills/migrate-oxygen-to-bricks/SKILL.md +237 -0
- package/skills/migrate-thrive-architect-to-gutenberg/SKILL.md +257 -0
- package/skills/migrate-visual-composer-to-gutenberg/SKILL.md +261 -0
- package/skills/migrate-wpbakery-to-bricks/SKILL.md +336 -0
- package/skills/migrate-wpbakery-to-gutenberg/SKILL.md +345 -0
- package/skills/mobile-experience-report/SKILL.md +719 -0
- package/skills/mobile-experience-report/telemetry.ts +137 -0
- package/skills/page-template-library/README.md +41 -0
- package/skills/page-template-library/SKILL.md +175 -0
- package/skills/page-template-library/metadata.json +44 -0
- package/skills/prime-the-agent/README.md +49 -0
- package/skills/prime-the-agent/SKILL.md +225 -0
- package/skills/prime-the-agent/metadata.json +46 -0
- package/skills/respira-setup-assistant/SKILL.md +386 -0
- package/skills/respira-setup-assistant/metadata.json +36 -0
- package/skills/seo-aeo-amplifier/README.md +61 -0
- package/skills/seo-aeo-amplifier/SKILL.md +277 -0
- package/skills/seo-aeo-amplifier/metadata.json +62 -0
- package/skills/stale-content-detector/README.md +41 -0
- package/skills/stale-content-detector/SKILL.md +156 -0
- package/skills/stale-content-detector/metadata.json +43 -0
- package/skills/technical-debt-audit/SKILL.md +691 -0
- package/skills/technical-debt-audit/telemetry.ts +142 -0
- package/skills/woocommerce-health-check/SKILL.md +719 -0
- package/skills/woocommerce-health-check/telemetry.ts +137 -0
- package/skills/wordpress-ai-image-optimizer/README.md +49 -0
- package/skills/wordpress-ai-image-optimizer/SKILL.md +232 -0
- package/skills/wordpress-ai-image-optimizer/metadata.json +63 -0
- package/skills/wordpress-site-dna/README.md +81 -0
- package/skills/wordpress-site-dna/SKILL.md +669 -0
- package/skills/wordpress-site-dna/telemetry.ts +137 -0
- package/dist/__tests__/acf-tool-routing.test.d.ts +0 -2
- package/dist/__tests__/acf-tool-routing.test.d.ts.map +0 -1
- package/dist/__tests__/acf-tool-routing.test.js +0 -37
- package/dist/__tests__/acf-tool-routing.test.js.map +0 -1
- package/dist/__tests__/cowork-bootstrap.test.d.ts +0 -2
- package/dist/__tests__/cowork-bootstrap.test.d.ts.map +0 -1
- package/dist/__tests__/cowork-bootstrap.test.js +0 -61
- package/dist/__tests__/cowork-bootstrap.test.js.map +0 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Migrate Brizy 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 Brizy Builder to the WordPress block editor (Gutenberg). Audits every Brizy-built page, maps components 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 Brizy to Gutenberg, switching from Brizy to blocks, converting Brizy pages to the block editor, or moving away from Brizy to native WordPress.
|
|
8
|
+
|
|
9
|
+
## What This Skill Does
|
|
10
|
+
|
|
11
|
+
Brizy uses a proprietary content format with its own component system, storing data in `brizy_post_uid` and related custom meta fields. Gutenberg uses a flat block structure in `post_content` with HTML comment delimiters. The migration requires extracting Brizy's custom format, identifying each component type, and translating it to equivalent core Gutenberg blocks.
|
|
12
|
+
|
|
13
|
+
This skill reads every Brizy page, extracts the builder content, translates each component 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
|
+
- Section → Group block mapping
|
|
17
|
+
- Row/Column → Columns/Column block mapping
|
|
18
|
+
- Text components → Paragraph/Heading blocks
|
|
19
|
+
- Image components → Image block
|
|
20
|
+
- Button components → Buttons/Button block
|
|
21
|
+
- Video components → Video/Embed block
|
|
22
|
+
- Icon components → basic equivalents
|
|
23
|
+
- Spacer/Divider → Spacer/Separator blocks
|
|
24
|
+
- Map component → basic embed fallback
|
|
25
|
+
- Form elements → flagged for manual handling (Contact Form 7 or similar)
|
|
26
|
+
- Custom HTML/embed content
|
|
27
|
+
|
|
28
|
+
## What This Skill Does NOT Do
|
|
29
|
+
|
|
30
|
+
- Migrate Brizy's global styling system — must be recreated in theme settings or Global Styles
|
|
31
|
+
- Convert Brizy popup designs — Gutenberg has no native popup system
|
|
32
|
+
- Replicate Brizy's built-in form submissions — a separate form plugin is needed
|
|
33
|
+
- Migrate Brizy Cloud templates or synced content
|
|
34
|
+
- Convert Brizy Pro dynamic content features — flagged for manual handling
|
|
35
|
+
- Preserve Brizy's hover effects and animations — Gutenberg has limited animation support
|
|
36
|
+
- Guarantee pixel-perfect visual parity — different rendering approaches
|
|
37
|
+
|
|
38
|
+
## Requirements
|
|
39
|
+
|
|
40
|
+
- Respira for WordPress plugin installed and connected
|
|
41
|
+
- MCP connection active (desktop or WebMCP)
|
|
42
|
+
- Brizy Builder active on the source site
|
|
43
|
+
- Read access to scan Brizy content
|
|
44
|
+
- Write access to create duplicates with Gutenberg content
|
|
45
|
+
|
|
46
|
+
## Trigger Phrase
|
|
47
|
+
|
|
48
|
+
- "migrate brizy to gutenberg"
|
|
49
|
+
|
|
50
|
+
## Alternative Triggers
|
|
51
|
+
|
|
52
|
+
- "convert brizy to blocks"
|
|
53
|
+
- "switch from brizy to gutenberg"
|
|
54
|
+
- "move brizy to block editor"
|
|
55
|
+
- "replace brizy with gutenberg"
|
|
56
|
+
- "brizy to wordpress blocks"
|
|
57
|
+
- "migrate brizy to native wordpress"
|
|
58
|
+
|
|
59
|
+
## Builder Technical Context
|
|
60
|
+
|
|
61
|
+
**Source: Brizy**
|
|
62
|
+
- Content stored in post_meta key `brizy_post_uid` and Brizy's custom format
|
|
63
|
+
- Proprietary component structure with sections, rows, columns, and elements
|
|
64
|
+
- Read via `respira_extract_builder_content` with `builder=brizy`
|
|
65
|
+
- Components: sections, rows, columns, text, image, button, video, icon, spacer, map, form, embed, etc.
|
|
66
|
+
|
|
67
|
+
**Target: Gutenberg (Block Editor)**
|
|
68
|
+
- Content stored in `post_content` as HTML with block comment delimiters
|
|
69
|
+
- Format: `<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->`
|
|
70
|
+
- Write via standard WordPress content tools (`respira_update_page` / `respira_update_post`)
|
|
71
|
+
- Core blocks: `paragraph`, `heading`, `image`, `buttons`, `columns`, `group`, `html`, `video`, `separator`, `spacer`, `embed`, etc.
|
|
72
|
+
|
|
73
|
+
## Execution Workflow
|
|
74
|
+
|
|
75
|
+
### Phase 1: Pre-Migration Audit
|
|
76
|
+
|
|
77
|
+
1. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.
|
|
78
|
+
2. Detect Brizy presence via `respira_get_builder_info` or `respira_list_plugins`.
|
|
79
|
+
3. Inventory all Brizy-built content:
|
|
80
|
+
- `respira_list_pages` and `respira_list_posts` — identify all content
|
|
81
|
+
- `respira_find_builder_targets` with `builder=brizy` — find Brizy-managed pages
|
|
82
|
+
4. For each Brizy page, extract content:
|
|
83
|
+
- `respira_extract_builder_content` with `builder=brizy`
|
|
84
|
+
- Catalog: component types used, nesting depth, popups, forms, dynamic content usage
|
|
85
|
+
5. Produce an **Audit Report**:
|
|
86
|
+
- Total pages/posts using Brizy
|
|
87
|
+
- Component type frequency (how many sections, text blocks, images, etc.)
|
|
88
|
+
- Complexity flags (popups, forms, dynamic content, Brizy Pro features)
|
|
89
|
+
- Estimated migration difficulty per page (simple / moderate / complex)
|
|
90
|
+
|
|
91
|
+
### Phase 2: Migration Plan
|
|
92
|
+
|
|
93
|
+
Present a structured migration plan:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
## Brizy → Gutenberg Migration Plan
|
|
97
|
+
|
|
98
|
+
### Site Overview
|
|
99
|
+
- Total Brizy pages: X
|
|
100
|
+
- Simple pages (direct mapping): X
|
|
101
|
+
- Moderate pages (some manual review needed): X
|
|
102
|
+
- Complex pages (significant manual work): X
|
|
103
|
+
|
|
104
|
+
### Component Mapping
|
|
105
|
+
| Brizy Component | Gutenberg Block | Notes |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| Section | Group | Container mapping |
|
|
108
|
+
| Row / Columns | Columns / Column | Layout structure |
|
|
109
|
+
| Text | Paragraph / Heading | Content parsed into blocks |
|
|
110
|
+
| Image | Image | Direct mapping |
|
|
111
|
+
| Button | Buttons > Button | Wrapped in container |
|
|
112
|
+
| ... | ... | ... |
|
|
113
|
+
|
|
114
|
+
### Migration Order
|
|
115
|
+
1. [Page Title] — Simple — estimated 2 min
|
|
116
|
+
2. [Page Title] — Moderate — estimated 5 min
|
|
117
|
+
...
|
|
118
|
+
|
|
119
|
+
### Items Requiring Manual Attention
|
|
120
|
+
- [Page X] — Brizy popup (no Gutenberg equivalent)
|
|
121
|
+
- [Page Y] — Brizy form (needs form plugin replacement)
|
|
122
|
+
- Global styles — must be configured in theme settings
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Then ask:
|
|
126
|
+
|
|
127
|
+
> Here's the migration plan. Would you like me to:
|
|
128
|
+
> 1. Migrate all pages (creates duplicates for review)
|
|
129
|
+
> 2. Migrate only simple pages first
|
|
130
|
+
> 3. Migrate specific pages you choose
|
|
131
|
+
> 4. Just keep this as a reference — no changes
|
|
132
|
+
|
|
133
|
+
Wait for explicit confirmation before proceeding.
|
|
134
|
+
|
|
135
|
+
### Phase 3: Page-by-Page Migration
|
|
136
|
+
|
|
137
|
+
For each approved page:
|
|
138
|
+
|
|
139
|
+
1. Extract Brizy content via `respira_extract_builder_content` with `builder=brizy`
|
|
140
|
+
2. Map each Brizy component to Gutenberg blocks:
|
|
141
|
+
- Sections → `<!-- wp:group -->` blocks
|
|
142
|
+
- Rows/Columns → `<!-- wp:columns -->` with `<!-- wp:column -->` children
|
|
143
|
+
- Text → Parse into `<!-- wp:paragraph -->` and `<!-- wp:heading -->` blocks
|
|
144
|
+
- Image → `<!-- wp:image -->` with src, alt, caption
|
|
145
|
+
- Button → `<!-- wp:buttons -->` wrapper with `<!-- wp:button -->` child
|
|
146
|
+
- Video → `<!-- wp:video -->` or `<!-- wp:embed -->` block
|
|
147
|
+
- Spacer → `<!-- wp:spacer -->` block
|
|
148
|
+
- Custom HTML → `<!-- wp:html -->` block
|
|
149
|
+
- Preserve text content, image URLs, link targets
|
|
150
|
+
- Flag unmappable components with `<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->`
|
|
151
|
+
3. Assemble the complete Gutenberg block markup
|
|
152
|
+
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
|
|
153
|
+
5. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
|
|
154
|
+
6. Write the Gutenberg markup into the duplicate's `post_content` via `respira_update_page` or `respira_update_post`
|
|
155
|
+
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.
|
|
156
|
+
8. Log the migration result (success, warnings, manual review items)
|
|
157
|
+
|
|
158
|
+
### Phase 4: Post-Migration Verification
|
|
159
|
+
|
|
160
|
+
1. Summarize all migrated pages with status:
|
|
161
|
+
- Clean migrations (no issues)
|
|
162
|
+
- Migrations with warnings (flagged items needing review)
|
|
163
|
+
- Failed migrations (if any)
|
|
164
|
+
2. List all manual review items:
|
|
165
|
+
- Popups that need a separate popup plugin solution
|
|
166
|
+
- Forms that need a WordPress form plugin (Contact Form 7, WPForms, etc.)
|
|
167
|
+
- Dynamic content that needs reconnecting
|
|
168
|
+
- Brizy Pro features that have no Gutenberg equivalent
|
|
169
|
+
3. Provide review instructions:
|
|
170
|
+
- Where to find duplicates in WordPress admin
|
|
171
|
+
- How to preview pages in the block editor
|
|
172
|
+
- How to delete duplicates if not wanted
|
|
173
|
+
|
|
174
|
+
## Safety Model
|
|
175
|
+
|
|
176
|
+
- Read-only analysis first — full Brizy content audit before any changes
|
|
177
|
+
- Explicit user confirmation before creating any duplicates
|
|
178
|
+
- Snapshot before every write — `respira_get_snapshot` captures the target so it can be returned to its exact prior state
|
|
179
|
+
- Duplicate-first only — never modifies live/published Brizy content
|
|
180
|
+
- Never auto-publishes duplicates
|
|
181
|
+
- Explicit rollback path — restore the snapshot via `respira_restore_snapshot`, or delete the draft duplicates, to undo a migration cleanly
|
|
182
|
+
- Preserves all original Brizy content untouched
|
|
183
|
+
|
|
184
|
+
## Honest Disclaimer
|
|
185
|
+
|
|
186
|
+
This skill converts Brizy page structures to Gutenberg block markup and creates duplicates for review.
|
|
187
|
+
|
|
188
|
+
It cannot:
|
|
189
|
+
- Guarantee pixel-perfect visual parity between builders
|
|
190
|
+
- Migrate Brizy popups or forms automatically
|
|
191
|
+
- Convert Brizy Pro dynamic content features
|
|
192
|
+
- Replicate hover effects or animations
|
|
193
|
+
- Replace a thorough manual QA pass on every page
|
|
194
|
+
|
|
195
|
+
It can:
|
|
196
|
+
- Map 65-80% of standard Brizy components to core Gutenberg blocks
|
|
197
|
+
- Preserve content, images, links, and basic layout structure
|
|
198
|
+
- Move you off a third-party builder dependency to native WordPress
|
|
199
|
+
- Save days of manual rebuild work
|
|
200
|
+
- Identify exactly what needs manual attention
|
|
201
|
+
|
|
202
|
+
## Tooling
|
|
203
|
+
|
|
204
|
+
**Core WordPress tools**
|
|
205
|
+
- `respira_get_site_context`
|
|
206
|
+
- `respira_get_builder_info`
|
|
207
|
+
- `respira_list_pages`
|
|
208
|
+
- `respira_list_posts`
|
|
209
|
+
- `respira_list_plugins`
|
|
210
|
+
- `respira_find_builder_targets`
|
|
211
|
+
- `respira_extract_builder_content`
|
|
212
|
+
- `respira_get_snapshot`
|
|
213
|
+
- `respira_restore_snapshot`
|
|
214
|
+
- `respira_find_element`
|
|
215
|
+
- `respira_update_element`
|
|
216
|
+
- `respira_batch_update`
|
|
217
|
+
- `respira_create_page_duplicate`
|
|
218
|
+
- `respira_create_post_duplicate`
|
|
219
|
+
- `respira_update_page`
|
|
220
|
+
- `respira_update_post`
|
|
221
|
+
- `respira_read_page`
|
|
222
|
+
- `respira_read_post`
|
|
223
|
+
|
|
224
|
+
## Telemetry
|
|
225
|
+
|
|
226
|
+
After run completion, send fire-and-forget usage tracking to:
|
|
227
|
+
|
|
228
|
+
- `POST https://www.respira.press/api/skills/track-usage`
|
|
229
|
+
|
|
230
|
+
Include:
|
|
231
|
+
- `skill_slug = migrate-brizy-to-gutenberg`
|
|
232
|
+
- site/version context
|
|
233
|
+
- duration and success
|
|
234
|
+
- pages audited, pages migrated, warnings count
|
|
235
|
+
- tools used
|
|
236
|
+
|
|
237
|
+
Never block user flow on telemetry failure.
|
|
238
|
+
|
|
239
|
+
## Related Skills
|
|
240
|
+
|
|
241
|
+
- WordPress Site DNA (understand site structure before migrating)
|
|
242
|
+
- Technical Debt Audit (clean up before or after migration)
|
|
243
|
+
- SEO & AEO Amplifier (verify SEO preservation post-migration)
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
Built by Respira Team
|
|
248
|
+
https://respira.press/skills/migrate-brizy-to-gutenberg
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
# Migrate Divi to Breakdance
|
|
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 the Divi 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 re-injecting whole pages. Rollback is now explicit (restore the snapshot, delete the draft duplicates). Reflects the current 16 supported builders.
|
|
6
|
+
|
|
7
|
+
Converts Divi-built WordPress pages to Breakdance Builder. Parses Divi's shortcode-based content from post_content, maps each module to its Breakdance element equivalent, generates a migration plan for approval, and writes Breakdance content to the target pages. Use this skill whenever someone wants to move from Divi to Breakdance, switch builders from Divi to Breakdance, or rebuild Divi pages in Breakdance.
|
|
8
|
+
|
|
9
|
+
## What This Skill Does
|
|
10
|
+
|
|
11
|
+
Divi and Breakdance take very different approaches to content storage — Divi uses nested shortcodes in `post_content`, while Breakdance uses a structured format in post meta. This skill bridges that gap by parsing the full Divi shortcode tree, understanding each module's intent, and recreating it as the appropriate Breakdance element. Breakdance was built by the Oxygen team with a focus on clean output and intuitive editing, making it a popular Divi replacement for users who want better performance without a steep learning curve.
|
|
12
|
+
|
|
13
|
+
**Handles:**
|
|
14
|
+
- et_pb_section → Breakdance Section element
|
|
15
|
+
- et_pb_row/et_pb_column → Breakdance Div elements with flex layout
|
|
16
|
+
- et_pb_text → Breakdance Text element
|
|
17
|
+
- et_pb_blurb → Breakdance Icon Box or container with children
|
|
18
|
+
- et_pb_image → Breakdance Image element
|
|
19
|
+
- et_pb_button → Breakdance Button element
|
|
20
|
+
- et_pb_video → Breakdance Video element
|
|
21
|
+
- et_pb_divider → Breakdance Separator element
|
|
22
|
+
- et_pb_accordion/et_pb_toggle → Breakdance Accordion element
|
|
23
|
+
- et_pb_tabs → Breakdance Tabs element
|
|
24
|
+
- et_pb_gallery → Breakdance Gallery element
|
|
25
|
+
- et_pb_slider → Breakdance Slider element
|
|
26
|
+
- et_pb_pricing_tables → Breakdance Pricing Table element
|
|
27
|
+
- et_pb_code → Breakdance Code element
|
|
28
|
+
- et_pb_counters → Breakdance Progress Bar element
|
|
29
|
+
- et_pb_map → Breakdance Map element
|
|
30
|
+
- Custom CSS → Breakdance custom CSS fields
|
|
31
|
+
- Column widths → Breakdance flex percentages
|
|
32
|
+
|
|
33
|
+
**Preserves:**
|
|
34
|
+
- All text content and inline formatting
|
|
35
|
+
- Image URLs, alt text, dimensions
|
|
36
|
+
- Typography settings (font, size, weight, line-height)
|
|
37
|
+
- Color values and gradients
|
|
38
|
+
- Spacing (margin, padding)
|
|
39
|
+
- Background images, overlays
|
|
40
|
+
- Border and shadow settings
|
|
41
|
+
- Button labels, URLs, targets
|
|
42
|
+
- CSS classes
|
|
43
|
+
|
|
44
|
+
## What This Skill Does NOT Do
|
|
45
|
+
|
|
46
|
+
- **Specialty sections** — Divi's specialty layouts need manual setup in Breakdance.
|
|
47
|
+
- **Global modules** — Divi's `et_pb_layout` global modules are inlined during migration. Breakdance global blocks are separate.
|
|
48
|
+
- **Third-party Divi modules** — Plugins extending Divi are flagged for manual recreation.
|
|
49
|
+
- **Divi theme customizer** — Global design settings from the Divi customizer must be configured in Breakdance's design settings.
|
|
50
|
+
- **Dynamic content** — Divi's dynamic features need Breakdance's dynamic data system.
|
|
51
|
+
- **Contact forms** — et_pb_contact_form must be rebuilt with Breakdance's form element or a forms plugin.
|
|
52
|
+
- **Divi Library** — Layouts in et_pb_layout post type are not migrated automatically.
|
|
53
|
+
- **Motion effects and animations** — Scroll effects differ between builders.
|
|
54
|
+
- **Theme dependency** — If using Divi theme, switching to Breakdance means using a different base theme.
|
|
55
|
+
|
|
56
|
+
## Requirements
|
|
57
|
+
|
|
58
|
+
- Respira for WordPress plugin installed and connected
|
|
59
|
+
- MCP connection active (desktop or WebMCP)
|
|
60
|
+
- Divi theme or Divi Builder plugin active (to read source content)
|
|
61
|
+
- Breakdance plugin installed and active (to write target content)
|
|
62
|
+
- Read access to scan Divi content
|
|
63
|
+
- Write access to create duplicates with Breakdance content
|
|
64
|
+
|
|
65
|
+
## Trigger Phrase
|
|
66
|
+
|
|
67
|
+
- "migrate divi to breakdance"
|
|
68
|
+
|
|
69
|
+
## Alternative Triggers
|
|
70
|
+
|
|
71
|
+
- "convert divi to breakdance"
|
|
72
|
+
- "switch from divi to breakdance"
|
|
73
|
+
- "rebuild divi pages in breakdance"
|
|
74
|
+
- "move from divi to breakdance"
|
|
75
|
+
- "divi to breakdance migration"
|
|
76
|
+
- "replace divi with breakdance"
|
|
77
|
+
|
|
78
|
+
## Source Builder: Divi
|
|
79
|
+
|
|
80
|
+
Divi stores content as shortcodes in `post_content`:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
[et_pb_section fb_built="1" _builder_version="4.x"]
|
|
84
|
+
[et_pb_row]
|
|
85
|
+
[et_pb_column type="4_4"]
|
|
86
|
+
[et_pb_text]<p>Content</p>[/et_pb_text]
|
|
87
|
+
[et_pb_image src="photo.jpg" alt="Photo"][/et_pb_image]
|
|
88
|
+
[/et_pb_column]
|
|
89
|
+
[/et_pb_row]
|
|
90
|
+
[/et_pb_section]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Key Divi specifics:
|
|
94
|
+
- **Hierarchy**: section → row → column → module (strict nesting)
|
|
95
|
+
- **Column types**: `4_4` (100%), `1_2` (50%), `1_3` (33%), `2_3` (66%), `1_4` (25%), `3_4` (75%)
|
|
96
|
+
- **Settings as attributes**: `background_color`, `custom_margin`, `custom_padding`
|
|
97
|
+
- **Content encoding**: HTML entities, percent-encoding in attribute values
|
|
98
|
+
- **Global modules**: `global_module` attribute referencing `et_pb_layout` post
|
|
99
|
+
- **Section types**: regular, fullwidth, specialty
|
|
100
|
+
|
|
101
|
+
Read Divi content via `respira_extract_builder_content` with `builder=divi`.
|
|
102
|
+
|
|
103
|
+
## Target Builder: Breakdance
|
|
104
|
+
|
|
105
|
+
Breakdance stores content in post meta with a structured element format.
|
|
106
|
+
|
|
107
|
+
Key Breakdance specifics:
|
|
108
|
+
- Elements use types like `EssentialElements\\Heading`, `EssentialElements\\Text`, `EssentialElements\\Image`
|
|
109
|
+
- Section and Div elements for layout structure
|
|
110
|
+
- Clean CSS output with minimal wrapper markup
|
|
111
|
+
- Built-in form builder, WooCommerce support, popup system
|
|
112
|
+
- Responsive design through breakpoint-specific settings
|
|
113
|
+
- Created by the Oxygen team — combines Oxygen's clean output with friendlier UX
|
|
114
|
+
|
|
115
|
+
Write Breakdance content via `respira_inject_builder_content` with `builder=breakdance`.
|
|
116
|
+
|
|
117
|
+
## Execution Workflow
|
|
118
|
+
|
|
119
|
+
### Phase 1: Pre-Migration Audit
|
|
120
|
+
|
|
121
|
+
1. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.
|
|
122
|
+
2. Confirm Divi is active via `respira_list_plugins` and `respira_get_site_context`.
|
|
123
|
+
3. Confirm Breakdance is installed and active via `respira_list_plugins`.
|
|
124
|
+
4. **Important**: If using Divi theme, note the user needs a compatible base theme for Breakdance.
|
|
125
|
+
5. Scan and scope all Divi content:
|
|
126
|
+
- `respira_list_pages` and `respira_list_posts` — identify all content
|
|
127
|
+
- `respira_find_builder_targets` with `builder=divi` — inventory the Divi-managed pages to scope the migration
|
|
128
|
+
- Confirm the builder per page via `respira_get_builder_info`
|
|
129
|
+
6. Extract Divi content via `respira_extract_builder_content` with `builder=divi`
|
|
130
|
+
7. Build inventory:
|
|
131
|
+
- Total Divi pages/posts
|
|
132
|
+
- Module types (frequency count)
|
|
133
|
+
- Specialty sections detected
|
|
134
|
+
- Global modules referenced
|
|
135
|
+
- Third-party modules
|
|
136
|
+
- Content encoding issues
|
|
137
|
+
- Complexity per page
|
|
138
|
+
|
|
139
|
+
### Phase 2: Migration Plan
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
## Divi → Breakdance Migration Plan
|
|
143
|
+
|
|
144
|
+
### Theme Note
|
|
145
|
+
[If Divi theme]: Switching from Divi theme. Breakdance works with most
|
|
146
|
+
themes — you'll need a lightweight base theme (Astra, GeneratePress, etc.)
|
|
147
|
+
or Breakdance can handle full site rendering.
|
|
148
|
+
|
|
149
|
+
### Why Breakdance
|
|
150
|
+
Breakdance produces significantly cleaner CSS and HTML output compared to
|
|
151
|
+
Divi. Built by the Oxygen team, it offers similar power with a more
|
|
152
|
+
intuitive interface. Most Divi modules have direct Breakdance equivalents.
|
|
153
|
+
|
|
154
|
+
### Site Inventory
|
|
155
|
+
- Total Divi pages: X
|
|
156
|
+
- Total modules to convert: X
|
|
157
|
+
- Auto-convertible: X (Y%)
|
|
158
|
+
- Manual attention: X (Y%)
|
|
159
|
+
|
|
160
|
+
### Module → Element Mapping
|
|
161
|
+
| Divi Module | Breakdance Element | Status |
|
|
162
|
+
|-------------------|-------------------|--------|
|
|
163
|
+
| et_pb_text | Text | Auto |
|
|
164
|
+
| et_pb_image | Image | Auto |
|
|
165
|
+
| et_pb_blurb | Icon Box | Auto |
|
|
166
|
+
| et_pb_button | Button | Auto |
|
|
167
|
+
| et_pb_slider | Slider | Auto |
|
|
168
|
+
| et_pb_accordion | Accordion | Auto |
|
|
169
|
+
| et_pb_pricing | Pricing Table | Auto |
|
|
170
|
+
| et_pb_contact | Form | Partial|
|
|
171
|
+
| [divi addon] | — | Manual |
|
|
172
|
+
|
|
173
|
+
### Page-by-Page Plan
|
|
174
|
+
1. **[Page Title]** — X modules, [complexity]
|
|
175
|
+
2. ...
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Ask for confirmation:
|
|
179
|
+
> Ready to migrate? Your original Divi pages remain completely untouched.
|
|
180
|
+
> 1. Migrate all pages
|
|
181
|
+
> 2. Migrate specific pages
|
|
182
|
+
> 3. Start with a test page (recommended)
|
|
183
|
+
> 4. Just keep this plan
|
|
184
|
+
|
|
185
|
+
### Phase 3: Page-by-Page Migration
|
|
186
|
+
|
|
187
|
+
For each approved page:
|
|
188
|
+
|
|
189
|
+
1. Read Divi content via `respira_extract_builder_content` with `builder=divi`
|
|
190
|
+
2. Parse the shortcode tree:
|
|
191
|
+
- Build section → row → column → module hierarchy
|
|
192
|
+
- Decode encoded content
|
|
193
|
+
- Resolve global module references
|
|
194
|
+
- Calculate column widths from type attributes
|
|
195
|
+
3. Generate Breakdance element structure:
|
|
196
|
+
- `et_pb_section` → Breakdance Section
|
|
197
|
+
- `et_pb_row` + `et_pb_column` → Breakdance Div elements with flex layout and percentage widths
|
|
198
|
+
- Map each module to Breakdance element:
|
|
199
|
+
- `et_pb_text` → Text element (preserve HTML content)
|
|
200
|
+
- `et_pb_blurb` → Icon Box element (map icon, title, body)
|
|
201
|
+
- `et_pb_image` → Image element (map src, alt)
|
|
202
|
+
- `et_pb_button` → Button element (map text, URL, style)
|
|
203
|
+
- `et_pb_accordion` → Accordion element (map items)
|
|
204
|
+
- `et_pb_tabs` → Tabs element (map tab titles and content)
|
|
205
|
+
- Map colors, spacing, typography to Breakdance settings
|
|
206
|
+
- Flag unmappable modules
|
|
207
|
+
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
|
|
208
|
+
5. Create duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`
|
|
209
|
+
6. Write Breakdance content to the duplicate via `respira_inject_builder_content` with `builder=breakdance`
|
|
210
|
+
7. Surgical fixes (not a re-inject): when a single element 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 elements or several migrated pages, batch them with `respira_batch_update` rather than re-injecting whole pages.
|
|
211
|
+
8. Report status
|
|
212
|
+
|
|
213
|
+
### Phase 4: Post-Migration Verification
|
|
214
|
+
|
|
215
|
+
1. Summarize migrations:
|
|
216
|
+
- Pages migrated, elements created, items flagged
|
|
217
|
+
2. For each migrated page:
|
|
218
|
+
- Link to Breakdance editor
|
|
219
|
+
- Flagged items list
|
|
220
|
+
- Layout and encoding notes
|
|
221
|
+
3. Post-migration checklist:
|
|
222
|
+
- [ ] Open each duplicate in Breakdance editor
|
|
223
|
+
- [ ] Verify section and layout structure
|
|
224
|
+
- [ ] Check responsive views
|
|
225
|
+
- [ ] Verify images and media
|
|
226
|
+
- [ ] Test links and buttons
|
|
227
|
+
- [ ] Recreate flagged modules
|
|
228
|
+
- [ ] Rebuild forms with Breakdance form element
|
|
229
|
+
- [ ] Set up global templates (header/footer) in Breakdance
|
|
230
|
+
- [ ] Review Breakdance's clean CSS output
|
|
231
|
+
- [ ] Compare with Divi original
|
|
232
|
+
- [ ] Check for Divi shortcode remnants
|
|
233
|
+
|
|
234
|
+
## Safety Model
|
|
235
|
+
|
|
236
|
+
- Read-only analysis first — full content scan before any changes
|
|
237
|
+
- Explicit user confirmation required before creating duplicates
|
|
238
|
+
- Original Divi pages are never modified or deleted
|
|
239
|
+
- All migrated content goes to draft duplicates only
|
|
240
|
+
- Never auto-publishes migrated pages
|
|
241
|
+
- Takes a `respira_get_snapshot` checkpoint before each write
|
|
242
|
+
- Explicit rollback: restore the snapshot via `respira_restore_snapshot`, or delete the draft duplicates if they are not wanted
|
|
243
|
+
- Warns about theme implications if using Divi theme
|
|
244
|
+
|
|
245
|
+
## Honest Disclaimer
|
|
246
|
+
|
|
247
|
+
This skill converts Divi page content to Breakdance format and creates draft duplicates for review.
|
|
248
|
+
|
|
249
|
+
It cannot:
|
|
250
|
+
- Migrate specialty section layouts perfectly
|
|
251
|
+
- Convert global modules to Breakdance global blocks automatically
|
|
252
|
+
- Handle third-party Divi plugin modules
|
|
253
|
+
- Transfer Divi theme customizer settings
|
|
254
|
+
- Migrate popups, dynamic content, or animations
|
|
255
|
+
- Guarantee pixel-perfect visual fidelity from shortcodes
|
|
256
|
+
|
|
257
|
+
It can:
|
|
258
|
+
- Parse Divi's complex shortcode hierarchies including encoded content
|
|
259
|
+
- Convert 80-90% of standard Divi modules to Breakdance elements
|
|
260
|
+
- Produce cleaner CSS and HTML output than Divi
|
|
261
|
+
- Preserve all text, images, links, and core styling
|
|
262
|
+
- Save significant manual rebuilding time
|
|
263
|
+
- Clearly flag everything needing manual work
|
|
264
|
+
- Keep original pages completely safe
|
|
265
|
+
|
|
266
|
+
## Tooling
|
|
267
|
+
|
|
268
|
+
**Core WordPress tools**
|
|
269
|
+
- `respira_get_site_context`
|
|
270
|
+
- `respira_list_plugins`
|
|
271
|
+
- `respira_list_pages`
|
|
272
|
+
- `respira_list_posts`
|
|
273
|
+
- `respira_read_page`
|
|
274
|
+
- `respira_read_post`
|
|
275
|
+
- `respira_get_builder_info`
|
|
276
|
+
- `respira_extract_builder_content`
|
|
277
|
+
- `respira_inject_builder_content`
|
|
278
|
+
- `respira_find_builder_targets`
|
|
279
|
+
- `respira_create_page_duplicate`
|
|
280
|
+
- `respira_create_post_duplicate`
|
|
281
|
+
- `respira_get_snapshot`
|
|
282
|
+
- `respira_restore_snapshot`
|
|
283
|
+
- `respira_find_element`
|
|
284
|
+
- `respira_update_element`
|
|
285
|
+
- `respira_batch_update`
|
|
286
|
+
|
|
287
|
+
## Telemetry
|
|
288
|
+
|
|
289
|
+
After run completion, send fire-and-forget usage tracking to:
|
|
290
|
+
|
|
291
|
+
- `POST https://www.respira.press/api/skills/track-usage`
|
|
292
|
+
|
|
293
|
+
Include:
|
|
294
|
+
- `skill_slug = migrate-divi-to-breakdance`
|
|
295
|
+
- site/version context
|
|
296
|
+
- duration and success
|
|
297
|
+
- pages migrated, elements created, modules flagged counts
|
|
298
|
+
- tools used
|
|
299
|
+
|
|
300
|
+
Never block user flow on telemetry failure.
|
|
301
|
+
|
|
302
|
+
## Related Skills
|
|
303
|
+
|
|
304
|
+
- WordPress Site DNA (understand site structure and theme before migrating)
|
|
305
|
+
- Internal Link Builder (verify internal links post-migration)
|
|
306
|
+
- SEO & AEO Amplifier (verify SEO preservation post-migration)
|
|
307
|
+
- Technical Debt Audit (find Divi shortcode remnants post-migration)
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
Built by Respira Team
|
|
312
|
+
https://respira.press/skills/migrate-divi-to-breakdance
|