Communitygithub.com

maverickmaltin/map-route

Genera un video 3D en mapa con la ruta dibujándose entre dos lugares (1080x1920 MP4). Úsalo con /map-route y dos lugares, o cualquier solicitud para animar una ruta, viaje o indicaciones.

¿Qué es map-route?

Esta habilidad permite generar un video animado de alta calidad que muestra un mapa 3D con la ruta real entre dos ubicaciones, dibujándose a sí misma durante aproximadamente 4.5 segundos. El resultado es un archivo MP4 silencioso en resolución 1080×1920 (vertical, ideal para compartir en móviles). Es compatible con agentes como Claude Code y entornos que ejecuten scripts Python con acceso a Internet. El proceso consta de cuatro pasos: configuración inicial (verificación de dependencias como Playwright y FFmpeg), búsqueda de lugares y obtención de la ruta real usando servidores OSM y OSRM, revisión del último frame para confirmar que todo se ve correcto, y renderizado final del video. Soporta distintos modos de transporte (caminar, bicicleta, conducir, volar), estilos visuales (claro, oscuro, color) y unidades (métricas, imperiales). También permite personalizar títulos, subtítulos, colores de ruta y duración sin necesidad de buscar nuevamente las ubicaciones.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/maverickmaltin/claude-animate-skills/tree/HEAD/skills/map-route

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

/map-route: dos lugares, un mapa 3D, la ruta dibujándose

El usuario nombra dos lugares ("Times Square a Empire State", "Londres a París", "mi hotel en Lisboa al aeropuerto"). Tú los encuentras, obtienes la ruta real, verificas un fotograma, renderizas el video y entregas un MP4 silencioso (de unos 4.5 segundos).

${CLAUDE_SKILL_DIR} a continuación es la carpeta de esta habilidad (la que contiene este SKILL.md). Si tu entorno no la completa, usa la ruta de esa carpeta. Guarda todo en la carpeta actual del usuario, o en la carpeta que indique. Esta habilidad necesita conexión a Internet (búsquedas de mapas, rutas y teselas de mapas).

0. Verificación de configuración

python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" --check

Tarda unos segundos; ejecútalo si no estás seguro de que este equipo esté configurado. "ready": true significa que se puede continuar. De lo contrario, ejecuta los comandos que aparecen debajo de "fix", informando al usuario que es una instalación única: python3 -m pip install playwright (el controlador del navegador), python3 -m playwright install chromium (solo cuando Google Chrome o Edge no estén instalados, unos 150 MB) y python3 -m pip install imageio-ffmpeg (solo cuando falte ffmpeg). Si pip se niega con "externally managed environment", crea un entorno privado una vez y usa su Python para todos los comandos: python3 -m venv ~/.animate-skills && ~/.animate-skills/bin/pip install playwright imageio-ffmpeg, luego ~/.animate-skills/bin/python -m playwright install chromium si es necesario. En Windows, usa py en lugar de python3.

1. Encontrar los lugares y la ruta

Haz que cada lugar sea lo suficientemente específico para una búsqueda en el mapa: agrega la ciudad (y el país si es ambiguo): "Empire State" → "Empire State Building, New York". Luego:

python3 "${CLAUDE_SKILL_DIR}/scripts/route.py" "Times Square, New York" "Empire State Building, New York" \
  --labels "Times Square" "Empire State Building" --out map-<desde>-<hasta>.json
  • --labels: los nombres cortos que se muestran en los marcadores y la tarjeta.
  • --mode: auto (por defecto: caminar si menos de 4 km en línea recta, conducir si menos de 900 km, volar más allá o cuando no hay conexión por carretera), walk, bike, drive, fly. Usa lo que el usuario pidió ("conducir desde...", "volar hasta..."). Dos lugares de interés en la misma ciudad suelen ser a pie: pasa --mode walk hasta ~5 km a menos que hayan indicado lo contrario.
  • --style: light (por defecto), dark, color. --title "..." reemplaza la línea "A → B" en la tarjeta.
  • --units: auto (millas cuando ambos lugares están en EE. UU. o Reino Unido), metric, imperial. --size: 1080x1920 (por defecto), 1080x1080, 1920x1080.

Imprime lo que encontró. Verifica que las líneas from y to correspondan a los lugares que el usuario quiso decir (la ciudad correcta, el edificio correcto; un museo puede aparecer como una de sus entradas, lo cual está bien). Si no, haz el texto de búsqueda más específico y vuelve a ejecutarlo, como máximo unas pocas veces: estos son servidores comunitarios gratuitos, una solicitud a la vez.

Los lugares también pueden ser coordenadas ("40.7580,-73.9855") o direcciones postales.

2. Verificar el último fotograma

python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" map-<desde>-<hasta>.json --still end --out map-<desde>-<hasta>-check.png

Mira la imagen (tarda unos 10 segundos en generarse): ambos marcadores y sus nombres en pantalla, la ruta clara, la tarjeta correcta (distancia, tiempo, modo)?

3. Renderizar el video

python3 "${CLAUDE_SKILL_DIR}/scripts/render.py" map-<desde>-<hasta>.json --out map-<desde>-<hasta>.mp4

Unos 30-60 segundos: cada fotograma espera las teselas del mapa real. Si un renderizado sale negro o en blanco, agrega --no-gpu. Elimina la imagen de verificación.

4. Entregar

Entrega al usuario la ruta del MP4 (muéstralo si tu entorno puede mostrar archivos), junto con la distancia y el tiempo que muestra. No tiene sonido. Ofrece una variante (el estilo oscuro, otro modo, una versión más larga).

La especificación es JSON simple: puedes cambiar los nombres de los marcadores (from.name, to.name), title, subtitle (reemplaza la línea de distancia), style, color (el color de la ruta) o duration (segundos, por defecto ~4.5; uno más largo ralentiza todo el movimiento, por ejemplo, 7 para una versión más calmada) y renderizar de nuevo sin buscar nuevamente.

Sin acceso a Internet

El mapa necesita teselas de mapa en vivo y los servidores de enrutamiento. En un entorno limitado sin acceso a la red (o sin un navegador), informa al usuario en lugar de dibujar un mapa inventado.

Datos del mapa © Colaboradores de OpenStreetMap (ODbL), teselas de OpenFreeMap (esquema OpenMapTiles), rutas de OSRM en los servidores FOSSGIS. La línea de atribución permanece en el video.

Individual skills in this repo

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

Skills relacionados