| name | trip-planner |
| description | Generate personalized packing lists and pre-trip task lists for travel. Uses weather forecasts to recommend appropriate clothing and gear. Integrates with Google Calendar to identify schedule conflicts before departure. Use when user says "plan a trip", "packing list", "I'm traveling to", "trip to [destination]", or "what should I pack". |
Trip Planner Skill
This skill generates customized packing lists and pre-trip preparation checklists based on your destination's weather, trip duration, and calendar.
Configuration
- Weather helper:
~/.claude/skills/trip-planner/weather_helper.py
- Packing template:
~/.claude/skills/trip-planner/packing_template.md
- Calendar helper:
~/.claude/skills/daily-planning/gcal_helper.py (shared)
- Output location:
~/obsidian/Working Memory/
When to Use This Skill
Use this skill when the user:
- Says "plan a trip", "packing list", "I'm traveling to [place]"
- Asks "what should I pack for [destination]"
- Mentions upcoming travel and needs preparation help
- Wants to check calendar conflicts before a trip
Workflow
Step 1: Gather Trip Details
Use AskUserQuestion to collect essential information:
Required:
- Destination (city/country)
- Departure date
- Return date
Optional (ask if not clear from context):
- Trip type: Business or Leisure?
- Flying or driving?
- International travel?
- Will there be a pool/gym at accommodation?
Example:
Questions to ask:
1. Where are you traveling to?
2. What are your travel dates (departure and return)?
3. Is this a business trip or leisure?
4. Are you flying?
Step 2: Fetch Weather Forecast
Run the weather helper to get forecast data:
python3 ~/.claude/skills/trip-planner/weather_helper.py "DESTINATION" --json
Example:
python3 ~/.claude/skills/trip-planner/weather_helper.py "New York City" --json
Parse the JSON output to extract:
- Temperature category (freezing/cold/cool/mild/warm/hot)
- Rain likelihood
- Snow likelihood
- Packing recommendations
Display a summary to the user:
Weather Forecast for New York City
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cold weather expected. Temps: 32°F - 45°F (0°C - 7°C)
Rain likely (60% chance)
Recommended: Winter coat, warm layers, umbrella, waterproof shoes
Step 3: Calculate Trip Duration
From the dates, calculate:
- Number of nights
- Clothing quantities using these rules:
- Underwear: nights + 1
- Socks: nights + 1
- T-shirts: min(nights, 5)
- Pants: ceil(nights / 3) + 1
Step 4: Check Pre-Trip Calendar
Use the shared calendar helper to fetch events in the days leading up to departure:
~/.claude/skills/daily-planning/venv/bin/python3 ~/.claude/skills/daily-planning/gcal_helper.py events DEPARTURE_DATE
Also check the day before and day of travel:
~/.claude/skills/daily-planning/venv/bin/python3 ~/.claude/skills/daily-planning/gcal_helper.py events DAY_BEFORE
Identify:
- Meetings that might conflict with packing time
- Commitments that need rescheduling
- Tasks that must be completed before leaving
Step 5: Generate Packing List
Read the template and substitute values:
cat ~/.claude/skills/trip-planner/packing_template.md
Template variables to replace:
{{NIGHTS}} - number of nights
{{DESTINATION}} - destination city
{{START_DATE}} - departure date
{{END_DATE}} - return date
{{WEATHER_SUMMARY}} - from weather helper
{{UNDERWEAR_COUNT}} - calculated (nights + 1)
{{SOCKS_COUNT}} - calculated (nights + 1)
Conditional sections to include/exclude based on:
| Condition | Include Section |
|---|
| temp_category in [freezing, cold] | COLD_WEATHER items |
| temp_category in [cool] | COOL_WEATHER items |
| temp_category in [warm, hot] | WARM_WEATHER items |
| rain_chance > 30% | RAIN_LIKELY items |
| trip_type == business | BUSINESS_TRIP items |
| flying == true | FLYING items |
| international == true | INTERNATIONAL items |
| nights > 3 | NIGHTS_GT_3 items |
| nights > 5 | NIGHTS_GT_5 items |
Step 6: Add Calendar Conflicts Section
Replace {{PRE_TRIP_CALENDAR}} with:
- List of events 3 days before departure
- Flag any that might need attention
Example output:
## Calendar Conflicts to Resolve
**Dec 10 (3 days before):**
- 10:00 AM - Team standup
- 2:00 PM - Client call (may need to reschedule?)
**Dec 11 (2 days before):**
- All day clear - good for packing prep
**Dec 12 (day before):**
- 9:00 AM - Dentist appointment
- Pack in afternoon
Step 7: Add Destination Tips (Optional)
For common destinations, add relevant tips to {{DESTINATION_TIPS}}:
New York City:
- Layer! Subways & indoors are warm
- You'll walk 10+ miles/day — comfy shoes matter
- Apple Pay works on the subway
- Times Square is crowded — locals avoid it
International:
- Check visa requirements before travel
- Notify bank of travel dates
- Download offline translation
- Screenshot important confirmations
Step 8: Write Output File
Write the generated packing list to Obsidian:
~/obsidian/Working Memory/Trip - {{DESTINATION}} ({{START_DATE}}).md
Example filename: Trip - NYC (2025-12-15).md
Step 9: Summary
Display completion summary:
Trip Planning Complete!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Destination: New York City
Dates: Dec 15-20, 2025 (5 nights)
Weather: Cold (32-45°F), rain likely
Created: Working Memory/Trip - NYC (2025-12-15).md
Key items flagged:
✓ Winter coat & warm layers
✓ Umbrella & waterproof shoes
✓ Business attire (3 button shirts)
Pre-trip calendar:
⚠️ Dec 14: Client call at 2pm - resolve before packing
Open the file in Obsidian to review and check off items as you pack!
Quick Reference
Weather Helper Commands
python3 ~/.claude/skills/trip-planner/weather_helper.py "Paris"
python3 ~/.claude/skills/trip-planner/weather_helper.py "Tokyo" --json
python3 ~/.claude/skills/trip-planner/weather_helper.py "London" --start 2025-01-15 --end 2025-01-20
Temperature Categories
| Category | Temp Range (°F) | Packing Focus |
|---|
| Freezing | ≤32°F | Heavy coat, layers, boots |
| Cold | 33-45°F | Winter coat, sweaters |
| Cool | 46-60°F | Light jacket, layers |
| Mild | 61-75°F | Light layers, versatile |
| Warm | 76-85°F | Light clothing, sun protection |
| Hot | >85°F | Minimal clothing, lots of sunscreen |
Clothing Quantity Formula
| Item | Formula | Example (5 nights) |
|---|
| Underwear | nights + 1 | 6 pairs |
| Socks | nights + 1 | 6 pairs |
| T-shirts | min(nights, 5) | 5 shirts |
| Pants | ceil(nights/3) + 1 | 3 pants |
| Button shirts | 3 (if business) | 3 shirts |
Example Usage
Example 1: Weekend Business Trip
User: "I have a business trip to Chicago next week, flying out Monday returning Wednesday"
Actions:
- Fetch weather for Chicago
- Calculate 2 nights → 3 underwear, 3 socks, 2 t-shirts, 2 pants
- Include BUSINESS_TRIP sections (button shirts, dress shoes)
- Include FLYING section (passport reminder)
- Check calendar for Sunday/Monday conflicts
- Generate:
Working Memory/Trip - Chicago (2025-12-08).md
Example 2: Long Vacation
User: "Planning a 10-day trip to Hawaii in January"
Actions:
- Fetch weather for Hawaii (likely warm/mild)
- Calculate 10 nights → 11 underwear, 11 socks, 5 t-shirts
- Include WARM_WEATHER sections (shorts, sandals, sunscreen)
- Include HAS_POOL section (swim trunks)
- Exclude COLD_WEATHER sections entirely
- Check week before departure for conflicts
- Generate:
Working Memory/Trip - Hawaii (2025-01-15).md
Example 3: International Business
User: "Flying to London for meetings, Dec 20-27"
Actions:
- Fetch weather for London (likely cold/cool in December)
- Calculate 7 nights
- Include BUSINESS_TRIP + INTERNATIONAL + FLYING sections
- Add passport validity reminder
- Add UK-specific tips
- Generate:
Working Memory/Trip - London (2025-12-20).md
Notes
- Weather forecasts are most accurate 3-5 days out; for trips further out, treat as general guidance
- The template is customizable — edit
packing_template.md to add personal items
- Calendar integration requires the daily-planning skill to be set up
- Output files use Obsidian checkbox format for easy tracking