arcgis-pro-automation — Claude Code skill: ArcGIS Pro via MCP
A skill that drives saved ArcGIS Pro projects and local datasets through arcgis-mcp-bridge: geoprocessing, projections, rasters, networks, layout export.
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a claude-codeWhat arcgis-pro-automation does
The skill spells out how an agent should work with .aprx projects and local geodatabases through arcgis-mcp-bridge. The bridge is an execution backend, not a licence to change data. Start with health_check, then send a request that actually imports ArcPy, such as get_spatial_reference or describe_dataset. Until that second call succeeds, the runtime is not ready for geoprocessing.
Inspection comes next: dataset descriptions, record counts, fields, coordinate system, extents, project layers, and the extension licences each operation needs. Mutations run one at a time, gated by confirm=true and only when the request names the exact operation and target; overwrite=true is a separate call. Outputs get reopened and checked — counts, geometry validity, CRS and units, raster statistics, network solve status.
You need Windows, a licensed ArcGIS Pro install, and a bridge worker interpreter that can import ArcPy. The skill does not drive the visible ArcGIS Pro UI and does not administer ArcGIS Online or Enterprise. When bridge tools are unreachable, it produces a setup or dry-run plan instead of faking tool output. Method choices belong to companion skills: terrain-hydrology, network-accessibility-analysis, spatial-statistics, remote-sensing-analysis, cartography-geoviz.
What it helps with
- inspect an
.aprxand its file geodatabase before analysis - run ArcPy geoprocessing without clicking through the UI
- reproject a dataset with the datum transformation resolved first
- compute kernel density or Moran's I and confirm the numbers
- export a map layout and check the resulting dimensions
Example prompts for the agent
- Run
health_checkand describe the layers insurvey.aprx - Compute kernel density from the points in
points.gdband write the result to the scratch GDB - Reproject the layer to EPSG:3857 and show me the geoprocessing messages
How to install arcgis-pro-automation
1Skills CLI (Vercel)
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a claude-code2Manually: put the files in place
~/.claude/skills/arcgis-pro-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/arcgis-pro-automation/
1Skills CLI (Vercel)
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a codex2Manually: put the files in place
.agents/skills/arcgis-pro-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a cursor2Manually: put the files in place
.cursor/skills/arcgis-pro-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install muend/geoai-skills arcgis-pro-automation2Manually: put the files in place
.github/skills/arcgis-pro-automation/SKILL.md1Skills CLI (Vercel)
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/muend/geoai-skills --path skills/arcgis-pro-automationManually: put the files in place
.devin/skills/arcgis-pro-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about arcgis-pro-automation
How do I install arcgis-pro-automation in Claude Code?
Run npx skills add muend/geoai-skills --skill arcgis-pro-automation -a claude-code. The skill lands at ~/.claude/skills/arcgis-pro-automation/SKILL.md.
What does arcgis-pro-automation do?
It defines the call order for arcgis-mcp-bridge tools: preflight, data inspection, tool planning, mutation authorization, step-by-step execution, and independent verification of outputs.
What do I need before it works?
Windows, a licensed ArcGIS Pro install, and a bridge worker interpreter with ArcPy available. health_check does not import ArcPy, so a second call that does is required.
Source text
SKILL.md · MIT
--- name: arcgis-pro-automation description: >- Automate controlled local ArcGIS Pro and ArcPy workflows through arcgis-mcp-bridge: inspect .aprx projects and file geodatabases, run geoprocessing, projection, raster, network, spatial-statistics, editing, symbology, and layout export with path and mutation guards. Use when the user explicitly names ArcGIS Pro, ArcPy, .aprx, .gdb, Esri geoprocessing, muend/arcgis-mcp-bridge, its health_check, PathGuard, or confirmation gates, or sketch-to-GIS extraction. Do not trigger for ArcGIS Online or Enterprise administration, QGIS or PyQGIS, generic open-source GIS, or live GUI control of an already-open ArcGIS Pro session. license: MIT metadata: author: Muhammed Enes Duran --- # ArcGIS Pro Automation Operate saved ArcGIS Pro projects and local GIS datasets through the guarded `arcgis-mcp-bridge` tool surface. Treat the bridge as an execution backend, not as permission to mutate data or claim a result that was never observed. ## Establish the boundary - Require Windows, a licensed ArcGIS Pro installation, and a bridge worker interpreter that can import ArcPy for real geoprocessing. - Use the bridge for local, headless, repeatable ArcPy work. It does not drive the visible ArcGIS Pro UI and does not administer ArcGIS Online or Enterprise. - If the bridge tools are not callable, provide setup or a dry execution plan. Never simulate tool output or imply that an `.aprx` or `.gdb` changed. - Use the schemas exposed by the connected MCP server. Tool names may be host- namespaced; match the semantic catalog name and never invent parameters. - Keep every read and write inside the configured allowed roots. Use absolute paths and a dedicated scratch geodatabase for intermediate outputs. Read [runtime and licensing](references/runtime-and-licensing.md) before the first execution or whenever setup, extension availability, or worker failures are in scope. ## Execute the workflow 1. **Define the contract.** Identify inputs, intended output artifacts, CRS and units, whether a saved `.aprx` must change, and which operations create, overwrite, append, or edit data. 2. **Preflight.** Call `health_check` first. Inspect its worker interpreter, allowed roots, scratch GDB, timeout, and concurrency. Because this call does not import ArcPy, follow it with a non-mutating ArcPy-backed request such as `get_spatial_reference`, `describe_dataset`, or `list_layers` before treating the runtime as execution-ready. 3. **Inspect before acting.** Read dataset descriptions, counts, fields, CRS, extents, project maps/layers, and required extension licenses. Resolve datum transformations, units, and output naming before analysis. 4. **Plan exact tools.** Select the smallest declarative sequence from [tool routing](references/tool-routing.md). Separate read-only inspection, new-output creation, and in-place mutation. Prefer new outputs and working copies over edits to source data. 5. **Authorize mutations.** Read [safety and validation](references/safety-and-validation.md) before any write. Set `confirm=true` only when the user's request clearly authorizes the exact mutating operation and target. Treat `overwrite=true` as a separate explicit decision. Stop on ambiguous target, scope, or intent. 6. **Execute incrementally.** Run one dependent step at a time; preserve returned output paths and geoprocessing messages. Parallelize only independent jobs when license seats, memory, and `max_workers` are known to support them. 7. **Verify independently.** Re-open outputs and test the relevant invariants: existence, count, geometry validity, CRS and units, raster statistics and NoData, network solve status, project contents, or exported layout dimensions. A success status alone is not evidence of a correct GIS result. ## Route domain method and execution separately Use this skill for the ArcGIS execution layer. Pair it with the relevant domain skill when method choice or scientific validity is substantive: - DEM, slope, drainage, or viewsheds → `terrain-hydrology` - routing, service areas, OD, or facilities → `network-accessibility-analysis` - Moran's I, Gi*, kernel density, or spatial inference → `spatial-statistics` - raster/imagery preprocessing and interpretation → `remote-sensing-analysis` - map design before `.aprx` styling or layout export → `cartography-geoviz` - multi-stage cross-domain delivery → `geoai-orchestrator` Do not activate ArcGIS automation merely because an open format can be read by ArcGIS. A GeoPackage, GeoJSON, raster, or `.gdb` request that explicitly chooses GDAL, GeoPandas, QGIS, PostGIS, or another runtime belongs to that specialist. ## Handle failures without bypasses - `validation`: correct the payload against the live schema; do not relax types. - `security`: move or copy only with user authorization; never broaden allowed roots merely to make a call pass. - `license`: report the unavailable base or extension license. Use an alternative only when it is methodologically equivalent and disclose the change. - `geoprocessing`: preserve ArcPy messages, inspect inputs/environment, and retry only after a concrete correction. Never retry an in-place mutation blindly. - `internal` or worker crash: preserve the error boundary and stop claiming state. ## Deliver evidence Report the tool sequence, inspected inputs, exact output paths, mutations and authorization basis, relevant ArcPy messages, verification results, license and runtime constraints, and unresolved limitations. For current tool or platform claims, consult [the authoritative source registry](references/authoritative-sources.md) and record the checked date. ## Execution contract - **Workflow:** establish the local ArcGIS boundary; preflight server and ArcPy separately; inspect data and project state; plan exact tools; authorize writes; execute incrementally; reopen and verify outputs. - **Decision rules:** use the bridge only for explicit local ArcGIS Pro or ArcPy work, pair it with domain-method skills when needed, prefer new outputs, and reserve confirmation and overwrite flags for clearly authorized targets. - **Verification protocol:** reconcile counts, geometry, CRS and units, raster or network diagnostics, `.aprx` contents, exported artifacts, returned paths, and geoprocessing messages against the stated success criteria. - **Failure modes:** stop for absent bridge tools, failed ArcPy preflight, unknown CRS or datum transform, paths outside allowed roots, missing licenses, ambiguous mutation scope, worker crashes, or unverified output state. - **Deliverables:** reproducible tool plan and calls, exact inputs and outputs, mutation record, ArcPy messages, validation evidence, runtime and license provenance, and limitations. - **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before applying bridge, ArcPy, licensing, or platform rules and record the checked date.
© Muhammed Enes Duran · MIT · muend/geoai-skills