PlugWiki

sanity-migration Skill (Sanity) for Claude: Move a CMS into Sanity and How to Install It

Makes Claude plan, script and check a migration from another CMS into Sanity, for developers moving off WordPress, Contentful, Strapi and similar.

Installs
22.9K
on skills.sh
Stars
194
on GitHub
Files
9
besides SKILL.md
Updated
Oct 2026
last repo commit

sanity-migration treats a CMS move as a content strategy and ETL project. Claude reads a general playbook first, then the guide for your source system: AEM, Contentful, Strapi, Webflow, WordPress, Payload, Drupal or Markdown. Before it writes code, it produces a short plan covering access, scope, schema, extraction, transformation, import, validation, redirects and cutover.

The skill favors repeatable scripts with stable document IDs over one-off edits. It stops and asks if source access, the target project and dataset, or draft and locale scope are unclear. The reference guides include commands such as npx contentful-to-sanity and sanity datasets import, so the work needs Node.js and your own source credentials. It sits in Sanity's own sanity-io/agent-toolkit repo.

Good for

  • Developers replatforming a WordPress, Drupal or Webflow site to Sanity
  • Teams moving structured content out of Contentful, Strapi, Payload or AEM
  • Anyone importing Markdown or MDX files into Sanity with Portable Text

Install sanity-migration

Claude Code

  1. 1

    Copy this prompt.

    Install the sanity-migration skill in Claude Code. Run this command:
    
    /plugin install sanity@claude-plugins-official
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Claude Code.

The plugin bundles 10 skills, 4 slash commands and the Sanity MCP server at mcp.sanity.io, which signs in with OAuth. SKILL.md points to sanity-best-practices for deeper Sanity work, and the plugin includes it. The skills CLI route installs only this skill.

From the project README. Source.

What's in the skill

When it loads

Plans, implements, and reviews migrations from other CMSes and content systems into Sanity. Use when migrating or replatforming to Sanity from AEM, Adobe Experience Manager, Contentful, Strapi, Webflow, WordPress, Payload, Drupal, Markdown/MDX/frontmatter files, WXR/XML exports, CMS APIs, database dumps, static HTML, or when designing extraction, transformation, Portable Text conversion, asset migration, redirects, validation, and cutover workflows.

Sections in SKILL.md

  1. Required Workflow
  2. Deliverables to Produce
  3. Defaults
  4. Sanity Guardrails
  5. Stop and Ask
  6. Do Not Do This
  7. Reference Map

Key facts

Installs on skills.sh
22,864 (Nov 2, 2026)
Last commit
Oct 27, 2026

What it includes

  • Read general.md, then the guide for your source system, then plan before coding

    The plan covers source access, scope, schema, extraction, transform, import, validation, redirects and cutover.

    Read · Required workflow

  • Nine guides: a general one plus AEM, Contentful, Strapi, Webflow, WordPress and more

    Each covers extraction routes, modeling traps and validation checks for that source.

    Read · Source guides

  • Content inventory, source-to-Sanity mapping, extraction, import plan and cutover plan

    For implementation or planning tasks Claude produces these artifacts, or says why one is not needed.

    Write · Deliverables

  • Stable IDs, rerunnable writes, source snapshots, Portable Text, uploaded assets

    Uses createOrReplace, createIfNotExists or `sanity datasets import --replace` so reruns converge.

    Write · Defaults

  • Guide runs contentful-cli export and the contentful-to-sanity tool

    The tool needs your Contentful management and delivery tokens and writes a dataset.ndjson you then import.

    Write · Contentful export

  • Guide reads the WP REST API with an app password, or WP-CLI exports

    It uses `$WP_USER` and `$WP_APP_PASSWORD` in a curl call and `wp` commands for post types, taxonomies and ACF fields.

    Files · WordPress extraction

  • Prints a plan and waits for approval before anything writes to Sanity

    It stops before destructive or high-volume writes so you review the generated files and choose when to run them.

    Agent checkpoint

  • Stops if access, target dataset, draft scope, media or schema are unclear

    Five conditions in SKILL.md.

    Stop and ask

  • Count, sample, reference and redirect checks before you call it done

    Includes `sanity documents validate` when the schema is available, and a legacy-versus-new route crawl.

    Network · Validation and cutover

