Community코딩 & 개발github.com

Hizir-SamuelP/deep-trip-planning

장소 목록을 실제로 따라갈 수 있는 여행 일정으로 바꿔주는 Claude Skill입니다.

deep-trip-planning란 무엇인가요?

이 스킬은 사용자가 제공한 장소 목록(또는 '10월에 어디 갈까?' 같은 모호한 질문)을 구체적이고 실행 가능한 여행 일정으로 변환하는 전문 가이드입니다. Claude Code, Cursor, Codex 등 AI 에이전트 환경에서 작동하며, 단순한 장소 나열을 넘어 실제 여행에서 발생하는 모든 변수를 체계적으로 처리합니다. 날짜 검증 스크립트(`scripts/trip_dates.py`)를 통해 공휴일과 요일을 확인하고, 사용자의 여행 스타일(속도, 식사 중요도, 대기 시간 허용치, 예산 성향 등)을 수치화하여 개인 맞춤형 일정을 생성합니다. 일정 작성의 전 과정(하드 제약 조건 고정, 메인 데이 지정, 일별 경로 최적화, 영업 시간 및 휴무일 검증, 교통편 상세 작성, 지도 연동, 예산 책정, 카운트다운 표 작성)을 8단계로 나누어 안내하며, 기존 일정 검토 시 내부 모순, 우회 경로, 검증 누락 등 8가지 오류를 체계적으로 찾아 수정합니다. 특히 각 추천에는 실행 조건을 명시하고, 불확실한 정보는 '출발 전 재확인'으로 표시하며 출처를 명기하도록 강제하여 신뢰성을 높입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add Hizir-SamuelP/deep-trip-planning

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

심층 여행 일정 제작법

워크플로

순서대로 진행하세요. 단계를 건너뛰면 나중에 한 번에 문제가 터지는 경우가 많습니다.

사전 분기: 목적지 미정

사용자가 "10월에 어디로 놀러 갈까?" 같은 질문만 할 때, 바로 일별 일정을 짜려고 하지 마세요. 0.5단계의 여행 스타일을 활용하여 3개의 후보 목적지를 제시하고, 각각에 대해 구체적인 장단점을 작성하세요: 해당 지역의 계절 및 날씨 위험, 예산 규모, 사용자 여권 기준 비자 확인 난이도, 비행 시간/경유 부담. 비자 결론을 단정적으로 말하지 말고, 공식 확인처를 명시하세요. 사용자가 목적지를 정한 후에 0단계로 진입하세요.

0단계: 하드 제약 조건을 먼저 고정

이미 지불했거나 예약한 것은 기반이지 변수가 아닙니다. 먼저 다음 사항을 명확히 묻고 맨 위에 작성하세요:

  • 이미 예약한 숙소(주소, 체크인/체크아웃 시간, 무료 취소 마감일, 최종 가격)
  • 이미 예약했거나 확정된 교통편(항공편 시간, 도착/출발 구체적 시각)
  • 동행 인원, 명확한 필수 방문지와 명확히 관심 없는 항목
  • 신체 조건으로 인해 선택지가 바뀔 수 있는 사항(키, 다리/발 건강, 문신, 식이 제한, 멀미, 아이 동반, 노인 동반) – 이는 종종 많은 선택지를 조용히 결정합니다.

${CLAUDE_SKILL_DIR}/scripts/trip_dates.py <국가/지역 코드> <시작 날짜> <종료 날짜>를 먼저 실행하고, 머릿속으로 요일을 계산하지 마세요. 이 스크립트는 네트워크 시간 확인을 통과한 후 매일의 요일, 공휴일 및 연휴를 제공합니다. 스크립트가 없거나, 실행할 수 없거나, 시계 확인에 실패하면 날짜 관련 계획을 중단하세요: 사용자에게 날짜가 확인되지 않았음을 명확히 알리고, 전체 skill 디렉토리(scripts/ 포함)를 설치하거나 확인 가능한 달력을 제공하도록 요청하세요. 절대 머리로 계산하지 마세요. 그런 다음에도 확인하십시오: 사용자가 제공한 날짜가 이미 지났습니까? 요일이 그들이 언급한 일정과 일치합니까("주말에 어디 가기"인데 실제로는 수요일인 경우)? 불일치를 발견하면 먼저 질문한 후 작업을 시작하세요 – 잘못된 연도로 전체 일정을 만드는 것은 전면 재작업과 같습니다.

