npx skills add ...
npx skills add nousresearch/hermes-agent --skill maps
Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.
npx skills add nousresearch/hermes-agent --skill maps
Location intelligence using free, open data sources. 8 commands, 44 POI categories, zero dependencies (Python stdlib only), no API key required.
Data sources: OpenStreetMap/Nominatim, Overpass API, OSRM, TimeAPI.io.
This skill supersedes the old find-nearby skill — all of find-nearby's
functionality is covered by the nearby command below, with the same
--near "<place>" shortcut and multi-category support.
nearbysearchreversenearbydistancedirectionstimezonearea + bboxPython 3.8+ (stdlib only — no pip installs needed).
Script path: ~/.hermes/skills/maps/scripts/maps_client.py
Returns: lat, lon, display name, type, bounding box, importance score.
Returns: full address breakdown (street, city, state, country, postcode).
46 categories: restaurant, cafe, bar, hospital, pharmacy, hotel, guest_house, camp_site, supermarket, atm, gas_station, parking, museum, park, school, university, bank, police, fire_station, library, airport, train_station, bus_stop, church, mosque, synagogue, dentist, doctor, cinema, theatre, gym, swimming_pool, post_office, convenience_store, bakery, bookshop, laundry, car_wash, car_rental, bicycle_rental, taxi, veterinary, zoo, playground, stadium, nightclub.
Each result includes: name, address, lat/lon, distance_m,
maps_url (clickable Google Maps link), directions_url (Google Maps
directions from the search point), and promoted tags when available —
cuisine, hours (opening_hours), phone, website.
Modes: driving (default), walking, cycling. Returns road distance, duration, and straight-line distance for comparison.
Returns numbered steps with instruction, distance, duration, road name, and maneuver type (turn, depart, arrive, etc.).
Returns timezone name, UTC offset, and current local time.
Returns bounding box coordinates, width/height in km, and approximate area. Useful as input for the bbox command.
Finds POIs within a geographic rectangle. Use area first to get the
bounding box coordinates for a named place.
When a user sends a location pin, the message contains latitude: and
longitude: fields. Extract those and pass them straight to nearby:
Present results as a numbered list with names, distances, and the
maps_url field so the user gets a tap-to-open link in chat. For "open
now?" questions, check the hours field; if missing or unclear, verify
with web_search since OSM hours are community-maintained and not always
current.
"Find Italian restaurants near the Colosseum":
nearby --near "Colosseum Rome" --category restaurant --radius 500
— one command, auto-geocoded"What's near this location pin they sent?":
nearby LAT LON cafe --radius 1500"How do I walk from hotel to conference center?":
directions "Hotel Name" --to "Conference Center" --mode walking"What restaurants are in downtown Seattle?":
area "Downtown Seattle" → get bounding boxbbox S W N E restaurant --limit 30nearby requires lat/lon OR --near "<address>" — one of the two is neededdistance and directions use --to flag for the destination (not positional)# By coordinates (from a Telegram location pin, for example)
python $MAPS nearby 48.8584 2.2945 restaurant --limit 10
python $MAPS nearby 40.7128 -74.0060 hospital --radius 2000
# By address / city / zip / landmark — --near auto-geocodes
python $MAPS nearby --near "Times Square, New York" --category cafe
python $MAPS nearby --near "90210" --category pharmacy
# Multiple categories merged into one query
python $MAPS nearby --near "downtown austin" --category restaurant --category bar --limit 10python $MAPS distance "Paris" --to "Lyon"
python $MAPS distance "New York" --to "Boston" --mode driving
python $MAPS distance "Big Ben" --to "Tower Bridge" --mode walkingpython $MAPS directions "Eiffel Tower" --to "Louvre Museum" --mode walking
python $MAPS directions "JFK Airport" --to "Times Square" --mode drivingpython $MAPS timezone 48.8584 2.2945
python $MAPS timezone 35.6762 139.6503python $MAPS area "Manhattan, New York"
python $MAPS area "London"python $MAPS bbox 40.75 -74.00 40.77 -73.98 restaurant --limit 20# User sent a pin at 36.17, -115.14 and asked "find cafes nearby"
python $MAPS nearby 36.17 -115.14 cafe --radius 1500python ~/.hermes/skills/maps/scripts/maps_client.py search "Statue of Liberty"
# Should return lat ~40.689, lon ~-74.044
python ~/.hermes/skills/maps/scripts/maps_client.py nearby --near "Times Square" --category restaurant --limit 3
# Should return a list of restaurants within ~500m of Times Square