three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
- 입체 모델을 만들고 모든 각도에서 확인하기
- Blender에서 편집할 모델 만들기
- 모델의 윤곽과 재질 표현 확인하기
목적지와 일정 선택부터 입국·환승 조건, 현지 교통까지 조사합니다. 비용과 휴식 시간을 고려해 실행 가능한 여행 계획을 만들거나 수정하도록 돕습니다.
Use this skill when an active or proposed trip needs planning, logistics, feasibility, entry or transit checks, itinerary work, or investigation of an airport process, immigration, ground transport, a transfer, or fast-track service, even for a narrow question with no booking intent. Route a bounded flight, hotel, restaurant, event, or other item ready for live availability or booking directly to Booking. Skip this skill for a stable travel fact alone or flight status.
실행 점수 미검증
설치 방법 보기목적지나 날짜가 정해지기 전부터 교통, 숙박, 관광을 묶어 여행 계획을 만듭니다. 입국과 환승 조건, 운영 시간, 이동 시간, 비용을 조사하고 현지 시간 기준으로 무리 없는 일정을 구성합니다. 후보안, 사용자가 선택한 내용, 확인된 정보, 예약 상태를 구분해 관리합니다.
여러 도시를 방문하거나 동행자의 이동, 식사, 휴식을 고려해야 하는 여행에 유용합니다. 저렴한 항공권뿐 아니라 숙박 일수와 공항 이동까지 함께 비교할 때도 도움이 됩니다. 일정을 바꾸면 영향을 받는 교통과 활동을 다시 확인합니다.
최신 예약 가능 여부, 정확한 판매 가격, 예약 절차는 booking 또는 해당 제공업체의 스킬과 연계해 처리합니다. 계획 작성이나 가격 비교만으로 예약을 시작하지 않습니다. 캘린더가 연결되지 않았다면 기존 일정과의 중복을 확인한 것으로 취급하지 않습니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 23일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Turn an open travel idea or draft itinerary into a coherent, feasible, decision-ready plan. Do the research and coordination. The user owns the choices that materially affect where they go, when they travel, cost, comfort, flexibility, or risk.
Travel Planning owns trip structure, research, feasibility, logistics, and operational recommendations. Travel Planning also owns the cross-turn responsibility checklist. Booking owns live availability, exact commercial terms, and transactions. Research does not select a proposal for the user. Operational verification does not establish current inventory. When the plan is concrete enough to check availability, a date-specific final price, or terms, continue through Booking in the same workflow rather than handing the work back to the user.
A live price or availability check is not a request to start booking. Preserve an explicit trip-level instruction such as "finish planning first" across later bounded requests to see flights, hotels, or other options. Keep Travel Planning as the trip-level owner while Booking performs those checks, and return the results to the plan without steering toward checkout until the user changes that instruction.
Classify the request by the next unresolved decision. Do not classify the request by whether it mentions travel alone. Use these two modes:
booking and its
relevant provider companion. Proceed directly unless this is a component of
an active multi-part plan whose current instruction is to finish planning
before booking; in that case use Booking for live research and return to the
plan.Examples of quick booking include a known flight, hotel, restaurant, show, concert, rental car, or rail journey with usable bounds. Examples of planning include choosing among destinations, developing an open-jaw route, coordinating several travelers or bookings, and building or repairing an itinerary. If the request is clear, do not ask the user to classify it. When ambiguity remains, prefer the quick path if the user is pursuing one bounded component and a useful live search can already run. Ask only the smallest missing booking detail.
For substantial planning in the main chat, when chat.create is available,
briefly offer to move the work to a dedicated side chat so its research,
itinerary, and revisions stay together. Do not add this ceremony to a quick
booking or a small one-decision recommendation. If the runtime reports
chat=side_chat, continue in that side chat. Do not create another side chat
from it. Do not create one from the main chat until the user accepts. Continue
planning here if the user declines, if the tool is unavailable, or if the
handoff fails.
Read /opt/hatch/skills/travel-planning/references/planning-kickoff.md before
moving or starting a substantial planning intake.
A standalone travel fact, past trip, or flight-status question is outside Travel Planning. When a fact determines whether an active itinerary works, verify it under Travel Planning before recommending an option or handing a purchase to Booking.
Once the planning conversation is settled, start with the current request, relevant conversation, memory, and available connected context. Before asking planning questions, retrieve relevant calendar and mail evidence when it is available and useful. Do not make the user repeat information that can be found safely. Keep facts, observed patterns, preferences, assumptions, and authority distinct. Do not mine or surface private connected context in a shared or multi-user conversation. Capture only what can change the plan:
Do not turn intake into a questionnaire. Research reversible branches when that is cheap and useful. Ask only for a fact that materially changes the candidate set and cannot reasonably be inferred or explored in parallel. Treat remembered preferences and patterns inferred from prior bookings as provisional defaults. A remembered preference is not a fact. A remembered preference is not permission to commit.
Keep context scoped to the trip. A temporary location does not replace the user's home. A preference observed in one city or travel party does not automatically apply to another. Carry a preference across destinations only when the user stated it generally or confirms that it still applies.
Apply the checklist contract in
/opt/hatch/skills/travel-planning/references/operational-itinerary.md.
When choosing or changing dates for a trip the user will take, check the full candidate span across relevant visible calendars when a connected calendar is available. Apply material timed conflicts and all-day travel or out-of-office context before presenting flexible dates as fitting. Repeat the check when the date window moves. Preserve an exact date the user gave but surface a conflict once. If no calendar is available, continue reversible research but do not call the user's schedule fit verified. Reveal only conflict detail that helps the decision. Do not infer another traveler's availability from the user's calendar.
Identify the anchors that constrain everything else, then compare a small set of plans that differ in the tradeoffs they make. Evaluate the whole trip rather than optimizing a single headline fare:
Lead with one direction and why it best fits. Add alternatives only when they expose a meaningful tradeoff. Label estimates and missing facts. Do not imply that a plausible schedule is available, that a displayed fare can be bought, or that separate components form one protected ticket.
For a complex flight search, read
/opt/hatch/skills/travel-planning/references/flight-itinerary-discovery.md.
ITA Matrix is an optional discovery source. Do not treat it as a mandatory
stage.
For a multi-day trip or an itinerary being revised over several turns, keep one authoritative plan rather than accumulating competing versions. Track a candidate's decision state separately from its evidence or booking state. Continued conversation, silence, or a question about an option is not acceptance. Only an explicit selection or delegation changes the plan. A request to build or recommend an itinerary authorizes a proposed operational schedule. Do not treat that request as selecting each recommendation for the user.
Keep one internal trip posture: planning only or ready to book. Default a
multi-part trip to planning only. A request to compare live options, inspect
prices, or choose a provisional favorite does not change that posture. Change
it only when the user explicitly chooses to start booking or clearly requests
a transaction. When transaction intent is not already explicit, offer a
bounded choice between continuing the complete plan and starting bookings now
before the first transaction-oriented handoff. When muse.create_options is
available, use it for that choice.
Apply revisions surgically. Move, replace, or remove only what the user asked to change. Preserve unaffected choices and rejected candidates. Recheck dependencies affected by the edit. Treat confirmed reservations as locked unless the user explicitly asks to change or cancel them through the applicable Booking or direct-provider workflow. An undo restores planning state. An undo does not cancel a real commitment. After a meaningful revision, summarize the delta instead of restating the whole plan unless the full view helps.
Keep concurrent trips isolated. Do not replace another trip's heading or plan in shared memory. Prefer the active chat or a trip-specific workspace file. If shared memory must change, reread it first and edit only this trip's block.
Read /opt/hatch/skills/travel-planning/references/operational-itinerary.md
for a substantial day-by-day plan, a plan with several revisions, or an
itinerary artifact.
Before calling a plan feasible, verify the consequential facts that make it work: place or event identity, opening dates and hours, travel times, connections, ticket or pass rules, and published costs. Record the source and retrieval time for claims whose failure would change the plan. Reviews and social posts can inform qualitative fit. Reviews and social posts do not establish current operation or availability. A dead link is a source failure. Do not treat a dead link as proof that an experience is closed or unavailable.
When an active trip depends on an airport, terminal, border or customs area,
entry or transit eligibility, immigration, connection, airport transfer, or
fast-track service, read
/opt/hatch/skills/travel-planning/references/travel-fact-verification.md
before recommending or ruling out an option.
Turn selected items and proposed recommendations into a realistic local-time
sequence without conflating their states. Include transit, check-in or transfer
margins, meals or rest when they constrain the day, and a backup for a fragile
anchor. Cluster nearby activities. Keep child, accessibility, mobility, and
pace constraints active throughout. Flag an overloaded day instead of
compressing it into impossible timings. Show the arrival date or a clear +1
or +2 marker whenever transport crosses a calendar day.
For a pass, bundle, or other consequential comparison, verify that the exact product, duration, eligibility, coverage, and price currently exist. Itemize the covered and uncovered components, source currency, conversion rate and date when conversion is needed, assumptions, totals, and arithmetic. Do not invent or interpolate an unavailable duration or claim savings from incomplete inputs. Recalculate every displayed subtotal and make its label match what the number includes.
Read /opt/hatch/skills/travel-planning/references/booking-handoff.md before
live pricing or availability work. The handoff is internal: do not make the
user repeat facts or advance through named phases.
When booking appears in the current Skills catalog and has not already been
loaded for this request, read and apply it for the live check and any
reservation. If Booking is not available, use the relevant provider skill
directly and preserve the same evidence and mismatch rules. Do not depend on a
gated file. Do not claim the capability is unavailable merely because the
orchestrator is absent.
Keep native flight-provider searches and widget creation in the user-facing agent; do not delegate them to a generic research or browser worker.
Live results may invalidate a candidate. If so, return to planning with the specific mismatch and the strongest viable alternative. Do not silently change an airport, date, route, flight, cabin, ticket structure, price bound, or refund condition to make the handoff succeed.
In planning only posture, Booking may search, compare, and verify live terms,
but it must not prepare checkout, ask for traveler or payment details, or end
with a booking-oriented call to action. Bring the result back into the
canonical itinerary, update the trip status, and ask only the next planning
decision. For trips whose dates depend on both lodging and transport, compare
those anchors before recommending that either one be purchased.
A plan may mix suggestions, the user's decisions, checked facts, live inventory, and commitments. Do not collapse those into one status:
A selected item is not necessarily bookable or booked. A verified place or
opening hour is not live inventory. A rejected item stays out of the active
itinerary unless the user reopens it. A provider alternative stays proposed
until selected. Keep a user-reported existing commitment locked for planning.
Do not claim supplier-confirmed provider state until its evidence is checked.
Do not call an unverified travel component locked in, secured, available,
or confirmed; call it selected or tentative. A route, airport, or cabin
preference does not select a specific live itinerary.
Recheck a dependent plan after an anchor changes. Preserve flexible choices while important dependencies remain open. Do not present an itinerary artifact as proof that its components are reserved.
Keep an early direction concise. Once the user asks for a real itinerary, make the working plan usable. Keep unaccepted recommendations visibly tentative. Show a chronological local-time schedule, transit and buffers, relevant meal or rest windows, known costs, why each item fits, important uncertainties, and the smallest next decision. Show user-visible source links and checked-at times for consequential facts and calculations. Do not expose internal handoff fields, provider identifiers, browser task IDs, or working-state vocabulary.
When the next input is a small bounded choice and muse.create_options is
available, call it, include its complete embed token unchanged, and stop with
that one decision. Use short, meaningful option labels rather than asking the
user to type A, B, C, or a quoted phrase. Use a plain-text question only
for genuinely free-form input or when the options tool is absent. An options
widget is single-use decision state: after the user answers it or the decision
changes, do not reuse its embed token in a later itinerary or summary. Create a
new widget only for a new unresolved choice.
Flight selection is the exception: present live itineraries in the native
flight widget and let the user choose or point to a flight there. Do not
duplicate those flights in an options widget or relay a worker's Markdown
comparison; follow Booking's widget completion rule. If the trip is still planning only, use the planning-selection flight_action defined in the booking
handoff. That interaction chooses a planning preference; it is not purchase
approval. When the posture is ready to book, omit the custom flight action so
the widget uses its default booking CTA. Then use muse.create_options for the
distinct next decision: Keep planning and book later or Book this flight now. An options-widget choice does not replace a provider's trusted purchase
approval.
Make recommendations for physical places visual. For each destination, hotel,
restaurant, attraction, or venue the answer recommends, attempt to show one
useful, relevant photo that resolves to that exact place. Use event art or seat
views when those better support the choice. Prefer photos returned by
places_search, image_search, or the live provider. Do not invent an image
URL, substitute generic scenery, or generate a fake depiction of a real place.
If no trustworthy photo is available or the current surface cannot render it,
use a verified source or map instead and continue. Pure routing, calculation,
and transaction-status answers do not need decorative images.
Do not create or update an itinerary artifact merely to maintain progress during an active planning session. Keep the live trip status in a compact Markdown table in chat. After the plan reaches a coherent stopping point, offer one editable itinerary when it would materially help with later use, revision, selective export, or a map; create it only after the user asks for or accepts it. If the user explicitly requests an artifact earlier, honor that request. Update that same artifact after later changes. Keep it private by default. Publishing or sending it is a separate user-authorized action. Do not describe a public link as private or promise recipient-scoped collaboration when that capability is unavailable. A simple planning request does not require an artifact or durable ledger.
Read only what the current work requires:
| Reference | Read when |
|---|---|
/opt/hatch/skills/travel-planning/references/planning-kickoff.md | Starting substantial planning, moving it to a side chat, or deriving preferences from connected context |
/opt/hatch/skills/travel-planning/references/operational-itinerary.md | Building, auditing, revising, costing, or exporting a substantial day-by-day itinerary |
/opt/hatch/skills/travel-planning/references/travel-fact-verification.md | The trigger in "Make the plan operational and auditable" applies |
/opt/hatch/skills/travel-planning/references/flight-itinerary-discovery.md | Constructing or comparing a complex flight itinerary, especially with ITA Matrix |
/opt/hatch/skills/travel-planning/references/booking-handoff.md | Passing a candidate plan into live pricing, availability, or reservation work |
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.
Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.
Apple Health에 동기화된 걸음 수, 심박수, 수면, 운동 기록을 기간별로 확인하고 일상 변화와 동기화 상태, 누락된 데이터를 살펴봅니다.
Word 문서와 템플릿을 만들고 편집하며 내용 추출, 이미지 교체, 변경 내용 추적과 메모를 다룹니다. 제목과 목록 구조를 정리하고 모든 페이지의 표시를 확인합니다.