ワンクリックで
wp-migrate
Plan, dry-run, apply, back up, and clone migrations between two WP targets — dev → staging → prod, with rollback. Phase = Ship.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Plan, dry-run, apply, back up, and clone migrations between two WP targets — dev → staging → prod, with rollback. Phase = Ship.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create, read, update, search posts/pages/users/options/taxonomies via the core WP REST API on a connected target. Phase = Build.
Read or write configuration owned by SEO / i18n / e-commerce / custom-field / forms plugins — Yoast, RankMath, WPML, WooCommerce, ACF, Gravity / CF7 / WPForms — on a connected target. Phase = Build.
Recover a WordPress site that is white-screening / 500-ing / fatal after an edit — guardian mu-plugin, safe-mode, disable/restore the culprit — plus safe core/plugin/theme updates and guarded .htaccess edits. Phase = Recover.
Multi-probe diagnostic + security audit of a connected target — plugin conflicts, slow queries, large autoload options, broken images, PHP errors, outdated core/plugins/themes, weak admins. Phase = Debug.
Query the AI Change Ledger on a connected target — the writes the MCP recorded through the companion (RestTarget only), categorized; toggle on/off; panic-revert recent changes. Phase = Recovery.
Read or modify page-builder layouts on a connected target — Elementor, Divi, Oxygen, Bricks widget trees. Phase = Build.
| name | wp-migrate |
| description | Plan, dry-run, apply, back up, and clone migrations between two WP targets — dev → staging → prod, with rollback. Phase = Ship. |
| when_to_use | user wants to move a site (or a subset of content) between environments, OR back up before a risky change, OR clone a site for testing |
| tier | 1 |
| phase | ship |
End-to-end migration workflow. Owns dryrun, apply, backup, restore, clone. The HARDEST safety surface in the toolkit — every step is destructive at production scale. Walks a plan → backup → apply → verify → rollback ladder.
Skip when:
wp-content REST CRUD.wp-edit-plugin.Owns:
rolepod_wp_migrate_dryrun — compute the plan without applying.rolepod_wp_migrate_data — apply a scoped migration. scope=plugin_versions (match plugin set) or scope=options (copy named wp_options keys, serialized-safe; URL/identity keys refused). users/posts scopes are unsupported (lossy).rolepod_wp_migrate_site — REST↔REST host-to-host full-site migration (companion-driven: backup dest → snapshot source → transfer → restore with URL rewrite).rolepod_wp_backup_create — pre-apply backup of destination.rolepod_wp_backup_restore — rollback path.rolepod_wp_clone — full-site copy over SHELL targets (db + wp-content + URL rewrite). For REST↔REST use rolepod_wp_migrate_site.Does not own:
wp-content.wp-diagnose.Return / hand off:
wp-health-check + wp-diagnose to confirm.source_target_id + dest_target_id.confirm_production: true + the user re-typing the destination hostname.wp-health-check source.wp-health-check destination.wp-diagnose destination (any HIGH findings = STOP, fix first).rolepod_wp_migrate_dryrun { source_target_id, dest_target_id, scope }. Output: per templates/migrate-plan.md. Surfaces row counts, file counts, table conflicts, URL rewrites required.
Show the plan, ask for explicit OK. If destination is production-matched:
rolepod_wp_backup_create { target_id: dest_target_id }. Surface the backup file path. The user keeps this; if anything goes wrong, rollback uses this.
rolepod_wp_migrate_data { source_target_id, dest_target_id, scope, allow_destructive: true, confirm: true }. There is no plan_id — nothing ties the apply to the dryrun, so re-run the dryrun yourself and read it before applying. scope accepts plugin_versions and nothing else: this tool installs/upgrades plugins on the destination to match the source. It does not move posts, media, or tables.
wp-health-check destination → all green.wp-diagnose destination → no NEW critical findings vs the pre-migration report.State: rows migrated, files copied, URLs rewritten, backup file path, verification result.
If verification fails: rolepod_wp_backup_restore { target_id: dest_target_id, artifact_dir: <from step 4> }. Surface restored state.
When BOTH targets are rest with the rolepod-wp companion (no shell), rolepod_wp_migrate_site runs the whole full-site move server-side:
rolepod_wp_migrate_site { source_target_id, dest_target_id, allow_destructive: true, confirm: true }
Ordering is enforced and destructive-safe: (0) it backs up the DEST first and returns dest_rollback_backup_id; (1) snapshots the source; (2) pulls the archive to this host; (3) pushes it into the dest; (4) restores it there with a serialized-safe URL rewrite (source host → dest host). A production dest without confirm: true → PRODUCTION_BLOCKED. A shell target → MIGRATE_UNSUPPORTED_TARGET (use rolepod_wp_clone instead). If any stage fails, the error carries dest_rollback_backup_id — restore it with rolepod_wp_site_restore.
rolepod_wp_migrate_data { scope: "options", options: ["blogdescription", ...], allow_destructive: true } copies named wp_options keys source → dest (read + written as JSON, so serialized arrays survive). URL/identity keys (siteurl, home, blogname) are refused → OPTION_MIGRATE_URL_REFUSED; move the whole site with rolepod_wp_migrate_site if you need those.
rolepod:devops-sre for the full ship gate.rolepod:security-engineer for the pre-flight + post-flight audit pass.Migration plan — templates/migrate-plan.md. Persists per run at ./.rolepod-wplab/artifacts/<run_id>/migrate-plan.md.
Read before EVERY production-destination migration — the type-back hostname pattern is in here:
examples/migrate-examples.md — good vs bad confirm flow for prod destination; good vs bad scope picking for a partial migration.Inline only. The plan format is the template. The backup file format is companion-side (gzipped SQL + wp-content tar).
Full Rolepod adds multi-environment graphs (dev → staging → prod chained migrations, with rollback to any prior known-good checkpoint). Standalone, the user runs the sequence by hand.
wp-health-check periodically + wp-diagnose weekly.wp-diagnose to identify why apply failed.