carto-arcgis-migration

Installation
SKILL.md

carto-arcgis-migration

A single skill that takes an ArcGIS Portal / AGOL endpoint and lands its content in CARTO. Three phases, run in order, sharing one source of truth — MIGRATION_MANIFEST.md in the working directory:

  1. Discover — enumerate items, classify, write the manifest. See references/discover.md.
  2. Migrate data — Hosted Feature Layers + Hosted Tables → CARTO tables (Datasets section of the manifest). See references/migrate-data.md.
  3. Migrate maps — Web Maps + simple Dashboard / Web Experience / Web Mapping Application entries → CARTO Builder maps (Web Maps + Apps sections of the manifest). See references/migrate-maps.md.

The manifest accumulates state — every phase updates entries from pendingin-progressdone / skipped / failed. Re-runs are idempotent: done entries are skipped; failed entries are retried.

Access path — CLI-native. Migration is a bulk, scripted, disk-state workflow (manifest files on disk, Python extraction, batch carto runs). Run it where a real shell exists (Claude Code, Codex, Antigravity, etc.); it does not run on MCP-only chat hosts (Claude.ai, ChatGPT), which have no filesystem or Python. The CARTO-side read checks it makes — table-exists probes, column/geometry introspection, imports — do have MCP equivalents (execute_query, explore_data describe, import_data), but the overall batch loop, the manifest ledger, and ArcGIS extraction are CLI-only, so the skill drives the carto CLI throughout. See carto-basics/references/access-paths.md for the routing model.

Prerequisites

  • The carto-skills plugin (this catalog). The migration phases delegate CARTO-side mechanics — imports, queries, map authoring — to carto-import-export-data, carto-query-datawarehouse, carto-explore-datawarehouse, and carto-create-builder-maps.
  • Authenticated carto CLI (carto auth login) with at least one connection in carto connections list --json.
  • Access to an ArcGIS Portal / AGOL endpoint, plus credentials (or anonymous for fully public AGOL).
  • Python with geopandas + pyarrow for GeoParquet extraction in the data phase. sqlglot is required by the maps phase for Arcade-to-SQL validation.
Installs
42
GitHub Stars
6
First Seen
May 15, 2026
carto-arcgis-migration — cartodb/agent-skills