"출발점"을 정하세요. 매일의 경로는 고정된 출발점에서 시작됩니다: 도시 일정에서는 보통 숙소의 가장 가까운 역, 자가용 여행에서는 숙소 자체(주차 조건 포함), 다중 도시 여행에서는 각 구간마다 고유한 출발점이 있습니다. 출발점이 정해지면 경로 효율성이 거의 결정됩니다.

사용자가 아직 숙소를 예약하지 않았다면 먼저 "숙소 결정"(references/lodging-decisions.md 참조)을 진행하세요. 이후 모든 동선이 이에 의존하기 때문입니다.

0.5단계: 여행 스타일을 묻고 선호도를 숫자로 변환

이 단계는 이후 모든 "임계값"에 어떤 값을 넣을지 결정합니다. 이를 건너뛰면 자신의 기본 선호도를 사용자의 선호도로 착각하고 작성하게 됩니다.

같은 여행이라도 미슐랭 레스토랑을 섭렵하려는 커플과 쇼핑만 하려는 친구들, 두 그룹의 일정은 완전히 달라야 합니다. 따라서 먼저 물어보거나(또는 사용자가 이미 말한 내용에서 추론하고, 추론할 수 없으면 직접 물어보십시오):

물어볼 사항이것이 결정하는 것
속도: 하루에 몇 군데 갈 수 있나요? 일찍 일어날 의향이 있나요?하루에 몇 개 구간을 배치하고, 여유 시간을 얼마나 둘지
식사의 위상: 식사가 여행의 주된 목적인가요, 아니면 에너지 보충인가요?공식 식사 횟수, 레스토랑 예약에 동선이 묶일지 여부
대기 인내심: 가고 싶은 가게를 위해 최대 얼마나 기다릴 의향이 있나요?대기 상한선 숫자
쇼핑 비중: 많이 살 예정인가요, 아니면 그냥 구경만 할 건가요?예산 탄력 항목, 수하물 허용량, 환급 절차를 중점적으로 작성할지
예산 태도: 비용 절감 우선, 경험 우선, 아니면 별로 민감하지 않음?시간을 사는 데 돈을 써야 할지
확실성 선호: 모든 것을 예약하기를 좋아하나요, 아니면 여백을 남기기를 좋아하나요?예약량, 후보 수

답변을 구체적인 숫자로 바꿔 일정에 작성하고, 형용사로 남겨두지 마세요. "줄 서기 싫어함"은 "대기 시간이 X분을 초과하면 다음 가게로 이동"으로 바꾸고, "좋은 음식을 먹고 싶음"은 "예약이 필요한 N끼의 공식 식사, 나머지는 일상적인 가격대로"로 바꾸세요.

사용자가 의견을 밝히지 않은 항목은 가장 무난한 기본값을 사용하고 가정을 명시하세요. 사용자가 한눈에 뒤집을 수 있도록 말이죠.

1단계: 메인 데이 및 교체 규칙 설정

일정에는 항상 날씨/계절에 좌우되는 항목이 몇 가지 있습니다(산, 바다, 벚꽃/단풍, 야외 전망대, 야외 촬영). 각 항목에 대해 메인 데이를 지정하고, 어떤 날짜와 교체할 수 있는지 명시하세요.

메인 데이는 우선적으로 평일에 배치하고, 주말 및 현지 연휴는 피하세요. 교체 규칙은 실행 가능한 문장으로 작성하세요. 예를 들어 "날씨 보고 결정" 대신 "11/16 저녁에 1차 결정, 11/17 저녁에 최종 결정, 먼저 기차표 변경 처리"와 같이 말이죠.

2단계: 일별 경로 작성 및 삭제 계층 구조 정의

