用途:该技能面向 CMS 到 Sanity 的迁移工作,把迁移视为内容策略与 ETL 项目,而非盲目整体搬迁。适用于从 AEM、Contentful、Strapi、Webflow、WordPress/WXR/Elementor、Payload、Drupal 以及 Markdown/MDX/frontmatter 文件迁移或重新平台化到 Sanity。
主要能力:先阅读 references/general.md,若来源平台已知再读对应指南(如 references/aem.md、references/contentful.md、references/wordpress.md、references/markdown.md 等)。在写代码前产出简短迁移计划,涵盖来源访问、内容范围、schema 决策、抽取、转换、导入、验证、重定向与切换。产出内容清单、来源到 Sanity 的映射、抽取方式、转换/导入计划与切换计划等交付物。
使用方式与默认做法:优先使用确定性、可重复的脚本;使用由来源 ID、slug、路径或哈希派生的稳定文档 ID;使用 createOrReplace、createIfNotExists 或 sanity datasets import --replace 使重跑收敛;转换前先把来源数据快照到磁盘;先导入被引用文档;富文本转为 Portable Text;资源上传到 Sanity 或 Media Library;切换前产出验证摘要并保留旧 URL 与来源 ID。若项目使用 TypeScript,schema 或 GROQ 查询变更后运行 schema 抽取与 TypeGen;对目标数据集使用 MCP/内容工具前先部署或应用 schema 变更。
限制与注意:来源访问路径、凭据、导出文件或数据库连接,目标 Sanity 项目/数据集,草稿/归档/计划/语言/版本范围,媒体是否迁移,目标 schema 是否存在等不明确时应先停下询问。不要为来源文档创建随机 ID,不要用 MCP 内容工具跑大批量迁移,不要留下必需媒体、作者、引用或富文本转换的 TODO,未做计数、抽样、引用与路由/重定向检查前不得宣布迁移完成。更深入的 Sanity 实现指导可安装 sanity-best-practices:npx skills add sanity-io/agent-toolkit --skill sanity-best-practices。