---
id: sm-travel-planner
name: "travel-planner"
url: https://skills.yangsir.net/skill/sm-travel-planner
author: ailabs-393
domain: lifestyle
tags: ["travel-planning", "itinerary-management", "route-optimization", "booking-systems", "user-experience"]
install_count: 2400
rating: 4.30 (20 reviews)
github: https://github.com/ailabs-393/ai-labs-claude-skills
---

# travel-planner

> 将Claude转变为全面的旅行规划助手，根据用户偏好生成详细、个性化的旅行计划，提升旅行体验。

**Stats**: 2,400 installs · 4.3/5 (20 reviews)

## Before / After 对比

### 个性化旅行规划

| Metric | Before | After | Change |
|---|---|---|---|
| - | - | - | - |
| - | - | - | - |
| - | - | - | - |

## Readme

# travel-planner

# Travel Planner

## Overview

This skill transforms Claude into a comprehensive travel planning assistant that maintains your travel preferences and generates detailed, personalized trip plans including itineraries, budget breakdowns, packing lists, and cultural guidelines for any destination.

## When to Use This Skill

Invoke this skill for travel-related tasks:

- Planning trips and creating itineraries

- Budget planning and expense tracking

- Destination research and recommendations

- Packing checklists

- Cultural etiquette and do's/don'ts

- Pre-trip preparation timelines

- Travel preference management

## Workflow

### Step 1: Check for Existing Preferences

Check if travel preferences exist:

```
python3 scripts/travel_db.py is_initialized

```

If "false", proceed to Step 2 (Setup). If "true", proceed to Step 3 (Trip Planning).

### Step 2: Initial Preference Collection

When no preferences exist, collect comprehensive travel information:

**Travel Style & Budget:**

- Budget level: budget, mid-range, luxury

- Travel pace: relaxed, moderate, packed

- Accommodation preferences: hostel, hotel, Airbnb, resort

- Travel companions: solo, couple, family, group

**Interests & Activities:**

- Sightseeing & landmarks

- Food & culinary experiences

- Adventure & outdoor activities

- Culture & history

- Beach & relaxation

- Nightlife & entertainment

- Shopping

- Nature & wildlife

- Photography

- Wellness & spa

**Dietary & Health:**

- Dietary restrictions (vegetarian, vegan, allergies)

- Accessibility needs

- Health considerations

- Fitness level

**Languages & Skills:**

- Languages spoken

- Travel experience level

- Comfort with adventure

**Previous Travel:**

- Countries/cities visited

- Favorite destinations

- Bucket list destinations

**Saving Preferences:**

```
import sys
sys.path.append('[SKILL_DIR]/scripts')
from travel_db import save_preferences

preferences = {
    "travel_style": "adventurous",
    "budget_level": "mid-range",
    "accommodation_preference": ["boutique hotels", "Airbnb"],
    "interests": ["culture", "food", "hiking", "photography"],
    "dietary_restrictions": ["vegetarian"],
    "pace_preference": "moderate",
    "travel_companions": "couple",
    "language_skills": ["English", "Spanish"],
    "previous_destinations": ["Paris", "Tokyo", "Barcelona"],
    "bucket_list": [
        {"destination": "New Zealand", "notes": "Lord of the Rings locations"},
        {"destination": "Peru", "notes": "Machu Picchu"}
    ]
}

save_preferences(preferences)

```

Replace `[SKILL_DIR]` with actual skill path.

### Step 3: Create New Trip

When user wants to plan a trip, gather:

**Essential Information:**

- **Destination**: City/country

- **Dates**: Departure and return dates (or flexible date range)

- **Duration**: Number of days

- **Budget**: Total budget or daily budget

- **Purpose**: Vacation, business, special occasion

- **Must-see/do**: Specific attractions or activities

**Creating Trip:**

```
from travel_db import add_trip

trip = {
    "destination": {
        "city": "Barcelona",
        "country": "Spain",
        "region": "Catalonia"
    },
    "departure_date": "2025-06-15",
    "return_date": "2025-06-22",
    "duration_days": 7,
    "budget": {
        "total": 2500,
        "currency": "USD"
    },
    "purpose": "vacation",
    "travelers": 2,
    "climate": "warm Mediterranean",
    "activities": ["sightseeing", "food tours", "beach", "architecture"],
    "accommodation": {
        "type": "boutique hotel",
        "location": "Gothic Quarter"
    }
}

trip_id = add_trip(trip, status="current")

```

