/map-route: zwei Orte, eine 3D-Karte, die Route zeichnet sich selbst
Der Benenner nennt zwei Orte („Times Square nach Empire State Building“, „London nach Paris“, „mein Hotel in Lissabon zum Flughafen“). Du findest sie, holst die reale Route, überprüfst einen Frame, renderst das Video und übergibst ein lautloses MP4 (ca. 4,5 Sekunden).
${CLAUDE_SKILL_DIR} im Folgenden ist der Ordner dieses Skills (der Ordner, in dem diese SKILL.md liegt). Falls deine Umgebung ihn nicht setzt, verwende den Pfad dieses Ordners. Speichere alles im aktuellen Ordner des Benutzers oder in dem von ihm genannten Ordner. Dieser Skill benötigt eine Internetverbindung (Kartensuche, Routen und Kartenkacheln).
0. Setup-Überprüfung
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" --check
Es dauert ein paar Sekunden; führe es aus, wenn du nicht sicher bist, ob dieser Computer eingerichtet ist. "ready": true bedeutet los. Andernfalls führe die unter "fix" aufgeführten Befehle aus und teile dem Benutzer mit, dass es sich um eine einmalige Installation handelt: python3 -m pip install playwright (der Browser-Treiber), python3 -m playwright install chromium (nur wenn Google Chrome oder Edge nicht installiert ist, ca. 150 MB) und python3 -m pip install imageio-ffmpeg (nur wenn ffmpeg fehlt). Falls pip sich mit „externally managed environment“ weigert, erstelle einmal eine private Umgebung und verwende ihr Python für alle Befehle:
python3 -m venv ~/.animate-skills && ~/.animate-skills/bin/pip install playwright imageio-ffmpeg, dann ~/.animate-skills/bin/python -m playwright install chromium falls nötig. Unter Windows verwende py statt python3.
1. Die Orte und die Route finden
Mache jeden Ort für eine Kartensuche ausreichend genau: füge die Stadt hinzu (und ggf. das Land, wenn es mehrdeutig ist): „Empire State“ → „Empire State Building, New York“. Dann:
python3 "${CLAUDE_SKILL_DIR}/scripts/route.py" "Times Square, New York" "Empire State Building, New York" \
--labels "Times Square" "Empire State Building" --out map-<von>-<nach>.json
--labels: die kurzen Namen, die auf den Pins und der Karte angezeigt werden.--mode:auto(Standard: Gehen unter 4 km in gerader Linie, Autofahren unter 900 km, Fliegen darüber hinaus oder wenn keine Straßenverbindung besteht),walk,bike,drive,fly. Verwende, was der Benutzer gewünscht hat („Fahre von …“, „Fliege nach …“). Zwei Sehenswürdigkeiten in derselben Stadt sind normalerweise zu Fuß erreichbar: Verwende bis ca. 5 km--mode walk, es sei denn, der Benutzer sagt etwas anderes.--style:light(Standard),dark,color.--title "…"ersetzt die Zeile „A → B“ auf der Karte.--units:auto(Meilen, wenn beide Orte in den USA oder Großbritannien liegen),metric,imperial.--size:1080x1920(Standard),1080x1080,1920x1080.
Es gibt das Gefundene aus. Überprüfe die Zeilen from und to, ob es die vom Benutzer gemeinten Orte sind (die richtige Stadt, das richtige Gebäude; ein Museum kann als einer seiner Eingänge erscheinen, das ist in Ordnung). Falls nicht, präzisiere den Suchtext und führe es erneut aus, höchstens einige Male: Dies sind kostenlose Community-Server, eine Anfrage nach der anderen.
Orte können auch Koordinaten ("40.7580,-73.9855") oder Straßenadressen sein.
2. Den letzten Frame überprüfen
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" map-<von>-<nach>.json --still end --out map-<von>-<nach>-check.png
Betrachte das Bild (ca. 10 Sekunden Erstellungszeit): Sind beide Pins und ihre Namen auf dem Bildschirm, die Route klar, die Karte in Ordnung (Entfernung, Zeit, Modus)?
3. Das Video rendern
python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" map-<von>-<nach>.json --out map-<von>-<nach>.mp4
Dauer ca. 30-60 Sekunden: Jeder Frame wartet auf die echten Kartenkacheln. Falls ein Render schwarz oder leer erscheint, füge --no-gpu hinzu. Lösche das Überprüfungsbild.
4. Ausliefern
Gib dem Benutzer den Pfad des MP4 (zeige es an, falls deine Umgebung Dateien anzeigen kann), zusammen mit der angezeigten Entfernung und Zeit. Es hat keinen Ton. Biete eine Variation an (den dunklen Stil, einen anderen Modus, eine längere Version).
Das Spezifikationsformat ist einfaches JSON: Du kannst die Pin-Namen (from.name, to.name), title, subtitle (ersetzt die Entfernungszeile), style, color (die Farbe der Route) oder duration (Sekunden, Standard ca. 4,5; eine längere Dauer verlangsamt die gesamte Bewegung, z. B. 7 für eine ruhigere Version) ändern und ohne erneute Suche neu rendern.
Ohne Internetzugang
Die Karte benötigt live Kartenkacheln und die Routing-Server. In einer Sandbox ohne Netzwerkzugriff (oder ohne Browser) informiere den Benutzer stattdessen, anstatt eine erfundene Karte zu zeichnen.
Kartendaten © OpenStreetMap-Mitwirkende (ODbL), Kacheln von OpenFreeMap (OpenMapTiles-Schema), Routen von OSRM auf den FOSSGIS-Servern. Der Quellenvermerk bleibt im Video erhalten.