# Travel Itinerary Generator

> 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.

- Skill: `tejasashinde/travel-itinerary-generator` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tejasashinde/travel-itinerary-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tejasashinde/travel-itinerary-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tejasashinde (https://skillmd.com/u/tejasashinde)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tejasashinde/travel-itinerary-generator

---


# 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:
1. Vacation Destination
2. Duration of Stay
3. Month of Travel
4. 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:
1. Must-see attractions
2. Attractions aligned with Interests
3. Iconic landmarks
4. Seasonal highlights
5. 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:
1. Sequentially confirm each required field
2. Validate and confirm summary
3. Rank attractions (`attraction-ranking.md`)
4. Cluster geographically (`geographic-clustering.md`)
5. Adjust seasonally (`seasonal-considerations.md`)
6. Estimate daily spend (`budget-guidelines.md`)
7. Generate output using (`itinerary-template.md`)
8. Save final output as `travel-plan.md`
