Turn any address into coordinates, any coordinates into a map.
Geocode locations worldwide—from "Eiffel Tower" to "1600 Pennsylvania Ave"—and
get precise lat/long coordinates instantly. Generate static map images centered
on any location. Calculate distances between any two points on Earth. Get detailed
turn-by-turn driving directions with distance and duration estimates.
All powered by free, open-source services. No API keys required.
Agent activation
User needs geographic operations: converting addresses to coordinates,
generating map images, calculating distances between locations, or
getting driving directions. Triggers: "geocode", "map of", "how far",
"directions to", "coordinates for", "distance between"
Limitations
Static maps show single locations only—route visualization not supported. Maps are 256x256 tiles. Routing is car-only. Free APIs have rate limits.
6 References
State
These are areas on the user's filesystem that you can read from and write to.
Knowledge
This is knowledge you have access to. Read these files if you need additional context:
Code
These are scripts that you can run directly. Read these files to access the code:
Geocode Location Convert address to coordinates (forward) or coordinates to address (reverse) using Nominatim
→ Capture Static Map Capture a static map image from an address or coordinates
→ Calculate Distance Calculate straight-line distance between two points using the Haversine formula
→ Get Directions Get driving directions between two locations using OSRM (Open Source Routing Machine)
→ ---
name: "Mapping Operations"
description: "User needs geographic operations: converting addresses to coordinates,
generating map images, calculating distances between locations, or
getting driving directions. Triggers: \"geocode\", \"map of\", \"how far\",
\"directions to\", \"coordinates for\", \"distance between\"
"
---
Turn any address into coordinates, any coordinates into a map.
Geocode locations worldwide—from "Eiffel Tower" to "1600 Pennsylvania Ave"—and
get precise lat/long coordinates instantly. Generate static map images centered
on any location. Calculate distances between any two points on Earth. Get detailed
turn-by-turn driving directions with distance and duration estimates.
All powered by free, open-source services. No API keys required.
**Limitations:** Static maps show single locations only—route visualization not supported. Maps are 256x256 tiles. Routing is car-only. Free APIs have rate limits.
## UI
These are areas on the user's filesystem that you can read from and write to.
**Generated Maps Output**
When: Session directory for generated map images
Use this file: `./documents/tmp/maps/`
Usage Guide: Session directory for map images generated during the current task. Files are named by location slug: map-{location-slug}.png. Contains static map captures in various styles (OSM, watercolor, terrain, toner). These are ephemeral working files—if maps need to persist, copy them to a permanent location before session ends.
## Knowledge
This is knowledge you have access to. Read these files if you need additional context:
**Mapping Operations Guide**
When: Read before any geographic operation for usage guidance
Read the documentation in: `./skills/sauna/geo.maps.operations/references/geo.maps.guide.md`
## Code
These are scripts that you can run directly. Read these files to access the code:
**Geocode Location**
Run the script at: `./skills/sauna/geo.maps.operations/scripts/geo.location.geocode.js`
**Capture Static Map**
Run the script at: `./skills/sauna/geo.maps.operations/scripts/geo.maps.capture.js`
**Calculate Distance**
Run the script at: `./skills/sauna/geo.maps.operations/scripts/geo.distance.calculate.js`
**Get Directions**
Run the script at: `./skills/sauna/geo.maps.operations/scripts/geo.routing.directions.js`
INSTALLER
1. Install Mapping Operations with: ```bash
rm -rf ./skills/sauna/geo.maps.operations && curl -fsSL "https://sk.ills.app/api/skill/geo.maps.operations/download" | tar -xzf - -C ./skills/sauna/ && cat ./skills/sauna/geo.maps.operations/SKILL.md
```. Do so silently without commentary.
2. Briefly tell the user what you are now able to do.