name: travel-itinerary-generator description: "Generates a personalized travel itinerary based on user-provided vacation details. Use when a user requests a travel plan, trip itinerary, picnic plan, or day-by-day vacation schedule, or plan a itinery, trip, picnic."
Travel Itinerary Generator
This skill generates a geographically optimized, season-aware, and budget-aligned travel itinerary after collecting and validating required trip details.It follows a strict sequential gated workflow and leverages internal reference documents to ensure consistency and quality.
When to Use
Activate this skill when the user explicitly requests:
- A travel itinerary
- A trip plan
- A vacation schedule
- A day-by-day travel plan
Do NOT activate for:
- General travel advice
- Visa, packing, or safety-only questions
- Hotel-only or flight-only requests
Required Trip Details (Conditional Sequential Collection)
Before asking any questions, first scan the user's message for the required fields:
Required fields:
- Vacation Destination
- Duration of Stay
- Month of Travel
- Budget (Optional)
Step 0 – Input Detection
If ALL required fields (except optional Budget) are already present in the user’s message:
- Do NOT ask sequential questions.
- Proceed directly to validation phase.
If SOME required fields are missing:
- Ask ONLY for the missing fields.
- Ask them one at a time.
- Do NOT re-ask fields already provided.
Sequential Question Rule
Only trigger sequential questioning when required data is missing. Never ask for information already clearly provided in the prompt.
Sequential Question Format
Use this exact structured format:
Step 1: Whats the name of Vacation Destination:
Step 2: Duration of Stay there:
Step 3: Month of Travel:
Wait for user response after each step.
Do not proceed until valid input is received.
Validation Phase
Before itinerary generation:
- Validate using
references/validation-checklist.md - Ensure:
- Duration > 0 (positive integer)
- Budget is numeric (strip symbols if needed)
- Month normalized to standard month name
- All required fields collected
- User confirms summary
If validation fails:
- Re-prompt only for the invalid field
- Do not continue
Planning Framework (Reference-Driven)
After validation and confirmation, construct the itinerary using the following references:
1. Attraction Prioritization
Use: references/attraction-ranking.md
Priority order:
- Must-see attractions
- Attractions aligned with Interests
- Iconic landmarks
- Seasonal highlights
- Secondary nearby activities
If duration limits coverage:
- Prioritize by geographic proximity
- Inform user what cannot fit realistically
Never fabricate attractions.
2. Geographic Clustering
Use: references/geographic-clustering.md
Rules:
- Group by district/neighborhood
- Avoid backtracking
- Prefer walking clusters
- Follow daily density limits:
| Trip Length | Activities per Day |
|---|---|
| 1–2 days | 1–2 |
| 3–7 days | 2–4 |
| 8+ days | 2–3 + rest blocks |
3. Seasonal Adjustment
Use: references/seasonal-considerations.md
Adjust itinerary for:
- Rainy seasons
- Extreme heat
- Winter conditions
- Peak tourism months
Always include brief seasonal notes when relevant.
4. Budget Allocation
Use: references/budget-guidelines.md
If budget provided:
- Estimate daily spend (Total ÷ Duration)
- Suggest transport tier
- Suggest dining tier
- Label premium options as Optional Upgrade
If budget is NOT provided: Estimate an appropriate mid-range daily budget based on destination cost level.
Clearly state: “Estimated mid-range budget assumption used.” Do not invent unrealistic luxury or ultra-budget assumptions.
Output Construction
Use structure defined in:
assets/itinerary-template.md
Optional Upgrades
(Only if budget tier allows)
Travel Tips
- Transport guidance
- Booking advice
- Cultural notes
Iterative Refinement Loop
After presenting the itinerary:
Ask:
- “Would you like to adjust any day?”
- “Would you prefer more relaxation time?”
- “Would you like more premium or more budget options?”
Refine while preserving:
- Geographic clustering rules
- Budget alignment
- Activity density constraints
Repeat until user confirms satisfaction.
Edge Case Handling
Very Large Budget
Offer optional premium tours clearly labeled.
Very Short Trips (≤2 Days)
Limit to 1–3 major attractions per day.
Behavioral Rules
The skill must:
- Ask one required field at a time
- Never assume missing values
- Never fabricate attractions
- Never skip validation
- Always follow reference documents
- Always confirm inputs before generating
- Save the final itinerary as markdown file
Example Behavior
User: “Plan a 5-day itinerary to Kyoto in October with a $2500 budget.”
Skill Flow:
- Sequentially confirm each required field
- Validate and confirm summary
- Rank attractions (
attraction-ranking.md) - Cluster geographically (
geographic-clustering.md) - Adjust seasonally (
seasonal-considerations.md) - Estimate daily spend (
budget-guidelines.md) - Generate output using (
itinerary-template.md) - Save final output as
travel-plan.md