api-and-interface-desi…
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.
$ npx -y skills add kevinnft/ai-agent-skills --skill maps --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/mapsContext preview
The summary Claude sees to decide when to auto-load this skill.
Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.
name: maps
description: "Geocode, POIs, routes, timezones via OpenStreetMap/OSRM."
version: 1.2.0
author: Mibayy
license: MIT
metadata:
hermes:
tags: [maps, geocoding, places, routing, distance, directions, nearby, location, openstreetmap, nominatim, overpass, osrm]
category: productivity
requires_toolsets: [terminal]
supersedes: [find-nearby]
origin: aggregated
source_license: MIT
source_repo: NousResearch/hermes-agent
source_url: https://github.com/NousResearch/hermes-agent/tree/main/skills/productivity/maps
language: enLocation 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.
Python 3.8+ (stdlib only — no pip installs needed).
Script path: `~/.hermes/skills/maps/scripts/maps_client.py`
MAPS=~/.hermes/skills/maps/scripts/maps_client.py
python3 $MAPS search "Eiffel Tower" python3 $MAPS search "1600 Pennsylvania Ave, Washington DC"
Returns: lat, lon, display name, type, bounding box, importance score.
python3 $MAPS reverse 48.8584 2.2945
Returns: full address breakdown (street, city, state, country, postcode).
# By coordinates (from a Telegram location pin, for example) python3 $MAPS nearby 48.8584 2.2945 restaurant --limit 10 python3 $MAPS nearby 40.7128 -74.0060 hospital --radius 2000 # By address / city / zip / landmark — --near auto-geocodes python3 $MAPS nearby --near "Times Square, New York" --category cafe python3 $MAPS nearby --near "90210" --category pharmacy # Multiple categories merged into one query python3 $MAPS nearby --near "downtown austin" --category restaurant --category bar --limit 10
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`.
python3 $MAPS distance "Paris" --to "Lyon" python3 $MAPS distance "New York" --to "Boston" --mode driving python3 $MAPS distance "Big Ben" --to "Tower Bridge" --mode walking
Modes: driving (default), walking, cycling. Returns road distance, duration, and straight-line distance for comparison.
python3 $MAPS directions "Eiffel Tower" --to "Louvre Museum" --mode walking python3 $MAPS directions "JFK Airport" --to "Times Square" --mode driving
Returns numbered steps with instruction, distance, duration, road name, and maneuver type (turn, depart, arrive, etc.).
python3 $MAPS timezone 48.8584 2.2945 python3 $MAPS timezone 35.6762 139.6503
Returns timezone name, UTC offset, and current local time.
python3 $MAPS area "Manhattan, New York" python3 $MAPS area "London"
Returns bounding box coordinates, width/height in km, and approximate area. Useful as input for the bbox command.
python3 $MAPS bbox 40.75 -74.00 40.77 -73.98 restaurant --limit 20
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`:
# User sent a pin at 36.17, -115.14 and asked "find cafes nearby" python3 $MAPS nearby 36.17 -115.14 cafe --radius 1500
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":** 1. `nearby --near "Colosseum Rome" --category restaurant --radius 500` — one command, auto-geocoded
**"What's near this location pin they sent?":** 1. Extract lat/lon from the Telegram message 2. `nearby LAT LON cafe --radius 1500`
**"How do I walk from hotel to conference center?":** 1. `directions "Hotel Name" --to "Conference Center" --mode walking`
**"What restaurants are in downtown Seattle?":** 1. `area "Downtown Seattle"` → get bounding box 2. `bbox S W N E restaurant --limit 30`
191 attribution-first agent skills for Hermes Agent, Claude Code, Cursor — one installer, 28 categories, searchable catalog. See NOTICE for upstream attribution.
Repo: kevinnft/ai-agent-skills
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Tests in real browsers. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze…
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test…
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to…
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend…
Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure…