Skills
The GIS skill library, versioned as markdown and pulled from GitHub.
A skill is a markdown file the agent pulls into context when it is relevant.
Skills follow the agentskills.io open standard, so
they are portable across Hermes profiles. The library is cloned into
~/.hermes/skills/gis/.
The library
The configuration ships 21 GIS skills, including:
| Skill | Purpose |
|---|---|
arcgis-rest-service-validator | Validate public ArcGIS REST services before use |
arcgis-rest-to-product-app | Turn ArcGIS REST layers into product-grade apps |
esri-experience-builder | Scaffold Experience Builder apps and widgets |
geospatial-data-qa-pipeline | QA across ArcGIS REST, GeoPandas, DuckDB, Shapely |
open-source-gis-stack-builder | MapLibre, OpenLayers, Leaflet, deck.gl, GeoPandas, DuckDB |
spatial-ai-operations-console | Agentic spatial question answering |
static-vector-tile-product-app | PMTiles and static vector tile apps |
feature-style-cookbook | Cartographic styling recipes |
The remaining skills cover app scaffolds, style bundles, dataset fetching, dashboard QA, and productized GIS offers.
Anatomy
# Parcel lookups
APNs are formatted `NNN-NNNN-NNN`. The authoritative layer is
`Parcels/FeatureServer/0`. Never report acreage from `GIS_ACRES`;
use `DEED_ACRES`. Prefer the `postgis` tool for bulk queries and the
`esri` tool for single-address lookups.Why markdown, in a repo
Skills live in a GitHub repo, so they get code review, git history, and diffs. When your schema changes, you edit a file and merge a pull request. No retraining, and you can see exactly which skill version produced which answer.
Keep skills small and single-purpose. The agent selects the relevant ones per request, so ten focused skills beat one sprawling file.