매일 산출물: 시간 → 활동 표에 세 가지를 추가합니다:

  1. 되돌아가지 않는 순서 – 지도에서 확인하세요. 주소만 읽고 상상하지 마세요. 같은 구역은 한 번에 처리합니다.
  2. 반드시 유지 / 모두 삭제 가능 – 매일 명확히 표시하세요. 체력과 날씨는 항상 일부 항목을 소모합니다. 미리 희생할 항목을 결정하는 것이 당일에 고민하는 것보다 훨씬 낫습니다.
  3. 날씨 대비책 – 매일 하나씩, 목적지의 실제 날씨 위험(비, 눈, 폭염, 강풍, 태풍 시즌)을 기준으로 작성하세요. "비가 오면 실내로 변경"이 아니라 구체적으로 무엇으로 변경할지 명시하세요.

경로 계획의 숨은 비용: 환승 시간, 출구 찾는 시간, 쇼핑몰에서 매장 찾는 시간, 주차 공간 찾는 시간. 매일 할당되지 않은 완충 시간을 남겨두세요. 길이는 사용자의 속도 선호도에 따라 결정하세요 – 빨리 다니는 사람은 적게 남기되 연쇄 지연 위험을 감수해야 하고, 느긋하게 다니는 사람은 많이 남기세요. 완충 시간이 없으면 첫 번째 지연이 저녁까지 연쇄적으로 이어집니다.

도착일과 출국일에는 빡빡한 일정을 넣지 마세요. 도착 당일에는 취소 불가능한 예약 식사, 분 단위로 계획된 골든 타임, 유일한 필수 방문지를 비행기 착륙 후에 배치하지 마세요. 수하물, 입국, 지연, 시차 회복을 완충 시간에 포함시키세요. 시차가 있을 경우 첫날 밤은 가벼운 산책, 식사, 일찍 자기 위주로 하고, 이후 이틀에 걸쳐 점차 정상 리듬으로 돌아옵니다. 출국일도 마찬가지입니다: 항공사, 공항, 교통 운영사의 해당 요구 사항에 따라 출발 시간을 역산하고, 그 앞에는 언제든 삭제할 수 있는 활동만 배치하세요. 환급, 렌터카 반납, 짐 보관, 마지막 쇼핑을 "가는 길에 하면 되는" 일로 취급하지 마세요.

3단계: 매장별 검증 (이 단계가 가장 쉽게 대충 넘어가고, 가장 가치 있습니다.)

"영업 중" 확인은 쓸모없습니다. 확인해야 할 것은 "계획한 날의 요일, 그날 영업하는지, 도착 예정 시간이 영업 시간 내인지"입니다.

전체 방법은 references/verification.md를 참조하세요. 반드시 수행해야 할 최소 집합:

  • 각 매장을 계획된 날짜의 요일과 대조하여 영업 시간 및 정기 휴무일 확인
  • 여행 기간 중 현지 법정 공휴일 및 연휴 확인 – 연휴는 역, 관광지, 짐 보관함, 공항의 혼잡도를 동시에 높입니다.
  • 여행 기간 중 제도 변경 사항 확인 (환급, 비자, 입국 절차, 티켓 규정)
  • 계절별 명소의 실제 최적기/개장 기간이 방문 날짜를 포함하는지 확인. "그 계절에 가면 있다"고 가정하지 마세요.
  • 여행 일정에 특별한 날이 포함되는지 확인 (축제, 기념일, 개학, 대규모 전시회)

4단계: 교통편 구간별 확정

출발점에서 시작하여 매일의 이동 경로와 복귀 경로를 확정하세요. 대중교통은 "노선 + 환승역 + 소요 시간 + 요금" 형식으로, 자가용은 "경로 + 운전 시간 + 주차 + 요금" 형식으로 작성하세요.

자세한 내용은 references/transit-and-maps.md를 참조하세요. 일반 원칙: 구간을 작성할 때마다 스스로에게 물어보세요 "길을 모르는 사람이 이 문장만 보고 올바르게 갈 수 있을까?" – "지하철 타면 편해요"는 불합격, "X선 각역정차로 Y역까지 직통, 20분, 환승 0회, 급행은 정차하지 않으니 타기 전에 전두부 표시 확인"이 합격입니다.

티켓 판단 방식: 기본적으로 건별 요금 지불을 가정하고, 계산이 맞아떨어지는 날/구간에만 정기권을 구매하도록 하며, 계산식을 사용자에게 보여주세요.

