用途:把 ArcGIS Portal 或 AGOL 端点上的内容迁移到 CARTO,覆盖内容发现、数据迁移与地图迁移三个环节。
主要能力:分三阶段共享同一份 MIGRATION_MANIFEST.md 作为事实来源。发现阶段枚举条目、分类并写入清单;数据阶段把 Hosted Feature Layers 与 Hosted Tables 转为 CARTO 表;地图阶段把 Web Maps 及简单的 Dashboard、Web Experience、Web Mapping Application 转为 CARTO Builder 地图。清单状态从 pending 累积到 in-progress、done、skipped 或 failed,重复运行幂等:已完成项跳过,失败项重试。
使用方式:按用户请求选择阶段,若指名单个条目则只处理该条目。全量迁移时三阶段顺序执行,每阶段结束后由用户审阅。发现必须先于迁移,数据必须先于地图;地图若引用未迁移数据会标记 failed(depends-on-unmigrated-data)。所有 carto 调用带 --json,所有 ArcGIS REST 调用带 &f=json,并在每次状态变化时更新清单。
前提条件:需要 carto-skills 插件;已认证的 carto CLI(carto auth login)且 carto connections list --json 中至少有一个连接;可访问的 ArcGIS Portal / AGOL 端点及凭据(完全公开的 AGOL 可匿名);数据阶段需要带 geopandas 与 pyarrow 的 Python 以提取 GeoParquet;地图阶段需要 sqlglot 做 Arcade 到 SQL 的校验。
适用场景与限制:这是命令行原生的批量、脚本化、依赖磁盘状态的工作流,需在具备真实 shell 的环境运行,如 Claude Code、Codex、Antigravity 等;不适用于仅支持 MCP 的聊天环境(Claude.ai、ChatGPT),因其没有文件系统或 Python。CARTO 侧的读取检查(表存在探测、列/几何内省、导入)有对应 MCP 对应项,但整体批处理循环、清单账本与 ArcGIS 提取仅限 CLI。迁移的地图统一打上 From ArcGIS 标签,隐私保持默认(私有)。运行中应把经验记录到 SESSION_LESSONS.md,缓存技能文件在运行时只读。具体命令与配置细节暂未提供。