plan-tour-route
정보
이 스킬은 TSP 알고리즘을 사용해 경유지 순서를 최적화하고 OSM 데이터를 통해 이동 시간을 계산하여 다중 정류장 관광 경로를 계획합니다. 운전, 도보 또는 대중교통 경로를 따라 POI 탐색이 포함된 일정을 생성합니다. 여러 목적지 간 이동 시간을 최소화해야 하는 여행 계획기를 구축할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/plan-tour-routeClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Plan Tour Route
Planificar y optimizar una ruta turística multi-parada con estimaciones de tiempo, cálculos de distancia y puntos de interés a lo largo del camino.
Cuándo Usar
- Planificar un viaje por carretera o recorrido a pie con múltiples destinos
- Optimizar el orden de visitas para minimizar el tiempo total de viaje o la distancia
- Descubrir restaurantes, miradores o sitios culturales a lo largo de una ruta
- Generar un itinerario día por día con presupuestos de tiempo realistas
- Comparar opciones de conducción vs. caminata vs. transporte público
Entradas
- Requerido: Lista de puntos intermedios (nombres de lugares, direcciones o coordenadas)
- Requerido: Modo de viaje (conducción, caminata, ciclismo, transporte público)
- Opcional: Puntos de inicio y fin (si son diferentes del primer/último punto intermedio)
- Opcional: Restricciones de tiempo (hora de salida, hora límite de llegada, horarios de apertura)
- Opcional: Categorías de POI a descubrir (comida, miradores, museos, combustible)
- Opcional: Tipo de ruta preferido (más rápida, más corta, escénica)
Procedimiento
Paso 1: Definir Puntos Intermedios
Recopilar y estructurar todas las paradas que el recorrido debe incluir.
Waypoint Schema:
┌──────────┬────────────────────────────────────────────┐
│ Field │ Description │
├──────────┼────────────────────────────────────────────┤
│ name │ Human-readable label for the stop │
│ address │ Street address or place name │
│ lat/lon │ Coordinates (if known; otherwise geocode) │
│ duration │ Time to spend at this stop (minutes) │
│ priority │ Must-visit vs. nice-to-have │
│ hours │ Opening/closing times (if applicable) │
│ notes │ Parking, accessibility, booking required │
└──────────┴────────────────────────────────────────────┘
Separar los puntos intermedios de orden fijo (ej., hotel al inicio y fin) de los puntos intermedios reordenables.
Esperado: Una lista estructurada de todos los puntos intermedios con al menos un nombre y ya sea una dirección o coordenadas para cada uno.
En caso de fallo: Si un punto intermedio es ambiguo (ej., "el castillo"), usar WebSearch para resolverlo a una ubicación específica. Si se necesitan coordenadas pero solo hay un nombre disponible, diferir al Paso 2 para geocodificación.
Paso 2: Geocodificar y Validar
Convertir todos los puntos intermedios a coordenadas de latitud/longitud y verificar que son alcanzables.
Geocoding Sources (in preference order):
1. Nominatim (OpenStreetMap) - free, no key required
https://nominatim.openstreetmap.org/search?q=QUERY&format=json
2. Overpass API - for POI-type queries
https://overpass-api.de/api/interpreter
3. Manual coordinates from mapping services
Para cada punto intermedio:
- Consultar el servicio de geocodificación con la dirección o nombre del lugar
- Verificar que las coordenadas devueltas están en la región esperada
- Comprobar que los resultados múltiples se desambigüen (elegir el correcto)
- Almacenar las coordenadas junto con los datos originales del punto intermedio
Esperado: Cada punto intermedio tiene coordenadas válidas de latitud/longitud, y todos los puntos caen dentro de una región geográfica plausible (sin valores atípicos en continentes incorrectos).
En caso de fallo: Si la geocodificación no devuelve resultados, intentar grafías alternativas, agregar calificadores de región/país, o buscar puntos de referencia cercanos. Si un punto intermedio está en un área remota con pobre cobertura de OSM, usar WebSearch para encontrar coordenadas de blogs de viaje o sitios de turismo.
Paso 3: Optimizar el Orden de la Ruta
Determinar la secuencia de visitas que minimiza el tiempo total de viaje o la distancia.
Optimization Strategies:
┌─────────────────────┬────────────────────────────────────────┐
│ Strategy │ When to use │
├─────────────────────┼────────────────────────────────────────┤
│ Fixed order │ Stops must be visited in given sequence│
│ Nearest neighbor │ Quick approximation for 5-15 stops │
│ TSP solver │ Optimal ordering for any number │
│ Time-window aware │ Stops have opening hours constraints │
│ Cluster-then-route │ Stops span multiple days/regions │
└─────────────────────┴────────────────────────────────────────┘
Para la heurística de vecino más cercano:
- Comenzar en el origen designado
- Desde la posición actual, seleccionar el punto intermedio no visitado más cercano por tiempo de viaje
- Moverse a ese punto intermedio y marcarlo como visitado
- Repetir hasta que todos los puntos intermedios estén visitados
- Regresar al punto final designado (si es viaje de ida y vuelta)
Para recorridos de varios días, agrupar puntos intermedios por proximidad geográfica primero, luego optimizar dentro de cada día.
Esperado: Una secuencia ordenada de puntos intermedios que produce una ruta sin retrocesos excesivos. La distancia total debería estar dentro del 20% del óptimo teórico para menos de 10 paradas.
En caso de fallo: Si el resultado del vecino más cercano tiene retrocesos obvios (paradas posteriores están más cerca de paradas anteriores), intentar invertir la ruta o usar una mejora 2-opt: intercambiar pares de aristas y mantener el intercambio si acorta la ruta. Para restricciones de ventanas de tiempo, verificar que los tiempos de llegada a cada parada caigan dentro de los horarios de apertura.
Paso 4: Calcular Tiempos y Distancias
Calcular el tiempo de viaje y la distancia para cada tramo de la ruta.
Time Estimation Methods:
┌──────────────┬────────────┬────────────────────────────────┐
│ Mode │ Avg Speed │ Notes │
├──────────────┼────────────┼────────────────────────────────┤
│ Highway │ 100 km/h │ Varies by country/road type │
│ Rural road │ 60 km/h │ Add 20% for winding roads │
│ City driving │ 30 km/h │ Add time for parking │
│ Walking │ 4.5 km/h │ Flat terrain; reduce for hills │
│ Cycling │ 15 km/h │ Touring pace with luggage │
│ Hiking │ 3-4 km/h │ Use Munter formula for accuracy│
└──────────────┴────────────┴────────────────────────────────┘
Para cada par consecutivo de puntos intermedios:
- Calcular la distancia en línea recta (haversine) como referencia base
- Aplicar un factor de desvío (1.3 para carreteras, 1.4 para urbano, 1.2 para autopistas)
- Estimar el tiempo de viaje a partir de la distancia ajustada y la velocidad del modo
- Agregar tiempo de margen: 10% para conducción, 15% para transporte público
- Sumar los tiempos de tramo más los tiempos de permanencia en cada parada para la duración total del recorrido
Esperado: Una matriz de tiempo/distancia para todos los tramos, con un tiempo acumulado que tiene en cuenta tanto el viaje como el tiempo de permanencia en cada parada. La duración total del recorrido debería ser realista (no exceder las horas de luz disponibles para recorridos a pie).
En caso de fallo: Si los tiempos estimados parecen poco realistas (ej., 2 horas para un recorrido urbano de 10 km), verificar si el factor de desvío es apropiado. Para carreteras de montaña, aumentar el factor de desvío a 1.6-2.0. Para transporte público, usar WebSearch para consultar horarios reales en lugar de estimar.
Paso 5: Generar Itinerario con POIs
Compilar la ruta optimizada en un itinerario completo con puntos de interés descubiertos.
POI Discovery (Overpass API query pattern):
[out:json];
(
node["tourism"="viewpoint"](around:RADIUS,LAT,LON);
node["amenity"="restaurant"](around:RADIUS,LAT,LON);
node["amenity"="cafe"](around:RADIUS,LAT,LON);
);
out body;
Recommended search radius:
- Along route corridor: 500 m for walking, 2 km for driving
- At waypoints: 1 km radius
Construir el documento de itinerario:
- Encabezado con nombre del recorrido, fechas, distancia total, tiempo total
- Para cada día (si es de varios días):
- Resumen del día (inicio, fin, km totales, horas totales)
- Para cada tramo: hora de salida, modo de viaje, distancia, duración
- Para cada parada: hora de llegada, tiempo de permanencia, descripción, POIs cercanos
- Sección de logística: estacionamiento, paradas de combustible, áreas de descanso, contactos de emergencia
- Referencia del mapa (enlace a la ruta en OpenStreetMap o exportar como GPX)
Esperado: Un documento de itinerario completo con horarios realistas, sugerencias de POI en cada parada e información logística práctica.
En caso de fallo: Si las consultas de POI devuelven demasiados resultados, filtrar por calificación o relevancia. Si el itinerario excede el tiempo disponible, marcar las paradas de menor prioridad como opcionales o dividir en días adicionales. Si no se encuentran POIs en áreas remotas, anotarlo y sugerir que el viajero investigue localmente al llegar.
Validación
- Todos los puntos intermedios están geocodificados con coordenadas válidas
- El orden de la ruta minimiza retrocesos (sin ineficiencias obvias)
- Los tiempos de viaje son realistas para el modo elegido
- Los tiempos de permanencia en cada parada están contabilizados
- La duración total del recorrido cabe dentro de la ventana de tiempo disponible
- Los POIs son relevantes y están ubicados cerca de la ruta
- Los horarios de apertura de las paradas sensibles al tiempo se respetan
- El itinerario incluye logística práctica (estacionamiento, combustible, paradas de descanso)
Errores Comunes
- Ignorar horarios de apertura: Optimizar puramente por distancia puede dirigirte a un museo después de que cierra. Siempre verificar restricciones de ventana de tiempo para atracciones.
- Subestimar el viaje urbano: La conducción y el estacionamiento en la ciudad pueden duplicar el tiempo esperado. Agregar márgenes generosos para paradas urbanas.
- Sobrecargar el itinerario: Llenar cada minuto no deja margen para retrasos o descubrimientos espontáneos. Incorporar 30-60 minutos de holgura por medio día.
- Falacia de distancia en línea recta: La distancia haversine subestima severamente la distancia real por carretera, especialmente en terreno montañoso o costero. Siempre aplicar un factor de desvío.
- Olvidar la logística de retorno: Las rutas de un solo sentido necesitan planes para devolver autos de alquiler, tomar trenes o coordinar recogidas.
- Cierres estacionales de carreteras: Los pasos de montaña, transbordadores y rutas escénicas pueden estar cerrados estacionalmente. Verificar las fechas de acceso antes de trazar la ruta.
Habilidades Relacionadas
create-spatial-visualization— renderizar la ruta planificada en un mapa interactivogenerate-tour-report— compilar el itinerario en un informe formateado de Quartoplan-hiking-tour— planificación especializada para segmentos de senderismo dentro de un recorridoassess-trail-conditions— verificar condiciones para cualquier tramo de caminata/senderismo
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