5단계: 지도 반영

일정이 문서에만 머물면 완료된 것이 아닙니다. references/transit-and-maps.md의 "지도 3계층 방법"을 참조하세요. 핵심: 맞춤 지도는 오프라인 사용이 불가능하고 내비게이션도 안 되므로, 현장에서 다른 두 계층이 함께 작동해야 합니다.

6단계: 예산

"현지 통화 직접 지출"과 "목적지 통화 지출" 두 부분으로 나누고, 마지막에 합산합니다. references/budget-and-customs.md 참조.

핵심은 유일하게 상한이 없는 항목(보통 쇼핑)을 식별하고, 세 가지 수준을 설정한 후 사용자에게 휴대폰에 기록할 하드 상한을 정하도록 권장하는 것입니다.

7단계: 카운트다운 표

모든 하드 데드라인을 하나의 표에 모아 시간순으로 정렬하세요: 티켓 판매 시작일, 무료 취소 마감일, 예약 기간, 계정 등록 마감일, 재확인일.

같은 날에 겹치는 두 가지 일을 특히 주의하세요 – 예를 들어 취소 마감일과 티켓 판매일이 같은 경우. 충돌을 지적하세요.

8단계: 전달 전 자체 점검

0단계의 하드 제약 조건 표와 0.5단계에서 정한 선호도 숫자를 하나씩 다시 보며, 매일이 이를 위반하지 않는지 확인하세요. 그런 다음 "기존 일정 검토"의 8가지 체크리스트를 방금 작성한 산출물에 적용하세요: 내부 모순, 우회 경로, 역산 불가, 검증 누락, 공백, 위험일 대비책, 기대 불일치, 명백한 과부하 또는 모순.

전달 마지막에 이번 자체 점검 결과를 남기세요. 조용히 점검만 하지 마세요. 사용자는 어떤 하드 제약이 충족되었고, 어떤 정보가 여전히 "출발 전 재확인"으로 표시되었는지 알아야 합니다.


전 과정을 관통하는 결정 규칙

이 규칙들의 목적은 "그때 가서 보자"를 "그때는 이 규칙에 따라 실행한다"로 바꾸는 것입니다.

⚠ 영업 시간, 정기 휴무일, 가격 및 요금, 운전 시간 및 환승 횟수, 예약 규칙 및 오픈 시간, 법정 공휴일, 계절별 명소의 실제 예측 기간, 무장애 시설 및 경사로/계단 실태는 이번 조사의 출처가 있어야 합니다. 훈련 데이터에서 "기억하는" 값은 모두 만료된 것으로 간주합니다: 이 필드들은 수시로 변하며, 모델은 자신이 몇 년도를 기억하는지 알지 못합니다. 출처를 쓸 수 없으면 그 숫자를 쓰지 말고, "출발 X일 전 재확인"으로 바꾸고 어디서 확인할지 명시하세요. 정직한 빈칸이 자신 있는 오류보다 유용합니다.

⚠ 아래 언급된 모든 숫자는 자리 표시자이며 권장값이 아닙니다. 이 숫자들은 0.5단계에서 물어본 사용자 선호도에서 비롯되어야 합니다. 다른 사람의 선호도를 기본값으로 일정에 작성하는 것이 이 skill이 가장 쉽게 저지르는 실수입니다.

구체적인 대기, 후보, 공식 식사, 예약, 역산, 시간을 사는 비용, A/B 종료 임계값 및 정보 출처 분담에 대해서는 references/decision-thresholds.md를 참조하세요. 경로 계획을 시작하거나 선택 결론을 내리기 전에 반드시 읽으세요. 외부 파일로 분리한 것은 진입 파일을 가볍게 하기 위함이지 규칙을 완화하기 위한 것이 아닙니다.


출력 형식

기본적으로 Markdown 일정 문서를 출력합니다. 사용자가 다른 형식을 지정하지 않았다면요. 출력 골격, 일일 템플릿, 카운트다운 표, 짐 생성법 및 비상 카드는 assets/planning-templates.md에 있습니다. 여행 중점에 따라 추가/삭제하고, 템플릿을 채우기 위해 정보를 지어내지 마세요.

