travel-itinerary
v1.0.0목적지·날짜·인원만 주면 검증된 정보 + 구글맵 링크 + 예약 체크리스트가 포함된 일차별 여행 일정표를 생성
설치
호출 이름/travel-itinerary:travel-itinerary-planner
Travel Itinerary Planner
목적지·날짜·인원만 주면, 검증된 정보와 구글맵 링크가 포함된 일차별 여행 일정표를 만들어주는 Claude Code 스킬.
무엇을 만드나
- 일차별 시간표 (표 형식)
- 등장하는 모든 장소의 구글맵 검색 링크, 도보 이동 가능한 구간의 경로 링크
- 랜드마크 근처 식당·카페 추천 (동선 이유 포함)
- 예약/준비 항목 체크리스트 — 상대 표현("며칠 전") 대신 출발일 기준으로 역산한 실제 날짜
- 현장 주의사항, 날씨 기반 준비물, 체력 배분 코멘트
왜 이렇게 설계했나
여행 일정에는 시간이 지나면 틀리는 정보(영업시간, 정기휴무일, 계절 이벤트, 요금)가 많다. 모델이 사전지식으로 답하면 그럴듯하지만 틀린 정보가 섞이기 쉬워서, 이런 항목은 WebSearch로 실시간 검증하고 확인이 안 되면 "확인 필요"라고 명시하도록 강제했다. 예약 마감일 같은 건 반대로 LLM의 판단이 아니라 날짜 계산이 필요한 영역이라 별도 단계로 분리했다.
사용 흐름
- 여행 성격·동행 유형·체력 페이스·예산 감각을 먼저 질문으로 확인 (넘겨짚지 않음)
- 시간에 따라 바뀌는 정보를 웹서치로 검증
- 장소·경로 링크 생성
- 랜드마크 인근 식당 추천
- 고정 템플릿(
template.md)으로 문서화 - 예약 마감일을 실제 날짜로 역산
- 일차별 동선이 비효율적이지 않은지 최종 검토
자세한 절차와 트리거 조건은 SKILL.md에, 출력 형식 스켈레톤은 template.md에 있다.
파일 구성
travel-itinerary-skill/
SKILL.md # 에이전트가 실제로 읽는 절차 정의
template.md # 출력 마크다운 구조 (섹션 순서 고정)
README.md # 이 파일 — 사람이 읽는 설명
에이전트가 읽는 절차 — SKILL.md
설치하면 Claude가 실행 중에 참조하는 실제 문서다. 아래 내용이 그대로 동작을 결정한다.
Travel Itinerary Planner
Overview
Turns loose trip details (destination, dates, travelers) into a single reference-quality markdown itinerary: verified logistics, a Google Maps link for every stop, walkable route links between same-day stops, restaurant picks near landmarks, and a prep checklist with real deadline dates. See template.md for the exact output skeleton.
When to Use
- User asks to plan a trip, build a travel itinerary, or wants a day-by-day schedule
- Destination and trip dates are known (ask if missing)
- NOT for a single reservation lookup, a "이 동네에서 반나절 뭐하지" quick question, or picking one restaurant — those don't need the full template
Process
0. Trip style interview. After confirming destination/dates/traveler count/accommodation, ask via AskUserQuestion (don't guess):
- 여행 성격 (관광 / 맛집·술집투어 / 휴양 / 액티비티, 복수선택 가능)
- 동행 유형 (커플 / 가족 / 친구 / 혼자)
- 체력·페이스 (빡빡하게 vs 여유롭게)
- 예산 감각 (가성비 vs 상관없음)
These answers set landmark density, late-night inclusion, and price tier for every later step.
1. Verify time-sensitive facts. WebSearch each of: business hours, regular closing days, seasonal events (e.g. flower bloom windows), admission fees, typical weather for the trip month. Never state these from memory — a wrong closing day or an out-of-season flower claim breaks the plan. Anything you can't confirm, write literally as "확인 필요" in the output — don't smooth it over into a confident-sounding guess.
2. Generate Google Maps links. Every place mentioned gets a search link. Consecutive same-day stops reachable on foot get a route link too. See Link Patterns below.
3. Suggest restaurants near landmarks. For meal times that land near a scheduled landmark, WebSearch 2-3 well-reviewed options within walking distance. State the routing reason for the pick (e.g. "역 건물 안 — 캐리어 이동 없음"), and flag whether it needs a reservation.
4. Write to the fixed template. Use template.md — don't improvise a different structure. This keeps every trip's document reusable and scannable the same way.
5. Compute D-day deadlines. For every prep item with a deadline relative to departure (pre-check-in forms, deposit charge dates, tour confirmation windows), calculate the actual calendar date from the trip's start date and put that date in the checklist — not a relative offset like "1주 전."
6. Route sanity check. Re-read each day's stop order. Flag anything that backtracks, has an unrealistic travel time between consecutive stops, or visits a place outside its open hours. Reorder and note why in one line if you change something.
Google Maps Link Patterns
검색: https://www.google.com/maps/search/?api=1&query=<URL-encoded place name>
경로: https://www.google.com/maps/dir/?api=1&origin=<start>&destination=<end>&waypoints=<mid1>|<mid2>&travelmode=walking
Use the place's native-language name (with Korean gloss in the link text), not coordinates — coordinates don't render recognizably when clicked.
Common Mistakes
- Stating business hours/season facts from training data instead of WebSearch — dates like flower bloom windows are exactly what goes stale
- Skipping the D-day math and writing "며칠 전" instead of an actual date
- Restaurant suggestions with no walking-distance or reservation note
- Skipping step 0's interview and guessing pace/budget from context instead