Communitygithub.com

Maps Skill

Geokodierung, POIs, Routen, Zeitzonen mittels OpenStreetMap/OSRM.

Was ist Maps Skill?

Dieser Skill ermöglicht Standortabfragen ohne API-Key oder externe Abhängigkeiten – nur Python-Standardbibliothek. Er nutzt OpenStreetMap, Nominatim, Overpass API, OSRM und TimeAPI.io für Geokodierung, POI-Suche, Routenplanung, Distanzen und Zeitzonen. Mit 8 Befehlen und 49 POI-Kategorien deckt er die Funktionalität des früheren `find-nearby`-Skills vollständig ab und erweitert sie um die `area`- und `bbox`-Befehle für geografische Rechtecksuchen. Der Skill kann direkt Telegram-Location-Pins verarbeiten und bietet Auto-Geokodierung über das `--near`-Flag. Er integriert sich nahtlos in Hermes-ähnliche Systeme und erfordert nur Python 3.8+.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Lord1Egypt/awesome-skill-forge/tree/HEAD/skills/maps

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Maps Skill?

Standorternächtigung mittels freier, offener Datenquellen. 8 Befehle, 49 POI-Kategorien, keine Abhängigkeiten (nur Python-Standardbibliothek), kein API-Key erforderlich.

Datenquellen: OpenStreetMap/Nominatim, Overpass API, OSRM, TimeAPI.io.

Dieser Skill ersetzt den alten find-nearby-Skill – alle Funktionen von find-nearby sind unten im nearby-Befehl enthalten, mit dem gleichen --near "<Ort>"-Kürzel und Multi-Kategorie-Unterstützung.

Verwendungszwecke

  • Der Benutzer sendet einen Telegram-Standortpin (Breitengrad/Längengrad in der Nachricht) → nearby
  • Der Benutzer möchte Koordinaten für einen Ortsnamen → search
  • Der Benutzer hat Koordinaten und möchte die Adresse → reverse
  • Der Benutzer fragt nach Restaurants, Krankenhäusern, Apotheken, Hotels usw. in der Nähe → nearby
  • Der Benutzer möchte Fahr-/Weg-/Radfahrstrecke oder Reisezeit → distance
  • Der Benutzer möchte eine Schritt-für-Schritt-Wegebschreibung zwischen zwei Orten → directions
  • Der Benutzer möchte Zeitzoneninformationen für einen Standort → timezone
  • Der Benutzer möchte POIs innerhalb eines geografischen Gebiets suchen → area + bbox

Voraussetzungen

Python 3.8+ (nur Standardbibliothek – keine pip-Installation erforderlich).

Skriptpfad: ~/.hermes/skills/maps/scripts/maps_client.py

Befehle

MAPS=~/.hermes/skills/maps/scripts/maps_client.py

search – Ortsnamen geokodieren

python3 $MAPS search "Eiffelturm"
python3 $MAPS search "1600 Pennsylvania Ave, Washington DC"

Rückgabe: lat, lon, Anzeigename, Typ, Bounding-Box, Bedeutungsgrad.

reverse – Koordinaten in Adresse umwandeln

python3 $MAPS reverse 48.8584 2.2945

Rückgabe: vollständige Adressaufschlüsselung (Straße, Stadt, Bundesland, Land, Postleitzahl).

nearby – Orte nach Kategorie suchen

# Nach Koordinaten (z.B. von einem Telegram-Standortpin)
python3 $MAPS nearby 48.8584 2.2945 restaurant --limit 10
python3 $MAPS nearby 40.7128 -74.0060 hospital --radius 2000

# Nach Adresse / Stadt / PLZ / Wahrzeichen – --near geokodiert automatisch
python3 $MAPS nearby --near "Times Square, New York" --category cafe
python3 $MAPS nearby --near "90210" --category pharmacy

# Mehrere Kategorien in einer Abfrage zusammengefasst
python3 $MAPS nearby --near "downtown austin" --category restaurant --category bar --limit 10

49 Kategorien: 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, fast_food, food_court.

Jedes Ergebnis enthält: name, address, lat/lon, distance_m, maps_url (anklickbarer Google-Maps-Link), directions_url (Google-Maps-Route ab Suchpunkt) sowie bei vorhanden hervorgehobene Tags – cuisine, hours (öffnungszeiten), phone, website.

distance – Fahrstrecke und -zeit

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

Modi: driving (Standard), walking, cycling. Rückgabe: Straßenentfernung, Dauer und Luftlinie zum Vergleich.

directions – Schritt-für-Schritt-Navigation

python3 $MAPS directions "Eiffelturm" --to "Louvre Museum" --mode walking
python3 $MAPS directions "JFK Flughafen" --to "Times Square" --mode driving

Rückgabe: nummerierte Schritte mit Anweisung, Entfernung, Dauer, Straßenname und Manövertyp (abbiegen, abfahren, ankommen usw.).

timezone – Zeitzone für Koordinaten

python3 $MAPS timezone 48.8584 2.2945
python3 $MAPS timezone 35.6762 139.6503

Rückgabe: Zeitzonenname, UTC-Offset und aktuelle Ortszeit.

area – Bounding-Box und Fläche für einen Ort

python3 $MAPS area "Manhattan, New York"
python3 $MAPS area "London"

Rückgabe: Bounding-Box-Koordinaten, Breite/Höhe in km und ungefähre Fläche. Nützlich als Eingabe für den bbox-Befehl.