일반적인 조정 사항: 식사가 주된 목적일 때는 별도로 식사 후보 라이브러리 열기; 쇼핑이 주된 목적일 때는 가격 비교, 환급, 수하물 허용량 별도 작성; 자가용 여행은 구간, 주차, 주유, 도로 상황, 오프라인 내비게이션으로 재작성; 다중 도시는 도시별로 분할; 어린이 또는 노인 동반 시 매일 가장 가까운 휴식 지점 추가 및 전체 속도 완화.

결론을 먼저 제시하고 이유를 설명하세요. 각 권장 사항에 실행 조건을 첨부하세요. 불확실한 부분은 재확인 시간과 장소를 표시하세요. 기존 일정을 수정할 때는 원본 파일을 직접 수정하고, 별도의 병렬 문서를 만들지 마세요.


기존 일정 검토 시

사용자가 기존 일정을 들고 "문제 있나요?"라고 물을 때, 다음 순서로 찾으세요. 효용이 높은 순서입니다:

  1. 내부 모순 – 같은 날에 두 시간이 맞지 않음 ("14:30–15:00 A거리 걷기"와 "14:40에 B에 도착해야 함")
  2. 우회 경로 – 더 짧은 환승方案이 있는데 긴 경로를 작성함
  3. 역산 불가 – 작성된 출발 시간으로는 스스로 정한 골든 타임에 도달할 수 없음
  4. 검증 누락 – 요일 확인 안 함, 연휴 확인 안 함, 제도 변경 확인 안 함
  5. 공백 – 두 일정 사이에 갑자기 50분의 빈 시간이 있음
  6. 위험일에 대비책 없음 – 특히 도착일과 출국일
  7. 기대 불일치 – 사용자가 볼 것으로 예상하는 것이 실제 계절/시간과 맞지 않음
  8. 명백한 과부하 또는 모순 – 예를 들어 10일 동안 12개 도시 방문. 왜 불가능한지 명확히 지적하고, 구체적인 대안을 제시한 후 사용자의 결정에 따라 계속 진행하세요. 경고만 하고 차단하거나 재확인을 요구하지 말고, 반복해서 설득하지 마세요.

문제를 지적할 때는 대안을 함께 제시하고, "여기 문제가 있습니다"라고만 말하지 마세요. 그리고 원본 문서를 직접 개선하고, 문제 목록을 사용자에게 넘겨서 스스로 수정하게 하지 마세요.


참고 파일

필요할 때 읽고, 한 번에 모두 읽을 필요는 없습니다:

  • references/verification.md — 매장별 검증, 공휴일 및 연휴, 제도 변경, 계절별 명소의 기대 관리, 골든 타임 역산, 소셜 플랫폼의 사용법과 경계. 3단계 필독.
  • references/transit-and-maps.md — 출발점 기반 교통편 작성법, 대중교통의 다섯 가지 함정, 자가용 포인트, 정기권 계산, 현지 지도 도구, 지도 3계층 방법. 4, 5단계 필독.
  • references/lodging-decisions.md — 세금 포함 최종 가격 비교, 객실 교체 기준, 플랫폼 시설 설명의 함정, 위치와 동선의 관계. 사용자가 "이 호텔 괜찮나요/바꿔야 하나요?"라고 물을 때 읽으세요.
  • references/budget-and-customs.md — 예산 구조, 쇼핑 수준, 세관 면세 한도, 현금 및 결제, 수하물 허용량. 6단계 읽음.
  • references/entry-and-health.md — 국적별 비자/전자여행허가 확인, 입국 신고, 건강, 여권 잔여 유효기간 및 보험. 목적지 확정 후, 티켓 예매 전에 읽으세요. 비자 결론을 단정적으로 말하지 마세요.
  • references/decision-thresholds.md — 대기/예약/역산/객실 교체 등 임계값, 그리고 소셜, 공식 사이트, 플랫폼, 지도의 정보 출처 분담. 경로 계획 시작 또는 비교 선택 전에 읽으세요.
  • assets/planning-templates.md — 출력 골격, 일일/카운트다운 템플릿, 짐 생성법, 구체적인 번호를 기입해야 하는 비상 카드. 문서 작성을 시작할 때 읽으세요.

관련 스킬