### Step 4: Research Destination

Use web search to gather current information:

**Essential Research:**

- **Entry Requirements** - Visa, passport, vaccinations

- **Best Time to Visit** - Weather, seasons, festivals

- **Safety Information** - Travel advisories, safe areas, common scams

- **Cultural Norms** - Do's and don'ts (use `references/cultural_etiquette.md` as guide)

- **Local Transportation** - Metro, buses, taxis, apps

- **Top Attractions** - Must-see places with hours and prices

- **Food Recommendations** - Local specialties, popular restaurants

- **Neighborhoods** - Where to stay, where to explore

- **Day Trip Options** - Nearby attractions

- **Practical Info** - Currency, tipping, power outlets, language

**Search Topics to Cover:**

- "[Destination] visa requirements for [nationality]"

- "[Destination] best time to visit weather"

- "[Destination] cultural do's and don'ts"

- "[Destination] top attractions and activities"

- "[Destination] local transportation guide"

- "[Destination] where to stay neighborhoods"

- "[Destination] food and restaurants"

- "[Destination] scams to avoid"

- "[Destination] budget guide"

- "[Destination] 7-day itinerary"

### Step 5: Generate Detailed Travel Plan

Create comprehensive plan with all components:

**A. Day-by-Day Itinerary**

Structure each day based on user's pace preference and research:

```
Day 1: Arrival & Gothic Quarter
- Morning (9:00 AM): Arrive Barcelona, hotel check-in
- Late Morning (11:00 AM): Walking tour of Gothic Quarter
  - Barcelona Cathedral
  - Plaça Reial
  - Las Ramblas (brief walk)
- Afternoon (2:00 PM): Lunch at Cal Pep (tapas)
- Afternoon (4:00 PM): Picasso Museum
- Evening (7:00 PM): Dinner in El Born neighborhood
- Evening (9:00 PM): Stroll along waterfront

Transportation: Metro from airport (30 min, €5)
Estimated Cost: €120/person (meals, museum, transport)
Notes: Book Picasso Museum tickets online in advance

```

Repeat for each day, ensuring:

- Logical geographic grouping

- Realistic timing with buffers

- Mix of activity types

- Meal suggestions

- Transportation details

- Estimated costs

- Booking notes

**B. Budget Breakdown**

Use `plan_generator.py` or create manually:

```
from plan_generator import calculate_budget_breakdown

budget = calculate_budget_breakdown(
    total_budget=2500,
    num_days=7,
    accommodation_level="mid-range"
)

```

Present as:

```
Total Budget: $2,500 (7 days)
Daily Average: $357

Breakdown:
- Accommodation: $875 (35%) - $125/night
  * Boutique hotel in Gothic Quarter
  * Includes breakfast

- Food: $625 (25%) - $89/day
  * Breakfast: Included
  * Lunch: $25-30/person
  * Dinner: $40-50/person
  * Snacks/drinks: $15/day

- Activities: $625 (25%) - $89/day
  * Sagrada Familia: $35
  * Park Güell: $13
  * Picasso Museum: $15
  * Food tour: $95
  * Day trip to Montserrat: $50
  * Other attractions: ~$100

- Transportation: $250 (10%) - $36/day
  * Airport transfers: $35 each way
  * Metro pass (7-day): $40
  * Taxis: ~$100 total

- Miscellaneous: $125 (5%)
  * Tips, emergencies, souvenirs

```

**C. Packing Checklist**

Generate using `plan_generator.py` or based on destination climate/activities:

```
from plan_generator import generate_packing_checklist

checklist = generate_packing_checklist(
    destination_climate="warm Mediterranean",
    duration_days=7,
    trip_activities=["sightseeing", "beach", "dining"]
)

```

Customize and present:

```
ESSENTIALS:
- [ ] Passport (check 6-month validity)
- [ ] Visa (if required)
- [ ] Travel insurance documents
- [ ] Hotel confirmations
- [ ] Flight tickets
- [ ] Credit cards (notify bank)
- [ ] Euros cash (€200-300)
- [ ] Phone & charger
- [ ] European plug adapter
- [ ] Medications

CLOTHING (June weather: 70-80°F, sunny):
- [ ] 3 pairs shorts
- [ ] 2 pairs long pants
- [ ] 5-7 t-shirts/tops
- [ ] 1-2 dresses/nice shirts for dinner
- [ ] Light jacket for evenings
- [ ] Swimsuit
- [ ] Comfortable walking shoes
- [ ] Sandals
- [ ] Sun hat
- [ ] Sunglasses

ACTIVITIES:
- [ ] Day backpack
- [ ] Reusable water bottle
- [ ] Camera
- [ ] Beach towel (compact)
- [ ] Sunscreen SPF 50
- [ ] Walking tour comfortable shoes

```

**D. Cultural Do's and Don'ts**

Research and present country-specific guidelines (use `references/cultural_etiquette.md` as template):

```
SPAIN / BARCELONA - Cultural Etiquette

DO'S:
✓ Greet with "Hola" and a kiss on each cheek (friends)
✓ Learn basic Spanish/Catalan phrases
✓ Eat dinner late (9-10 PM is normal)
✓ Take your time with meals
✓ Dress stylishly (locals dress well)
✓ Respect siesta time (2-5 PM, some shops close)
✓ Say "Bon profit" before meals
✓ Tip 5-10% for good service

DON'TS:
✗ Don't expect early dinner (restaurants open at 8 PM)
✗ Don't wear beach clothes in city center
✗ Don't assume everyone speaks English
✗ Don't call it Spain - it's Catalunya to locals
✗ Don't rush through meals
✗ Don't yell or be loud in public
✗ Don't take photos in churches during mass

DINING ETIQUETTE:
- Lunch: 2-4 PM
- Dinner: 9-11 PM
- Service charge sometimes included (check bill)
- Say "La cuenta, por favor" for bill
- It's okay to share tapas
- Bread is not free at all restaurants

SAFETY TIPS:
- Watch for pickpockets on Las Ramblas and metro
- Keep bag in front in crowded areas
- Don't leave valuables on beach
- Be cautious accepting help from strangers
- Use official taxis or Uber/Cabify

```

**E. Pre-Trip Preparation Timeline**

Use `plan_generator.py` or create based on departure date:

```
from plan_generator import generate_pre_trip_checklist

prep_checklist = generate_pre_trip_checklist(
    destination_country="Spain",
    departure_date="2025-06-15"
)

```

Present as timeline:

```
PRE-TRIP CHECKLIST

2 MONTHS BEFORE (April 15):
- [ ] Book flights
- [ ] Book hotel
- [ ] Purchase travel insurance
- [ ] Check passport expiration
- [ ] Research visa requirements
- [ ] Start researching activities

1 MONTH BEFORE (May 15):
- [ ] Book Sagrada Familia tickets (sell out!)
- [ ] Book food tour
- [ ] Book any other popular activities
- [ ] Notify bank of travel dates
- [ ] Set up international phone plan
- [ ] Download offline maps (Google Maps, Citymapper)
- [ ] Make dinner reservations (popular restaurants)

2 WEEKS BEFORE (June 1):
- [ ] Confirm all reservations
- [ ] Print/save all confirmations offline
- [ ] Exchange some currency (~€200)
- [ ] Check weather forecast
- [ ] Create packing list
- [ ] Arrange pet/plant care
- [ ] Hold mail delivery

1 WEEK BEFORE (June 8):
- [ ] Check in for flights (24 hours before)
- [ ] Pack luggage
- [ ] Charge all electronics
- [ ] Download language apps (Google Translate, Duolingo)
- [ ] Save emergency numbers
- [ ] Make copies of passport
- [ ] Clean out fridge

DAY BEFORE (June 14):
- [ ] Re-check flight time
- [ ] Prepare carry-on
- [ ] Take out trash
- [ ] Adjust thermostat
- [ ] Unplug electronics
- [ ] Set multiple alarms for departure

```

### Step 6: Track Trip and Budget

During the trip, track expenses:

```
from travel_db import add_expense

expense = {
    "category": "food",
    "amount": 45.00,
    "description": "Dinner at Cervecería Catalana",
    "date": "2025-06-16"
}

add_expense(trip_id, expense)

```

View budget status:

```
from travel_db import get_budget_summary

summary = get_budget_summary(trip_id)
# Shows: total_budget, spent, remaining, percentage_used, by_category

```

### Step 7: Post-Trip Updates

After trip, move to past trips and update:

```
from travel_db import move_trip_to_past, add_previous_destination

move_trip_to_past(trip_id)
add_previous_destination("Barcelona, Spain")

```

## Best Practices

- **Research Thoroughly** - Use web search for current, accurate information

- **Be Realistic** - Don't over-schedule; allow for rest and spontaneity

- **Book Ahead** - Popular attractions sell out, especially in peak season

- **Budget Buffer** - Add 10-20% extra for unexpected costs

- **Cultural Respect** - Research and follow local customs

- **Safety First** - Check travel advisories, register with embassy

- **Stay Flexible** - Weather and circumstances change

- **Document Everything** - Save confirmations, important info offline

## Example Interaction

```
User: "I want to plan a 7-day trip to Barcelona in June"

Claude: [Checks preferences - finds initialized]

Great! I'll create a detailed travel plan for Barcelona. Based on your preferences,
I know you enjoy culture, food, and moderate-paced travel with a mid-range budget.

First, a few questions:
1. What are your exact travel dates?
2. What's your total budget?
3. Any specific must-see attractions?
4. Traveling solo or with someone?

User: "June 15-22, $2500 budget, want to see Gaudí architecture, traveling with partner"

Claude: [Creates trip in database, performs web research]

Perfect! I've created your Barcelona trip plan. Let me present the complete itinerary:

[Generates detailed 7-day itinerary with Sagrada Familia, Park Güell, Casa Batlló, etc.]
[Creates budget breakdown: $2500 over 7 days]
[Generates packing checklist for June Mediterranean weather]
[Provides Spanish cultural do's and don'ts]
[Creates timeline of pre-trip tasks]

Key highlights:
✓ Day 2: Sagrada Familia (book tickets NOW - they sell out)
✓ Day 4: Food tour in El Born (€95/person, worth it!)
✓ Day 6: Day trip to Montserrat
✓ Budget: $357/day average (€325)
✓ Accommodation: €125/night in Gothic Quarter

Important notes:
- Book Sagrada Familia tickets immediately
- Dinner reservations needed for Tickets Bar, Cervecería Catalana
- Pickpocket awareness on Las Ramblas
- Bring European plug adapter (Type C/F)

Would you like me to adjust anything in the itinerary?

```

## Technical Notes

**Data Storage:**

- Preferences: `~/.claude/travel_planner/preferences.json`

- Trips: `~/.claude/travel_planner/trips.json`

**CLI Commands:**

```
# Check initialization
python3 scripts/travel_db.py is_initialized

# View data
python3 scripts/travel_db.py get_preferences
python3 scripts/travel_db.py get_trips current
python3 scripts/travel_db.py stats

# Generate plan
python3 scripts/plan_generator.py --trip-id <id> --output plan.json

# Export backup
python3 scripts/travel_db.py export > backup.json

```

## Resources

### scripts/travel_db.py

Database management for preferences, trips, budget tracking, itineraries, and travel statistics.

### scripts/plan_generator.py

Generates itineraries, budget breakdowns, packing checklists, and preparation timelines.

### references/travel_guidelines.md

Comprehensive guide for destination research, budget planning, itinerary creation, packing strategies, and safety tips.

### references/cultural_etiquette.md

Templates and guidelines for researching country-specific customs, dress codes, dining etiquette, religious considerations, and common mistakes to avoid.
Weekly Installs633Repository[ailabs-393/ai-l…e-skills](https://github.com/ailabs-393/ai-labs-claude-skills)GitHub Stars329First SeenJan 23, 2026Security Audits[Gen Agent Trust HubPass](/ailabs-393/ai-labs-claude-skills/travel-planner/security/agent-trust-hub)[SocketPass](/ailabs-393/ai-labs-claude-skills/travel-planner/security/socket)[SnykWarn](/ailabs-393/ai-labs-claude-skills/travel-planner/security/snyk)Installed onopencode570gemini-cli554codex548github-copilot526cursor505kimi-cli502

---
*Source: https://skills.yangsir.net/skill/sm-travel-planner*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-travel-planner/markdown*