bbox – Suche innerhalb einer Bounding-Box

python3 $MAPS bbox 40.75 -74.00 40.77 -73.98 restaurant --limit 20

Findet POIs innerhalb eines geografischen Rechtecks. Verwenden Sie zuerst area, um die Bounding-Box-Koordinaten für einen benannten Ort zu erhalten.

Umgang mit Telegram-Standortpins

Wenn ein Benutzer einen Standortpin sendet, enthält die Nachricht Felder latitude: und longitude:. Extrahieren Sie diese und übergeben Sie sie direkt an nearby:

# Benutzer hat einen Pin bei 36.17, -115.14 gesendet und fragt "finde Cafés in der Nähe"
python3 $MAPS nearby 36.17 -115.14 cafe --radius 1500

Präsentieren Sie die Ergebnisse als nummerierte Liste mit Namen, Entfernungen und dem maps_url-Feld, damit der Benutzer im Chat einen anklickbaren Link erhält. Bei Fragen nach "ist jetzt geöffnet?" prüfen Sie das hours-Feld; wenn es fehlt oder unklar ist, verifizieren Sie mit web_search, da OSRM-Öffnungszeiten von der Community gepflegt werden und nicht immer aktuell sind.

Workflow-Beispiele

"Finde italienische Restaurants in der Nähe des Kolosseums":

  1. nearby --near "Colosseum Rome" --category restaurant --radius 500 — ein Befehl, automatisch geokodiert

"Was gibt es in der Nähe dieses Standortpins, den er gesendet hat?":

  1. Extrahiere lat/lon aus der Telegram-Nachricht
  2. nearby LAT LON cafe --radius 1500

"Wie gehe ich vom Hotel zum Kongresszentrum?":

  1. directions "Hotel Name" --to "Conference Center" --mode walking

"Welche Restaurants gibt es in der Innenstadt von Seattle?":

  1. area "Downtown Seattle" → Bounding-Box ermitteln
  2. bbox S W N E restaurant --limit 30

Fallstricke

  • Nominatim ToS: max. 1 Anfrage/s (wird automatisch vom Skript behandelt)
  • nearby benötigt lat/lon ODER --near "<Adresse>" – eines von beiden ist erforderlich
  • OSRM-Routenabdeckung ist am besten für Europa und Nordamerika
  • Overpass API kann zu Stoßzeiten langsam sein; das Skript fällt automatisch zwischen Spiegelservern zurück (overpass-api.de → overpass.kumi.systems)
  • distance und directions verwenden das --to-Flag für das Ziel (nicht positional)
  • Wenn eine Postleitzahl allein weltweit mehrdeutige Ergebnisse liefert, Land/Bundesland angeben

Verifikation

python3 ~/.hermes/skills/maps/scripts/maps_client.py search "Freiheitsstatue"
# Sollte lat ~40.689, lon ~-74.044 zurückgeben

python3 ~/.hermes/skills/maps/scripts/maps_client.py nearby --near "Times Square" --category restaurant --limit 3
# Sollte eine Liste von Restaurants innerhalb von ca. 500 m um den Times Square zurückgeben

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a insurance agency. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generates a complete landing page with copy, layout, hero image, and responsive design from a text description. Use when launching a product quickly.

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a family law practice. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a fractional CFO firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a home remodeling company. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a HVAC service company. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a immigration law firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a CPA tax advisory firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a estate planning law firm. Use when handling...

Lord1Egypt/awesome-skill-forge

Fastest way to create or update a pawr.link profile. One curl command, $19 USDC to create, $0.10 to update. Patch-style update-links endpoint lets you add, remove, or move individual links without replacing the whole profile.

Lord1Egypt/awesome-skill-forge

Use this skill when the user wants to review today, look back on yesterday, reflect on this week, or wrap things up with a gentle, low-pressure reflection.

Lord1Egypt/awesome-skill-forge

Read-only queue dashboard for workspace-aware ship. (gstack)

Lord1Egypt/awesome-skill-forge

Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust signals, form optimization, and conversion rate potential. Use when user says landing page, post-click experience, landing page audit, LP audit, conversion rate, landing page CRO, post-click CRO, or landing page optimization.

Lord1Egypt/awesome-skill-forge

Create HTML-based video compositions, animated title cards, social overlays, captioned talking-head videos, audio-reactive visuals, and shader transitions using HyperFrames. HTML is the source of truth for video. Use when the user wants a rendered MP4/WebM from an HTML composition, wants to animate text/logos/charts over media, needs captions synced to audio, wants TTS narration, or wants to convert a website into a video.

Lord1Egypt/awesome-skill-forge

Search arXiv papers by keyword, author, category, or ID.

Lord1Egypt/awesome-skill-forge

Delegate coding to OpenAI Codex CLI (features, PRs).

Lord1Egypt/awesome-skill-forge

Track Apple devices/AirTags via FindMy.app on macOS.

Lord1Egypt/awesome-skill-forge

Jailbreak LLMs: Parseltongue, GODMODE, ULTRAPLINIAN.

Lord1Egypt/awesome-skill-forge

Notion API + ntn CLI: pages, databases, markdown, Workers.

Lord1Egypt/awesome-skill-forge

p5.js sketches: gen art, shaders, interactive, 3D.

Verwandte Skills