From the official docs

Permissions

Medium risk

The skill is guidance, but the migrations it plans can overwrite Sanity documents and use your CMS tokens. Use a scratch dataset first and keep tokens out of chat.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Imports can replace existing Sanity documents

    The guides use `sanity datasets import --replace` and createOrReplace so reruns converge. Use a scratch dataset first, as SKILL.md suggests asking about, and keep a backup of the target. github.com

  • It works with your CMS credentials

    The guides use a Contentful management token on the command line, a WordPress app password and a Strapi admin token. Keep tokens in environment variables, not in chat or committed files. github.com

  • It runs third-party tools

    The Contentful guide runs `npx contentful-cli` and `npx contentful-to-sanity@latest`, and the Markdown guide installs npm packages. Review each command before you approve it. github.com

  • It stops before bulk writes

    The general playbook asks for one human checkpoint before anything writes to Sanity, and says to stop before destructive or high-volume writes so you run them. github.com

Technical details
Turning on read-onlyNo read-only mode. The plan-then-approve checkpoint comes before any write.
Sign-in and keysThe skill stores nothing itself. Source and Sanity credentials come from you, through environment variables or CLI sign-in.
Scopes
  • Source system credentials or exports you provide

  • Writes to the target Sanity dataset

  • Runs npx, curl and sanity CLI commands

Questions

What does sanity-migration do?

It makes Claude plan and script a move from another CMS into Sanity. It starts from a general playbook, adds a guide for your source system, and ends with validation and cutover checks.

Which CMSes does it cover?

AEM (Adobe Experience Manager), Contentful, Strapi, Webflow, WordPress including WXR exports, Payload, Drupal, and Markdown, MDX or frontmatter files. For other sources it says to adapt the closest guide.

Is it made by Sanity?

Yes. It sits in Sanity's own sanity-io/agent-toolkit repo, and the repo's plugin manifest lists Sanity as author.

How do I install sanity-migration?

Use the install box above. In Claude Code the Sanity plugin installs from the official marketplace and adds 9 other skills and the Sanity MCP server. The skills CLI route installs only this skill.

Will it migrate my content for me?

It plans first and prints the plan for your approval. The playbook says Claude generates the schemas, transform and import scripts, then lets you run them. It should stop before destructive or high-volume writes.

What do I need to provide?

The source access path, credentials or an export file, the target Sanity project and dataset, and whether drafts, locales and media are in scope. SKILL.md lists these as reasons to stop and ask.

Does it work in the Claude app or Codex?

There is no Claude app upload tab, because the guides run npx, curl and Sanity CLI commands. The README documents a Codex plugin and a Cursor plugin.

Is sanity-migration safe?

The skill bundles no scripts, but the migrations it plans can overwrite Sanity documents and need your CMS tokens. Try a scratch dataset first and review every command before you approve it.

Do I also need sanity-best-practices?

It is optional. SKILL.md says to use sanity-best-practices for deeper Sanity implementation guidance if it is already installed, and gives the command to add it if not.

Information

updated Nov 2, 2026

Folder
skills/sanity-migration

sanity-io/agent-toolkitskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 9
  1. sanity-io/agent-toolkit README · github.com
  2. marketplace.json · github.com
  3. SKILL.md · github.com
  4. general.md · github.com
  5. sanity plugin.json · github.com
  6. skills.sh listing · skills.sh
  7. contentful.md · github.com
  8. wordpress.md · github.com
  9. strapi.md · github.com

Updated Nov 2, 2026.