Hermes
Getting started

Installation

Install Hermes Agent, clone the 21 GIS skills, validate the package, and optionally connect GIS tools.

Requirements

Required:

  • Hermes Agent
  • A model provider configured for the Hermes profile
  • Git and Python 3 for cloning and running the package validator

Optional, depending on your work:

  • Public or authenticated ArcGIS REST access
  • QGIS and GDAL/OGR
  • PostgreSQL/PostGIS or DuckDB Spatial
  • GeoPandas, Shapely, pyproj, Rasterio, Fiona, or OSMnx
  • Tippecanoe/PMTiles tooling
  • MapLibre, OpenLayers, Leaflet, deck.gl, or ArcGIS Maps SDK
  • Approved MCP servers or custom Hermes tools

Credentials are optional

Public ArcGIS REST services, STAC catalogs, open-data portals, and local-file workflows may require no credentials. Add credentials only for systems you explicitly choose to connect.

1. Install Hermes Agent

Follow the current official Hermes documentation:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup

Official docs: hermes-agent.nousresearch.com/docs

2. Install the skills

Default profile

git clone https://github.com/daraobeirnecode/hermes-gis-skills.git \
  "$HOME/.hermes/skills/gis"

Named profile

PROFILE=mercator
TARGET="$HOME/.hermes/profiles/$PROFILE/skills/gis"
git clone https://github.com/daraobeirnecode/hermes-gis-skills.git "$TARGET"

The cloned directory contains 21 child directories, each with a SKILL.md and optional references/ folder.

3. Validate and confirm discovery

python3 "$HOME/.hermes/skills/gis/scripts/validate.py"
hermes skills list

For a named profile:

hermes -p mercator skills list

A valid package reports:

{
  "ok": true,
  "skill_count": 21,
  "issues": []
}

Start a new session after installation. If the target profile runs through a messaging gateway, restart that profile's gateway after changing installed skills.

4. Try a read-only task

hermes -s arcgis-rest-service-validator chat -q \
  "Explain how you would validate a public ArcGIS FeatureServer before use. Do not make writes."

This verifies skill loading and planning. It does not prove that an ArcGIS, PostGIS, QGIS, or other execution tool is connected.

5. Connect optional tools

Configure only the tools your environment needs. Use public access or least-privilege, read-only credentials first. Keep secrets in the protected Hermes profile environment or the external system's credential store—never in this repository or a skill file.

See Optional GIS tools and integrations.

Updating

Check for local changes before pulling:

git -C "$HOME/.hermes/skills/gis" status --short --branch
git -C "$HOME/.hermes/skills/gis" pull --ff-only
python3 "$HOME/.hermes/skills/gis/scripts/validate.py"

If you maintain organization-specific changes, fork the repository and review upstream changes through pull requests instead of overwriting local work.

Uninstalling

Review the target path before removing it. Deleting the cloned GIS skill directory does not uninstall Hermes or any GIS software.

On this page