name: weekend-planner description: Generate a personalized ranked list of weekend activities for the family. Reads planner profile, family profiles, history, and sources before searching for current events. user-invocable: true
Weekend Planner
Purpose
Generate a curated, ranked list of weekend activities tailored to the family's profiles, preferences, and history. Save the plan to ./output/.
Steps
Run these in order every time:
1. Load Context
Read all of the following before doing anything else:
./planner.md— location, budget, travel radius, planning preferences./profiles/*.md— every family member profile./history/*.md— past events and ratings./sources/sources.md— approved sources to search
If any file is missing, note it and continue with what's available. If ./planner.md is missing, ask for the location before proceeding.
2. Determine the Weekend
Use today's date to identify the upcoming Saturday and Sunday. If the user specifies a different weekend, use that instead.
3. Search for Events
For each source in ./sources/sources.md:
- Fetch the page and extract events or activities happening the target weekend
- Capture: event name, date/time, location, cost, age suitability, and a brief description
- Ignore events outside the planner's max travel distance
- Ignore events that conflict with recurring commitments in
./planner.md
Also consider evergreen activities (parks, trails, venues) that don't require a specific event listing if the sources are light.
4. Score and Rank
Score each activity against the family context. Consider:
- Family fit — does it suit the ages, interests, and preferences of the family members?
- Avoid list — skip anything that conflicts with a family member's avoid list or constraints
- History — down-rank repeats of recent events; up-rank activities similar to ones they rated positively
- Budget — filter out anything clearly outside the stated budget
- Logistics — prefer activities that work within the travel radius and don't clash with commitments
Rank the final list from best fit to weakest fit. Aim for 6–10 options total across the weekend.
5. Write the Plan
Save to ./output/YYYY-MM-DD-weekend.md using the Saturday date. Format:
# Weekend Plan — [Month Day–Day, Year]
## Why These Were Picked
[2–3 sentences on what you optimized for given the family profiles and history]
---
## Saturday, [Month Day]
### 1. [Event Name] ⭐⭐⭐
**When:** [time]
**Where:** [location]
**Cost:** [free / $X per person / free–$X]
**Best for:** [which family members this is especially good for]
**Why:** [1–2 sentences on why this fits the family]
[URL]
### 2. [Event Name] ⭐⭐
...
---
## Sunday, [Month Day]
### 1. [Event Name] ⭐⭐⭐
...
---
## Also Worth Considering
[2–3 backup options with a one-liner each]
Star ratings reflect family fit: ⭐⭐⭐ great fit, ⭐⭐ good fit, ⭐ worth considering.
6. Present and Offer Feedback
After saving, show the plan inline and ask if anything looks good or should be saved to history.
If the user gives feedback (thumbs up/down, "we went to X"):
- Append the entry to
./history/YYYY-MM.mdwith the event name, date, and rating - Use this format:
## [Event Name]
**Date:** YYYY-MM-DD
**Rating:** 👍 / 👎
**Notes:** [optional]
Tips
- Prioritize specificity over volume — 6 well-matched options beat 15 generic ones
- If sources return nothing for the target weekend, fall back to evergreen activities and note that event listings were sparse
- Never recommend something on a family member's avoid list, even if it scores well otherwise