Route planning
Skill cxcscmu/SkillLearnBench/skills/b1-one-shot-claude-haiku-4-5/travel-planning/route-planning
[COLM'26] SkillLearnBench is the first benchmark for evaluating continual learning methods that automatically generate agent skills.
npx -y skills add cxcscmu/SkillLearnBench --skill route-planningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Plan multi-city road trip routes using distance matrices and constraints
SKILL.md
3.7 KB, 887 tokens by cl100k_base, as published. Nobody here has run it
Route Planning Skill
Overview
Plan efficient multi-city road trips with constraints like starting point, number of days, and no-fly requirements.
Core Strategy
Distance-Based Route Optimization
- Use distance matrix to calculate travel times/distances
- Minimize backtracking between cities
- Allocate days based on travel time and activities per city
Day Allocation Strategy
- 1 day for initial travel to first city
- Remaining days distributed across 3 Ohio cities
- Typical allocation: 2-2-2 days or 2-2-3 depending on distances
- Last day may include return travel (not full return in this case)
Python Code Example
from typing import List, Dict, Tuple
from itertools import permutations
def find_best_route(
start_city: str,
num_cities: int,
available_cities: List[str],
distance_matrix: Dict[str, Dict[str, float]]
) -> Tuple[List[str], float]:
"""
Find optimal route visiting num_cities starting from start_city.
Returns (route, total_distance)
"""
best_route = None
best_distance = float('inf')
# Try all permutations of available cities
for perm in permutations(available_cities[:num_cities]):
route = [start_city] + list(perm)
total_distance = calculate_route_distance(route, distance_matrix)
if total_distance < best_distance:
best_distance = total_distance
best_route = route
return best_route, best_distance
def calculate_route_distance(route: List[str], distance_matrix: Dict) -> float:
"""Calculate total distance for a route"""
total = 0
for i in range(len(route) - 1):
from_city = route[i]
to_city = route[i + 1]
if from_city in distance_matrix and to_city in distance_matrix[from_city]:
total += float(distance_matrix[from_city][to_city])
else:
return float('inf') # Invalid route
return total
def allocate_days_to_cities(
num_days: int,
num_cities: int
) -> List[int]:
"""
Allocate days across cities.
First city gets 1 day (travel day), remaining split among other cities.
"""
# First city gets 1 day for arrival/travel
remaining_days = num_days - 1
remaining_cities = num_cities
days_per_city = [1] # First city
# Distribute remaining days
base_days = remaining_days // remaining_cities
extra_days = remaining_days % remaining_cities
for i in range(remaining_cities):
days = base_days + (1 if i < extra_days else 0)
days_per_city.append(days)
return days_per_city
def estimate_travel_time(distance: float, mph: float = 60) -> float:
"""Estimate driving time in hours"""
return distance / mph
Route Selection Considerations
- Starting Point: Minneapolis, Minnesota
- Destination: 3 Ohio cities (Cleveland, Columbus, Cincinnati are major options)
- No Flights: Must use self-driving/ground transport
- Distance Budget: 7-day trip with reasonable daily driving (6-8 hours max)
- Circular vs Linear: Consider if returning to Minneapolis or ending in Ohio
Typical Route Pattern
Day 1: Minneapolis → City 1 (travel day, possibly long drive)
Day 2-3: City 1 (explore attractions, dining)
Day 4: City 1 → City 2 (short/medium drive)
Day 5-6: City 2 (explore attractions, dining)
Day 7: City 2 → City 3 OR City 2 (final day)
Usage Example
route, distance = find_best_route(
start_city='Minneapolis',
num_cities=3,
available_cities=['Cleveland', 'Columbus', 'Cincinnati'],
distance_matrix=distances
)
days_allocation = allocate_days_to_cities(
num_days=7,
num_cities=3
)