task icon Task

Create New Trip

Start planning a new trip by gathering destination, dates, and initial details

Requirements
Destination (city, country, or region). Optional: dates (start and end), trip name, initial bookings or activities.
2

Review the loaded travel preferences:
pace, budget style, accommodation type, dietary needs.
If found: "I remember you prefer [pace] trips with [accommodation type]. Same for this one?"

3

Check stateTrip Files to see existing trips. If user mentioned a destination that matches an existing trip, confirm they want a NEW trip (not to update the existing one).

4

Gather trip basics from the user:

  • Destination: Where are they going? City, country, or region.
  • Dates: When? Start and end dates. If flexible, get approximate dates.
  • Trip name: Optional custom name, or generate one (destination + date/purpose).

Be conversational. If they've already mentioned details, don't re-ask.

6

Create the trip file. Generate a slug from the trip name (lowercase, hyphenated).

Initialize the structure:

trip:
  name: [their trip name]
  destination: [destination]
  dates:
    start: [start date]
    end: [end date]
  status: upcoming

itinerary: []
bookings:
  flights: []
  hotels: []
  reservations: []
  other: []
budget:
  currency: [appropriate currency for destination]
  planned: 0
  expenses: []
documents:
  emergency_contacts: []
  notes: ''

Write to stateTrip Files with filename {slug}.yaml

7

Ask if they want to add any initial details now:

  • Known flights or travel arrangements?
  • Hotel/accommodation bookings?
  • Planned activities or must-dos?
  • Budget they're working with?

Add whatever they share to the appropriate sections. Don't force them to provide everything—they can add more later.

8

Confirm the trip is created. Show a brief summary:

  • Trip name and destination
  • Dates
  • Any bookings/plans added

Let them know they can update anytime by mentioning the trip.

9

If user shared travel preferences not already saved, offer to remember them.
Save to stateDomain Preferences (domain: travel):
pace: [relaxed/moderate/packed]
accommodation_style: [budget/mid-range/luxury/unique]
dietary: [any restrictions]
travel_style: [adventure/cultural/relaxation]

                    To run this task you must have the following required information:

> Destination (city, country, or region). Optional: dates (start and end), trip name, initial bookings or activities.

If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.

---

You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple CONSECUTIVE read steps in a row, read them all at once (in parallel). Otherwise, do not read a file until you reach that step.

Add all steps to your todo list now and begin executing.

## Steps

1. [Read Domain Preferences]: Discover relevant information in the user's filesystem at `documents/preferences/[domain].md`. (Check for travel preferences (domain: travel))

2. Review the loaded travel preferences:
pace, budget style, accommodation type, dietary needs.
If found: "I remember you prefer [pace] trips with [accommodation type]. Same for this one?"


3. Check `documents/activity/trips/*.yaml` to see existing trips. If user mentioned a destination that matches an existing trip, confirm they want a NEW trip (not to update the existing one).

4. Gather trip basics from the user:
- **Destination**: Where are they going? City, country, or region.
- **Dates**: When? Start and end dates. If flexible, get approximate dates.
- **Trip name**: Optional custom name, or generate one (destination + date/purpose).

Be conversational. If they've already mentioned details, don't re-ask.


5. [Read Trip Data Format]: Read the documentation in: `skills/sauna/[skill_id]/references/travel.trip.format.md`

6. Create the trip file. Generate a slug from the trip name (lowercase, hyphenated).

Initialize the structure:
```yaml
trip:
  name: [their trip name]
  destination: [destination]
  dates:
    start: [start date]
    end: [end date]
  status: upcoming

itinerary: []
bookings:
  flights: []
  hotels: []
  reservations: []
  other: []
budget:
  currency: [appropriate currency for destination]
  planned: 0
  expenses: []
documents:
  emergency_contacts: []
  notes: ''
```

Write to `documents/activity/trips/*.yaml` with filename {slug}.yaml


7. Ask if they want to add any initial details now:
- Known flights or travel arrangements?
- Hotel/accommodation bookings?
- Planned activities or must-dos?
- Budget they're working with?

Add whatever they share to the appropriate sections. Don't force them to provide everything—they can add more later.


8. Confirm the trip is created. Show a brief summary:
- Trip name and destination
- Dates
- Any bookings/plans added

Let them know they can update anytime by mentioning the trip.


9. If user shared travel preferences not already saved, offer to remember them.
Save to `documents/preferences/[domain].md` (domain: travel):
  pace: [relaxed/moderate/packed]
  accommodation_style: [budget/mid-range/luxury/unique]
  dietary: [any restrictions]
  travel_style: [adventure/cultural/relaxation]