content-migration

Compare old CMS pages with new SSG pages to detect missing content after migration.

6|Updated Mar 27, 2026
One-click install
npx skills add https://github.com/greglas75/zuvo --skill content-migration-greglas75
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: content-migration
Source: https://github.com/greglas75/zuvo/tree/main/skills/content-migration
Command: npx skills add https://github.com/greglas75/zuvo --skill content-migration-greglas75

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When migrating a website from a CMS like Joomla, WordPress, or Drupal to a static site generator like Astro, Hugo, or Next.js, content often gets silently lost. This Skill compares the old and new pages element by element to find missing headings, paragraphs, images, CTAs, tables, and forms, and can optionally patch safe gaps in local markdown files. ## Core Features & Use Cases - Content Parity Comparison: Extracts and semantically compares headings, paragraphs, images, links, lists, tables, and forms between an old CMS URL and a new SSG URL, producing a parity score and grade (A-D). - Safe Additive Fixes: With the --fix flag, inserts missing content into the resolved local .md source file, with dirty-file checks, insertion limits, and adversarial review before completion. - Migration Progress Tracking: The --status flag renders a dashboard of per-page parity grades from zuvo/reports/migration-status.json. - Use Case: After migrating a Joomla site to Astro, run the Skill with --old pointing at the legacy page and --new at the localhost preview to verify no sections, CTAs, or images were dropped, then apply --fix to restore missing paragraphs. ## Quick Start Compare my old Joomla page at https://old-site.com/about with the new Astro page at http://localhost:4321/about and report any missing content.

Frequently Asked Questions about content-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify content was not lost after a CMS to static site migration?

Run the comparison with --old pointing to the original CMS URL and --new pointing to the new page URL or localhost preview. The Skill extracts headings, paragraphs, images, CTAs, lists, tables, and forms from both pages and reports a parity score with MISSING, PARTIAL, and MATCHED findings.

How do I check migration progress across many pages?

Use the --status flag without any URLs. It reads zuvo/reports/migration-status.json and prints a dashboard showing how many pages fall into each parity grade band (A through D) plus the average parity score.

Can it automatically fix missing content in markdown files?

Yes, with the --fix flag it inserts missing headings, paragraphs, links, and lists into the resolved local .md source file. Fixes are additive only, limited to 5 insertions per run, blocked on dirty git files, and images, tables, and forms are reported as MANUAL_FIX_NEEDED.

Does it work with JavaScript-rendered or lazy-loaded pages?

Yes, when Playwright or Chrome DevTools MCP is available it renders JavaScript content fully. Use --scroll-to-bottom and --settle-ms to trigger lazy-loaded content; without a browser it falls back to degraded curl mode with a warning.

What are the limitations of automated content parity checks?

The comparison is semantic, so intentionally removed content is still reported as MISSING unless suppressed via a .content-migration-ignore.yml file. It does not handle SEO optimization, redirect mapping, or pixel-level visual comparison, and ambiguous fix insertion points require manual review.