content-migration

A content-checking tool for comparing a page from an old content management system, such as WordPress or Joomla, with its new static-site version built using tools such as Astro, Hugo, or Next.js.

In plain words
What is it for?
Use it to check one old and new page pair after a website migration and, when appropriate, patch missing content in the new page source.
Why use it?
It shows whether headings, text, images, buttons, tables, or forms were lost during migration. By default, it only reports gaps; it can optionally add safe fixes to local Markdown files.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/greglas75/zuvo/content-migration
Any agent
npx skills add greglas75/zuvo --skill content-migration
Clone the repo
git clone --depth 1 https://github.com/greglas75/zuvo

Made for: Claude Code, Codex.

Per session 94 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,945 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00094 $0.04945
Opus 5 $0.00047 $0.02472
Sonnet 5 $0.00019 $0.00989
Haiku 4.5 $0.00009 $0.00494

Measured 2d ago against content hash 23ea58c615e5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

content-migration scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

Neither → `MODE=degraded` (curl, warn about JS content).
skills/content-migration/SKILL.md · 480 lines

How it starts

The opening of the file, as written. The whole thing — 480 lines — stays where its author put it; the contents beside it link to each section on GitHub.

zuvo:content-migration — CMS-to-SSG Content Parity Check & Fix

Compare an old CMS page with its new SSG version. Report parity gaps. Optionally apply safe additive patches to the local markdown source.

One page pair per invocation. For bulk progress, use --status.

Out of scope: SEO optimization (zuvo:seo-audit), content hygiene (zuvo:content-audit), pixel-level visual comparison, redirect mapping.


Mandatory File Loading

Read before work begins:

  1. ../../shared/includes/env-compat.md -- Environment adaptation
  2. ../../shared/includes/live-probe-protocol.md -- Consent + rate limiting

Load on demand:

  • ../../shared/includes/codesift-setup.md -- Only if source file needs discovery
  • ../../shared/includes/migration-fix-registry.md -- Only with --fix
  • ../../shared/includes/verification-protocol.md -- Only with --fix
  • ../../shared/includes/run-logger.md -- At report phase
  • ../../shared/includes/retrospective.md -- At report phase

Safety Gates

GATE 1 — Consent

Per live-probe-protocol.md for BOTH --old and --new URLs.

GATE 2 — Read-Only Default

Without --fix: compare and report only. Writes only to zuvo/reports/.

GATE 3 — Conservative Fixes

With --fix:

  • Never delete content from the new site
  • Never reorder existing content
  • Never modify files not explicitly resolved as the source
  • Dirty file check: git status --porcelain -- <file>. Dirty → STOP.
  • If insertion point is ambiguous → NEEDS_REVIEW, do not guess
  • All fixes are additive (insert missing content only)
  • Limit: max 5 content insertions per run. When many gaps found, prefer report-first over bulk insertion.

Arguments

Argument Behavior
--old <url> Original CMS page URL (required, unless --status)
--new <url> New SSG page URL or localhost (required, unless --status)
--fix Apply fixes to local .md file (default: compare only)
--source-file <path> Explicit path to the .md file for --new page
--settle-ms <ms> Wait after page load (default: 3000, max: 15000)
--scroll-to-bottom Scroll page before extraction (triggers lazy-loaded content)
--content-selector <sel> CSS selector for content area (default: auto-detect)
--wait-for <sel> Wait for specific element before extraction
--status Show migration progress dashboard (no --old/--new needed)

Read the full file on GitHub · 480 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 480 lines · 94 tokens per session scan A 23ea58c615e5

Subscribe to this mod's changes

content-migration is a skill published in the GitHub repository greglas75/zuvo (6 stars, last pushed 3d ago), licensed MIT. It adds 94 tokens to every session and 4,945 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

roam

Codebase comprehension via roam-code CLI. Use when exploring codebases, planning modifications, debugging failures, assessing PR risk, or checking architecture health. Triggers on: understanding project structure, pre-change safety checks, finding symbols/files, blast radius analysis, affected tests, health scoring…

Cranot/roam-code · 86 tokens

ring:writing-plans

Writing a rolling-wave phased implementation plan from a spec before coding: a phase-epic-task hierarchy where Phase 1 is detailed into dispatch-ready tasks and later phases stay epic-level for elaboration during execution. Use when a multi-file feature needs decomposition; runs after ring:exploring-codebases or…

LerianStudio/ring · 94 tokens

ring:searching-code

Forensic code search and analysis with optional Chain of Draft (CoD) ultra-concise mode. Five-phase methodology (clarification, planning, execution, analysis, synthesis) with severity assessment. Use for targeted investigation of specific patterns, bugs, or vulnerabilities. Skip for broad architecture mapping (use…

LerianStudio/ring · 74 tokens

ring:exploring-codebases

Exploring a codebase across phases: scopes the target, detects architecture, components, and layers, deep-dives each discovered perspective, then synthesizes findings into actionable guidance with file:line evidence. Use to understand how a feature or system works before planning changes, or to orient on an unfamiliar…

LerianStudio/ring · 91 tokens

ring:generating-release-guides

Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed for the Ops team. Runs read-only by…

LerianStudio/ring · 85 tokens

ring:writing-skills

Writing or editing a Ring skill: SKILL.md structure, frontmatter and Agent-Search-Optimization rules, token-efficiency targets, and bulletproofing (Iron Law, rationalization tables, Red Flags) so discipline-enforcing skills resist excuses. Use when creating or revising a skill. Delegates pressure-testing to…

LerianStudio/ring · 100 tokens