Generate a polished `.xlsx` travel itinerary workbook when the user wants a travel itinerary spreadsheet, trip planner workbook, travel planner xlsx, trip spreadsheet, itinerary workbook, travel prep spreadsheet, travel shopping tracker, holiday itinerary spreadsheet, conference travel spreadsheet, or messy travel docs turned into a workbook. Use when the output must be an editable Excel workbook with bookings, daily plans, prep/compliance, packing, buying, and sources. Triggers on: 'travel-plan-generator', 'travel itinerary spreadsheet', 'travel planner xlsx', 'trip spreadsheet', 'itinerary workbook', 'travel prep spreadsheet', 'travel shopping tracker', 'holiday itinerary spreadsheet', 'conference travel spreadsheet'. Do NOT trigger for plain prose itineraries, simple travel recommendations, casual things-to-do chat, or calendar scheduling without workbook generation.
Turn messy travel inputs into a calm, editable .xlsx workbook with deterministic structure and pragmatic trip-planning judgment.
What did the user actually ask for?
The user wants an editable workbook, spreadsheet, tracker, or .xlsx
Use this skill.
The user gave PDFs, screenshots, notes, bookings, shopping asks, or conference constraints Extract everything you can first. Do not ask questions that the attachments already answer.
The request is missing material facts that would make the workbook wrong
Ask exactly one consolidated intake batch. Group it as Required to proceed, Useful but optional, and Documents or screenshots that would improve accuracy. Read references/intake-protocol.md.
The request has non-blocking ambiguity Proceed with explicit assumptions and visible review flags. Do not stop the build just to perfect every detail.
The user only wants prose, lightweight recommendations, or a casual itinerary chat Do not use this skill as the primary tool.
You are in an OpenAI or Codex-style environment and /home/oai/skills/spreadsheets/SKILL.md exists
Read that file before spreadsheet work, then continue with this skill's workbook-specific rules.
| Need | Read or run | Why |
|---|---|---|
| One-batch intake discipline | references/intake-protocol.md | Prevent drip-fed questioning |
| Deterministic workbook contract | references/workbook-spec.md | Sheet order, widths, merges, formulas, palette |
| Canonical trip model fields | references/trip-model.md | Build the internal model before writing cells |
| Field-to-sheet mapping | references/mapping-rules.md | Keep Pack vs Buy vs Prep clean |
| Volatile travel research rules | references/research-policy.md | Verify visas, transit, medicine, conference dates, and other unstable facts |
| Build the workbook | python3 scripts/build_workbook.py --trip-model /path/to/model.json | Generate the .xlsx artifact |
| Validate the workbook | python3 scripts/validate_workbook.py /path/to/output.xlsx --trip-model /path/to/model.json | Check structure, formulas, validations, and row patterns |
| Visual-risk scan | python3 scripts/render_check.py /path/to/output.xlsx | Catch likely clipping or spillover when a renderer is unavailable |
| Review packaging and sample build | python3 scripts/test_skill.py /path/to/skill | Run the local functional smoke test |
templates/trip_model_schema.json and references/trip-model.md.scripts/build_workbook.py for filename strategy, sheet order, merges, widths, formulas, validations, fills, fonts, borders, and fixed row patterns.scripts/validate_workbook.py. If a renderer such as @oai/artifact-tool is available, do a visual pass before hand-off.Ask nothing if the message and attachments already cover the essentials.
If a clarification batch is necessary, use this exact grouping and keep it short:
Required to proceed
- ...
Useful but optional
- ...
Documents or screenshots that would improve accuracy
- ...
Cover these only when relevant and still missing: trip name or destination, start/end dates, departure and final home arrival, cities or bases, traveller list and roles, passport nationalities when immigration matters, flights and transit, accommodation, fixed bookings, conference or family commitments, budget sensitivity, pace, mobility constraints, dietary constraints, shopping goals and requesters, group split patterns, pre-departure and recovery-day preference, official prep tasks, and preferred output filename.
Read references/intake-protocol.md for the full checklist, blocker logic, and wording rules.
references/research-policy.md.scripts/build_workbook.py to generate the workbook.scripts/validate_workbook.py on the generated .xlsx.@oai/artifact-tool or another renderer is available, render each sheet for a quick visual check. Otherwise run scripts/render_check.py for a structural visual-risk pass.| Deterministic builder responsibilities | Heuristic planner responsibilities |
|---|---|
| Workbook filename strategy | Extract facts from messy PDFs, screenshots, and notes |
| Sheet order and naming | Decide when contradictory evidence becomes a blocker |
| Merged ranges, widths, row heights, fills, borders, fonts | Reconcile conflicting traveller counts or date references |
| Column headers and validation lists | Choose realistic neighbourhood clusters and fallbacks |
| Formula generation and cross-sheet references | Protect conference or work anchors without wrecking the family plan |
| Status vocab and chip styling | Decide when split plans are necessary because coverage is partial |
| Source logging structure | Decide what belongs in Prep vs Pack vs Buy |
| One-day-before and one-day-after planner window | Prune absurd routes, overpacked days, or cross-city zig-zags |
Do not improvise the deterministic layer in prose. Use the builder script.
| Task | Read |
|---|---|
| Exact workbook architecture, merges, counters, naming rules | references/workbook-spec.md |
| Intake questions, blockers, and one-batch discipline | references/intake-protocol.md |
| Source verification, official-source priority, and what to research | references/research-policy.md |
| Canonical model fields and normalization rules | references/trip-model.md |
| Sheet-mapping and categorization rules | references/mapping-rules.md |
| Failure modes and anti-patterns | references/gotchas.md |
| Portability and spreadsheet-runtime notes | references/cross-harness-notes.md |
scripts/build_workbook.py builds the workbook from a canonical model.scripts/validate_workbook.py checks structure, formulas, data validations, widths, merges, and Daily Plan row patterns.scripts/render_check.py performs a lightweight visual-risk scan when a richer renderer is unavailable.templates/trip_model_schema.json defines the canonical trip-model contract.templates/workbook_template_spec.yaml mirrors the deterministic layout contract for human review.