End-to-end road trip and travel itinerary planner that produces navigation-ready guides. Use this skill whenever the user asks to plan a road trip, self-drive tour, multi-day driving itinerary, or travel route — even if they just mention a destination and dates. Also trigger when the user asks for driving directions between multiple stops, wants to optimize a travel route, or needs a day-by-day travel guide with navigation links. Covers route planning, driving time verification, holiday/closure checks, parking details, and generates both markdown documents and interactive HTML guides with embedded maps and Google Maps navigation links.
Plan multi-day driving itineraries from a vague idea ("I want to drive the California coast") to navigation-ready guides with real-time-verified driving times, point-to-point Google Maps links, interactive maps, and per-stop parking/timing details.
This skill works across different Claude environments. Adapt tool usage based on what's available:
| Capability | Claude.ai | Claude Code |
|---|---|---|
| Coordinate lookup | places_search | web_search (search "[place] GPS coordinates") |
| Map verification |
places_map_displayGenerate Leaflet HTML preview, or use web_search to verify route on Google Maps |
| Driving time | web_search | web_search / MCP browser tools |
| File output | {output_dir} | Project directory (ask user or use ./trip-output/) |
Degradation rule: If a tool is unavailable, fall back to web_search for data and Leaflet HTML for visualization. Never skip a verification step just because the preferred tool is missing.
Before planning, collect these inputs. Ask the user if not provided:
| Input | Required | Example |
|---|---|---|
| Destination / region | Yes | "California coast", "Iceland ring road" |
| Departure city | Yes | "Toronto", "San Francisco" |
| Travel dates | Yes | "April 3-6, 2026" |
| Number of days | Yes | 4 days |
| Transport | Yes | Rental car / own car |
| Route type | Yes | One-way (A→B) / Loop (A→…→A) / Out-and-back |
| Interests | Helpful | Nature, tech, food, photography |
| Budget level | Helpful | Budget / mid-range / comfort |
| Existing bookings | Helpful | Flight times, hotel confirmations |
| Group size | Helpful | Solo / couple / family |
| Output language | Helpful | 中文 / English / bilingual (default: 中文) |
Route type matters for optimization:
Execute these steps in order, for each day. Do not skip steps — every shortcut taken here (especially steps 2-5) leads to a broken itinerary the user will discover mid-trip.
Design the day's route based on user interests and geography.
places_search to get exact coordinates for every stop — never rely on memory for coordinatesThis step catches route inefficiencies that waste 30+ minutes per occurrence.
places_map_display to visually verify the sequenceCommon trap: Visiting a southern stop, going north to the next, then returning south to the hotel. Always verify against the map.
LLM estimates for driving times are systematically optimistic by 30-50%. This step is non-negotiable.
web_search to find the actual driving time for each segmentdriving time [origin] to [destination] or [origin] to [destination] drive how longRed flags to search for:
Search for every stop's operating status on the travel date.
web_search with queries like: [attraction] hours [holiday name] [year] or [attraction] open [date]Holiday calendar to check against:
Check the weather for each day's route and prepare alternatives.
web_search with queries like: [city] weather forecast [date] or [region] weather [month] [year]Weather-driven adjustments:
Feed results into Step 8 (Pre-trip Checklist) for packing recommendations.
Create one .md file per day in {output_dir}. Follow this exact structure:
# Day N 详细攻略:[Route Summary]
> ⚠️ Holiday/special date notice if applicable
## Flight/Travel Info (if applicable)
## 🧭 Navigation Links Summary Table
| Segment | Route | Nav Link | Drive Time |
Top-level quick-reference with all segments
## [Time Range] | [Section Title]
### [Time] | [Stop Name] ([Duration])
- 🧭 **[Nav Link: Origin → Destination](Google Maps URL)**
- Address, hours, tickets
- Parking: location, cost, tips
- What to do (prioritized list)
- Safety warnings if any
## Day N Timeline Overview
| Time | Stop | Duration | Drive Time | Notes |
## Practical Info
- Weather: temperature, precipitation, sunset time
- Cost estimates (use structured budget template — see below)
- Emergency contacts
- Gas/fuel notes
- Rain plan alternatives (if applicable)
Navigation link rules (critical — validated through 4-day real-world testing):
https://www.google.com/maps/dir/?api=1&destination=PLACE+NAME+CITY+STATE&travelmode=drivingorigin parameter — user may not be at the expected location, causing Google Maps to route from the wrong placewaypoints parameter — waypoints can route users onto closed/restricted roads (e.g., Cañada Rd incident — 30+ min wasted)Create one .html file per day in {output_dir}. Read references/html-template.md for the complete template code before writing.
Key requirements:
.hl class).sn-o class)Create a single pre-trip-checklist.md file in {output_dir}. This is generated once for the entire trip, not per day.
Weather-driven packing section (based on Step 5 forecast data):
# 行前清单 | Pre-trip Checklist
## 🌤️ 天气概览 & 行李建议
| 日期 | 地区 | 天气 | 温度 | 建议穿搭/装备 |
|------|------|------|------|---------------|
| Day 1 | [Region] | ☀️ 晴 | 12-22°C | 薄外套+防晒, 墨镜 |
| Day 2 | [Region] | 🌧️ 小雨 | 8-15°C | 防水外套, 防滑鞋 |
| ... | | | | |
### 必带行李
- [ ] 根据天气列出的衣物(具体到件)
- [ ] 防晒霜 SPF50+(户外日必备)
- [ ] 雨具(如有雨天)
- [ ] 舒适步行鞋
- [ ] 车载手机支架
- [ ] 充电线 + 车载充电器
## 📄 证件 & 预订
- [ ] 护照 / 身份证(有效期检查)
- [ ] 国际驾照 / 驾照翻译件(如需)
- [ ] 租车确认号:[号码] | 取车地址:[地址]
- [ ] 机票确认号:[号码]
- [ ] 酒店确认号:逐晚列出
- [ ] 保险单号 / 保险公司电话
- [ ] 信用卡(确认境外支付已开通)
## ⛽ 车辆 & 驾驶
- [ ] 租车公司电话:[电话]
- [ ] 道路救援电话:[电话]
- [ ] 加油类型:Regular / Premium
- [ ] 过路费准备(现金 / ETC / FasTrak)
- [ ] 了解当地交规(限速、右转规则、停车标志)
## 🆘 紧急信息
- [ ] 当地报警电话:[号码]
- [ ] 最近医院位置(每天路线附近各标一个)
- [ ] 大使馆/领事馆电话(国际旅行)
- [ ] 同行人紧急联系方式
## 📱 App & 离线准备
- [ ] Google Maps 离线地图已下载(覆盖全程区域)
- [ ] 翻译 App(如需)
- [ ] 加油站 App(GasBuddy 等)
- [ ] 酒店/民宿 App 已登录
Rules:
Before generating any files, confirm the output directory:
/mnt/user-data/outputs/./trip-output/Day1-[Region]-攻略.md Day1-[Region]-攻略.html
Day2-[Region]-攻略.md Day2-[Region]-攻略.html
pre-trip-checklist.md (行前清单,整个行程一份)
budget-summary.md (费用汇总,整个行程一份)
...
Generate a single budget-summary.md alongside the daily guides. Use this fixed structure:
# 💰 费用预估 | Trip Budget Summary
## 按类别汇总
| 类别 | 明细 | 费用 (USD) |
|------|------|-----------|
| ✈️ 机票 | [航班信息] | $XXX |
| 🚗 租车 | [天数] × [日租] + 保险 | $XXX |
| ⛽ 油费 | [总里程] ÷ [油耗] × [油价] | $XXX |
| 🅿️ 停车 | 逐站列出 | $XXX |
| 🏨 住宿 | 逐晚列出 | $XXX |
| 🍽️ 餐饮 | [天数] × [每日预算] | $XXX |
| 🎫 门票/活动 | 逐项列出 | $XXX |
| 🛣️ 过路费 | 逐段列出 | $XXX |
| 📱 通讯 | SIM卡 / 漫游 | $XXX |
| 🔄 杂费预留 | 10-15% buffer | $XXX |
| **合计** | | **$XXXX** |
## 按天汇总
| 日期 | 住宿 | 交通 | 餐饮 | 活动 | 小计 |
|------|------|------|------|------|------|
| Day 1 | $XX | $XX | $XX | $XX | $XXX |
| ... | | | | | |
| **合计** | | | | | **$XXXX** |
Budget rules:
| 人均 | $XXX / person |Run through this checklist for every day before presenting to the user: