agentsclimarketplace

Travel itinerary planner

Skill cxcscmu/SkillLearnBench/skills/b4-skill-creator-claude-sonnet-4-6/travel-planning/travel-itinerary-planner

[COLM'26] SkillLearnBench is the first benchmark for evaluating continual learning methods that automatically generate agent skills.

Install
npx -y skills add cxcscmu/SkillLearnBench --skill travel-itinerary-planner

Assembled 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

Build a structured multi-day travel itinerary JSON from real CSV datasets. Use this skill whenever the user asks to create a travel plan, trip itinerary, or vacation schedule from a local database of cities, restaurants, accommodations, and attractions.

SKILL.md

3.6 KB, 832 tokens by cl100k_base, as published. Nobody here has run it

Travel Itinerary Planner

Purpose

Generate a valid itinerary.json from real-world CSV data files for a multi-city road trip, respecting budget, dietary, pet, and transportation constraints.

Input Requirements

Collect from user prompt:

  • Origin city and destination cities
  • Travel dates and duration (number of days)
  • Total budget (USD)
  • Party size and special needs (pets, dietary preferences)
  • Transportation mode (road trip = no flights)
  • Meal cuisine preferences

Dataset Locations

DatasetPath
City listdata/background/citySet_with_states.txt
Restaurantsdata/restaurants/clean_restaurant_2022.csv
Accommodationsdata/accommodations/clean_accommodations_2022.csv
Attractionsdata/attractions/attractions.csv
Distancesdata/googleDistanceMatrix/distance.csv

Planning Workflow

Step 1 — Select Destination Cities

Query citySet_with_states.txt to confirm cities exist in the dataset for the target state.

Step 2 — Plan Route and Travel Days

  • Look up driving distances/durations in distance.csv (columns: origin,destination,cost,duration,distance)
  • Assign travel days for long drives; designate full days for city exploration
  • No flights allowed if user specifies road trip

Step 3 — Select Pet-Friendly Accommodations

Filter clean_accommodations_2022.csv:

  • city matches destination
  • house_rules does NOT contain "No pets"
  • minimum nights ≤ number of nights planned in that city
  • Choose highest review rate number within budget

Accommodation cost = price × number of nights in that city.

Step 4 — Select Restaurants by Cuisine

Filter clean_restaurant_2022.csv:

  • City matches current city
  • Cuisines contains one of the preferred cuisines
  • Spread meals across preferred cuisine types across the trip
  • Skip meals ("-") on long travel days when meals aren't practical

Step 5 — Select Attractions

From attractions.csv:

  • City matches current city
  • Choose 2–4 per full day in city
  • Format: "Name1;Name2;Name3;" (semicolon-separated, trailing semicolon)

Step 6 — Budget Check

Total = sum(accommodation nightly rate × nights per city) + sum(meal average costs)
Target: Total ≤ budget

Transport has no explicit cost in datasets (self-driving); gas/misc covered by remaining budget.

Output JSON Structure

{
  "plan": [
    {
      "day": 1,
      "current_city": "from A to B",
      "transportation": "Self-driving: from A to B",
      "breakfast": "Restaurant Name, City",
      "lunch": "-",
      "dinner": "Restaurant Name, City",
      "attraction": "-",
      "accommodation": "Accommodation Name, City"
    }
  ],
  "data_sources": [
    "background/citySet_with_states.txt",
    "accommodations/clean_accommodations_2022.csv",
    "restaurants/clean_restaurant_2022.csv",
    "attractions/attractions.csv",
    "googleDistanceMatrix/distance.csv"
  ]
}

Key Rules

  • Travel days: current_city = "from A to B", skip attractions, include meals only when practical
  • Staying days: current_city = city name, list attractions, full meals
  • Last day (return): accommodation = "-" (back home)
  • Always end attraction strings with a trailing semicolon
  • All data must come from the CSV files — never invent restaurants, accommodations, or attractions

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.