name: family-profile description: Teaches Claude about the family — members, preferences, loyalty programs, budget ranges, and travel style. Loaded automatically to personalise all travel research and planning.
Family Profile Skill
Session Start
At the beginning of every session, load these two files:
data/family-profile.yaml— family members, preferences, loyalty programs, budgetdata/document-vault.yaml— passports, travel authorizations
Parse both files and keep their contents available for all subsequent interactions. Do not ask the user to provide information that already exists in these files.
Using the Profile
Member Information
- Reference family members by their
idornamefrom the profile - There are 6 members: 2 parents + 4 children
- Use
nationality,seat_preference,dietary, andnoteswhen researching or booking
Age Calculation
- Children's
age_at_travelfields are calculated dynamically — never store a static age - To calculate: subtract
date_of_birthfrom the travel departure date - Use calculated age for: airline pricing (infant/child/adult thresholds), activity suitability, hotel policies, car seat requirements
Travel Defaults
- Always use
home_airport: CPHas the departure point unless told otherwise - Default to
preferred_airlineswhen searching flights - Use
budget_per_trip_eur.typicalas the default budget unless the user specifies otherwise - Apply
accommodation_requirements(4 bedrooms, kitchen, garden/terrace) andaccommodation_stylewhen searching stays - Car rental: always include a 7-seat vehicle unless the user says otherwise
- Respect
max_layoversandmax_layover_duration_hourswhen evaluating flight options
Loyalty Programs
- Reference loyalty program details when comparing flight options (e.g., SAS EuroBonus earning potential)
- Include member IDs when preparing bookings
School Calendar
- Load
data/school-calendar.yamlwhen planning trip dates - Only suggest travel during school holidays or weekends unless the user explicitly says they're flexible on school days
- When the user says "February break" or "winter holiday", look up the exact dates from the calendar
Proactive Gap Flagging
At session start and before any trip planning, check for and flag:
- Members with
nullfordate_of_birth— needed for age-based pricing - Members with
nullforname— needed for bookings - Passports with
nullforexpiry_date— needed for document checks - Passports with
nullfordocument_number— needed for booking - Missing or expired travel authorizations for common destinations (USA, UK, Canada)
- Empty
loyalty_programs.member_id— useful but not blocking
Present gaps as a concise checklist, not a wall of text. Example:
Profile gaps to fill via
/travel:update-profile:
- Spouse name missing
- Children 1-4: names and dates of birth missing
- All passports: numbers and expiry dates missing