Experience planner
Convert vague real-world leisure requests into concrete activity plans. Use when the user says they are bored, asks what to do tonight or this weekend, wants date ideas, solo outings, hangouts, nearby classes, or short itineraries that should account for location, time, weather, budget, companions, travel time, and prior activity history. Use live web research to verify current venues, events, weather, and local trend signals before recommending a small executable plan, and optionally record the outcome and feedback in a local history file.From its SKILL.md
npx -y skills add tengfone/agents --skill experience-plannerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.7 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Experience Planner
Convert a loose desire for something to do into a short, executable plan with live-verified options, local momentum signals, estimated spend, travel time, and booking notes.
Prefer real, current options over generic idea lists. Use live web browsing for time-sensitive facts and do not present results as current unless you verified them in-session.
Skill Summary
| Field | Value |
|---|---|
| Name | experience-planner |
| Description | Convert vague leisure requests into executable, location-aware activity plans with live web verification and local trend checks. |
| Metadata | history_path=.experience-planner/history.json; primary_script=scripts/activity_history.py; requires_live_research=true; requires_web_browsing=true; output_sections=assumptions,recommended plan,booking notes,backups,history update |
| Tags | planning, leisure, local-activities, itinerary, weather-aware, budget-aware, history-aware, trend-aware, live-research |
Workflow
-
Lock the planning window. Translate phrases like
tonight,after work, orthis weekendinto absolute dates and times in the user's locale. State assumptions briefly when the user is vague. -
Load or create history. Use the bundled script to create or inspect a local history file before searching. Keep the file in the current workspace, not inside the skill directory.
python3 <path-to-skill>/scripts/activity_history.py ensure
python3 <path-to-skill>/scripts/activity_history.py summary --limit 20
python3 <path-to-skill>/scripts/activity_history.py recent --limit 10
Default history path: .experience-planner/history.json
- Gather the minimum planning context. Collect only the signals that materially affect the recommendation:
- starting area or neighborhood
- social context:
solo,partner,friends,family,team - budget ceiling or price sensitivity
- transport mode and max travel time
- indoor or outdoor preference and weather tolerance
- energy level, pace, and vibe
- dietary, accessibility, age, or hard schedule constraints
- willingness to book ahead versus walk-in only
If key context is missing, ask at most one or two short questions. Otherwise, make a reasonable assumption and say so.
-
Research live options and area trends. Use web browsing for every time-sensitive recommendation. At minimum, verify the planning window against current weather, opening hours, event schedules, class times, ticket availability, and booking links. Also gather local momentum signals such as highly rated or busy area spots, recent openings, current event buzz, and recent neighborhood coverage. Prefer the workflow in live-research.md. Gather roughly five to ten candidates across a few categories before narrowing.
-
Score candidates. Use planning-rubric.md. Reject candidates that are closed, sold out, clearly outside budget, or too far away for the available window. Reward fit, proximity, novelty, and reliability.
-
Build a small itinerary. Produce one primary plan and one or two backup plans. Make the primary plan feel executable, not theoretical:
- main activity
- food or drink stop that fits the same area and budget
- optional follow-up if time and energy remain
For each plan, include:
- expected start time and duration
- travel time between legs
- estimated total cost
- why it fits this user and this moment
- what made it a strong live pick right now, for example current availability, popularity, or recency
- booking or walk-in guidance
- source links for anything time-sensitive or spend-related
If browsing or internet access is unavailable, say so clearly and do not imply the results are live. Offer either:
- a generic non-live plan based on stable knowledge, or
- a request for the user to enable browsing and rerun
- Close the loop. When the user reports what they did or whether they liked it, record it so future recommendations avoid repetition and improve variety.
python3 <path-to-skill>/scripts/activity_history.py record \
--title "Bouldering at Boulder Planet" \
--date 2026-03-15 \
--companions friends \
--category fitness \
--cost 32 \
--rating 4 \
--tag indoor \
--tag active \
--notes "Good difficulty spread; crowded after 8pm"
Planning Rules
- Prefer concrete nearby options that can be acted on now over broad idea dumps.
- Use live web research instead of memory for hours, schedules, pricing, weather, and availability.
- Treat "popular nearby" or "what's trending" as a required search dimension whenever the user wants the best current options, not as an optional extra.
- Mix novelty with reliability. Include at least one low-friction option when the user sounds indecisive or last-minute.
- Penalize recent repeats in the same category, venue, or neighborhood unless the user explicitly asks for them.
- Prefer indoor, bookable, or low-weather-risk plans when the forecast is poor.
- Prefer low-coordination plans when the user's request is vague and immediate.
- Widen the radius or switch categories before giving up on a thin search result set.
- Do not recommend a time-sensitive venue or event from a single weak source when a stronger primary source is available.
Output Shape
Keep the final answer short and actionable:
-
AssumptionsOnly include this if you had to infer missing context. -
Recommended planGive the itinerary in order with times, travel, cost, and one-sentence rationale. -
Booking notesCall out reservations, ticket links, or opening-hour constraints. -
BackupsGive one or two credible alternatives, not a long list. -
History updateIf the user reports the outcome, record it and mention the logged takeaway that will affect future recommendations.
Always include source links for the primary plan and any booking-critical backup.
Reference Map
- planning-rubric.md: scoring dimensions, search strategy, and itinerary heuristics
- live-research.md: required live-search workflow, source priority, freshness checks, and fallback behavior
- history-schema.md: local history format, storage rules, and script behavior
What ships with it: 5 files
15.4 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml276 B
references/
- history-schema.md1.8 KB
- live-research.md3.0 KB
- planning-rubric.md2.7 KB
scripts/
- activity_history.pyruns7.6 KB
Gives 0 of the 12 instructions most plan spec skills give in ~1.4k tokens
Counted across 1,099 of the 1,860 authors here whose files we hold, read 2026-08-07
- Ask one question at a timein 51 of 1099
- Break plans into vertical slicesin 29 of 1099, across 11 files
- Publish issues in dependency orderin 27 of 1099, across 9 files
- Iterate until user approves the breakdownin 25 of 1099, across 7 files
- Explore the repository to understand the codebase statein 24 of 1099, across 7 files
- Use domain glossary vocabularyin 23 of 1099, across 5 files
- Apply correct triage labels to published issuesin 23 of 1099, across 5 files
- Prefer AFK slices over HITLin 22 of 1099, across 7 files
- Write a specification before writing any codein 22 of 1099, across 14 files
- Write failing tests before implementation codein 22 of 1099, across 20 files
- Ask clarifying questions until requirements are concretein 21 of 1099, across 13 files
- Respect existing architecture decision recordsin 20 of 1099, across 5 files
Said here and by no other author read
- convert vague time references into absolute dates and times
- create or inspect local history before searching
- gather minimum planning context before researching
- ask at most two short questions if context is missing
- gather local momentum signals for current options
- score candidates using the planning rubric
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.