Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add muend/geoai-skills --skill arcgis-pro-automation -a claude-code
Open on GitHub

What 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 .aprx and 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_check and describe the layers in survey.aprx
  • Compute kernel density from the points in points.gdb and 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-code

2Manually: put the files in place

~/.claude/skills/arcgis-pro-automation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/arcgis-pro-automation/

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

Similar skills

All skills for Automation and no-code: n8n, Zapier, Make →

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor