Forward and reverse geocoding via Nominatim (no API key, ~1 req/sec).
Scanned 6/14/2026
Install via CLI
openskills install lordmacu/nexo-rs---
name: OpenStreetMap
description: Forward and reverse geocoding via Nominatim (no API key, ~1 req/sec).
requires:
bins: []
env: []
---
# OpenStreetMap
Use this skill for geocoding (place → coordinates) and reverse geocoding
(coordinates → address). Backed by the `openstreetmap` extension which calls
Nominatim. No API key needed.
## Use when
- "Find coordinates for this address"
- "What address is at lat 40.42, lon -3.70?"
- "Look up a place but avoid Google APIs"
- Need a free, no-key alternative to `goplaces` / Google Places
## Do not use when
- Need rich POI data (reviews, photos, opening hours) → use `goplaces`
- Need driving directions or routing
- High-frequency batch geocoding (Nominatim caps at ~1 req/sec)
## Tools
### `status`
No arguments. Returns provider/endpoint/rate-limit info.
### `search` (forward geocoding)
- `query` (string, required) — place query (e.g., "Museo del Prado, Madrid")
- `limit` (integer, optional, 1–20, default 5)
- `country_codes` (string, optional) — comma-separated ISO codes (e.g., "es,pt")
Returns `results: [{display_name, lat, lon, class, type, importance, boundingbox}]`.
### `reverse` (reverse geocoding)
- `lat` (number, required, -90..90)
- `lon` (number, required, -180..180)
- `zoom` (integer, optional, 0..18, default 18)
Returns `{display_name, resolved:{lat,lon}, address:{road,city,state,country,country_code,postcode,...}}`.
## Execution guidance
- Tool calls are throttled to ~1 req/sec per Nominatim usage policy. Do not loop fast.
- Prefer `country_codes` to disambiguate common place names ("Springfield", "Cambridge").
- Report `display_name` so the user can verify the right place was matched.
- If `search` returns `-32001 not found`, try a broader query or include the country.
- For routing/driving directions, OSM is not the right tool here.
No comments yet. Be the first to comment!
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.