today

star 0

Cross-domain daily briefing. Surfaces deadlines, milestones, active priorities, and action items from every domain. Resilient to irregular use — works whether you check daily or after a two-week gap. Use when user says "/today", "briefing", "catch me up", "what's happening", or similar.

pedro-f20 By pedro-f20 schedule Updated 6/9/2026

name: today description: Cross-domain daily briefing. Surfaces deadlines, milestones, active priorities, and action items from every domain. Resilient to irregular use — works whether you check daily or after a two-week gap. Use when user says "/today", "briefing", "catch me up", "what's happening", or similar. argument-hint: [--deep] [--timeline] [--domain=baby|finances|career|...] [--update-rsu]

Generate a cross-domain briefing by reading every context.md in the repo. Surface what matters right now: approaching deadlines, milestone status, active priorities, and items needing attention. Designed to work whether the user checks daily, weekly, or after a long gap — no guilt, no assumptions about frequency. `/today` — Standard briefing (key dates, active items, what needs attention) `/today --deep` — Extended briefing with full domain-by-domain status `/today --timeline` — Cross-domain timeline: all key dates in a single chronological view `/today --domain=baby` — Briefing filtered to a single domain `/today --update-rsu` — Force RSU price update even if last update was recent ## 1. Read All Context Files

Discover, don't enumerate — a hard-coded domain list silently goes stale:

find . -name context.md -not -path './.git/*' | sort

Read every file returned, plus these, all in parallel (they're small):

  • decisions.md (root) — review dates
  • protocols/key-dates.md — the dated-commitments registry (renewals, expiries, immunisations, fixed deadlines). This is the primary date source; context files add colour and anything not yet registered.
  • finances/reference.md — RSU vesting schedule (step 2b)
  • home/house/reference.md — waste collection schedule
  • home/garden/CLAUDE.md — seasonal calendar (step 2c)
  • Any reference.md a context file cites for a date-bearing item

Performance: I/O-bound, not research-heavy — no subagent fan-out needed. Issue all reads together, and when steps 2b/2c will run, kick off their bash fetches (finances.tools.market_data, home.garden.tools.weather) in the same batch.

--domain flag: still read root context.md (personal dates) but report only on that domain.

2. Calculate Temporal Context

  • Leo's age from April 2, 2026 (header format below) + next milestone/vaccination from key-dates + baby/context.md
  • Financial: days to tax year end (Apr 5); ISA deadline if <60 days; payments due within 14 days
  • Career: paternity leave days remaining (ends Aug 1, 2026). Suppress career prompts until July 1, 2026 (user instruction — career/context.md)
  • Bin day (home/house/reference.md): collection Wednesday, bins out Tuesday evening. Even ISO week = recycling + garden; odd = general; food weekly. Tuesday → first "This Week" item ("put bins out tonight — {type}"); Monday → heads-up. Bank holidays shift the week one day.

2b. RSU Values (conditional)

Follow finances/tools/rsu-update.md — run only if the stored price is >7 days old or --update-rsu was passed; otherwise show cached values with their as-of date. Always include the META/RSU line in Quick Stats. Never block the briefing on a failed fetch.

2c. Garden Care (seasonal)

  1. Weather: python3 -m home.garden.tools.weather --json → past-7-days rain/deficit, 3-day forecast rain, hot/frost days, and a watering.recommendation (water|check|skip) with reason. If the tool fails, follow the cross-validated WebSearch fallback in home/garden/tools/weather-fallback.md.
  2. Seasonal tasks from home/garden/CLAUDE.md (Monthly Task Reference) matched against home/garden/context.md specifics: pruning windows (cherry = Jun–Aug only), sowing/planting, lawn care, newly planted stock (last ~6 weeks → extra watering in dry spells), imminent deliveries.
  3. Combine: watering line + 1–3 timely tasks. Daily nudge, not a full plan.

Special triggers → "Needs Attention": frost ≤2°C forecast with tender plants out; hot days ≥25°C (water/mulch before the heat); >20mm rain in 3 days (delay lawn seeding/feeding).

Skip the section if nothing is timely or it's dormant mid-winter.

3. Identify What Matters

  • This Week (≤7 days): deadlines, payments, age-relevant newborn milestones, decisions awaiting action
  • Coming Up (8–30 days): chronological
  • Active Priorities: items marked active/in-progress across domains. Suppress items whose decision point is >30 days away.
  • Decisions due for review: decisions.md review dates passed or within 30 days → "Needs Attention" with decision ID
  • Open Loops: grep every **/context.md for **OPEN:** (see protocols/memory.md). Surface in "Needs Attention": overdue first, then due ≤7 days, then TBD. Format: **{Domain}**: {action} — {owner}{, due/overdue {date}}. Skip **DONE:**.
  • Stale: action items with no session-history progress; milestones that passed without update (flag gently — "status unknown")
  • Maintenance cadence (in-session by design — decision P3, no external schedulers): from projects/ai-assistant/context.md (session history + Distill Log), find the last /review, /repo-maintenance, and /distill runs. If overdue — review >14 days, repo-maintenance >45 days, distill >100 days — add ONE combined line to "Needs Attention": "Maintenance: {overdue items} — run when you have a spare session". No date found = treat as overdue. Never more than one line; never guilt-trip.

4. Format the Briefing

# Today: {Day of Week}, {Date}
**Leo**: {age} — {milestone context}

Age format: <14 days {N} days old · 14d–3mo {N} weeks, {M} days old · 3–24mo {N} months old · then years.

Sections in order (each only if it has content; one line per item, domain bolded, most urgent first):

  1. This Week — if empty: "Nothing urgent. Next up: {first Coming Up item}."
  2. Coming Up- **{Date}** — {item} ({domain}), chronological, ≤30 days
  3. Active Priorities
  4. Garden Care (1–4 bullets, per 2c)
  5. Needs Attention — open loops first (overdue → due-soon → undated), then stale items, decision reviews, maintenance-cadence nudge (max one line)
  6. Quick Stats — table; show only currently-relevant stats. Always include META/RSU line. ISA remaining only if tax year end <90 days.

Footer: *Anything you want to dig into? Just ask.*

5. --deep Flag

Append a domain-by-domain status section ({current state, recent activity, next milestone} per domain). Skip domains with nothing active.

6. --timeline Flag

Replace the standard briefing with a single chronological view of ALL dates, grouped by month, designed to reveal collisions.

Sources: protocols/key-dates.md (primary) + every context.md/reference.md date table + decisions.md review dates.

Format: per-month tables | Date | Event | Domain | Type | where Type ∈ Deadline (immovable) / Milestone (important, flexible) / Payment / Action / Review. Range: today → 6 months (only months with events; last 7 days' passed events with strikethrough for context).

Collision detection: 3+ events in 7 days across domains = collision; 5+ in 30 days = cluster. Add a "Collision Alert" section: which dates, which domains, practical implication ("front-load X before Y").

Still includes the Leo header. --deep --timeline = standard briefing then timeline.

7. Adapt to Life Stage

Read the context files and adapt — don't hard-code phases. Current: newborn/paternity leave (Leo's age leads; feeding/sleep/vaccination milestones; leave countdown; career suppressed until Jul 1). Coming: post-leave Aug 2026 (childcare, career re-entry, hobbies), weaning Oct 2026+ (allergen protocol, motor/language milestones).

8. Resilience to Gaps

  • Never guilt-trip; never assume daily cadence; show the window ("next 7 days"), not the delta ("since last time")
  • Passed deadline → matter-of-fact note. Passed milestone without update → gentle "status unknown" in Needs Attention
  • No tracking state — every run is a fresh scan
- **Baby context out of sync**: run from available facts; flag gently — "baby/context.md hasn't been updated in {N} days — worth a weekly-review pass" - **Missing context.md for an expected domain**: skip silently; mention in Needs Attention only if the domain has known activity - **Long gap (>30 days)**: format unchanged — forward-looking windows handle it; Needs Attention just gets longer - **Tax year boundary**: before Apr 5 emphasize ISA/year-end; after, new-year priorities - **`--domain=X`**: keep the Leo header (life-stage anchor), filter the body - **Timeline too sparse**: show what exists + "Timeline is light — some domains may not have explicit dates yet." Don't manufacture dates - **Timeline too dense (30+)**: tight month grouping; collapse 10+ item months to summary + details; always show collision alerts - **key-dates.md disagrees with a domain file**: trust the domain file (it's the owner), surface the drift in Needs Attention so the registry gets fixed 1. All context.md files read (no domain missed); `protocols/key-dates.md` read as the primary date source 2. Leo's age correct from April 2, 2026 3. ≤7-day items in This Week; ≤30-day in Coming Up; loops/staleness flagged without guilt 4. RSU update only when stale or forced; cached values shown otherwise; briefing never blocks on a failed fetch (RSU or weather) 5. Garden Care appears when timely; weather tool fallback per `weather-fallback.md`; frost/heat alerts land in Needs Attention 6. Scannable in under 30 seconds; works identically daily or after a 3-week gap; no tracking state 7. Timeline mode: dates from registry + all context/reference files, grouped by month, typed, with collision alerts # Today: Tuesday, June 9, 2026 **Leo**: 9 weeks, 5 days old — post-jab recovery done, watching for first coos

This Week

  • Home: Put bins out tonight — general waste + food collected tomorrow
  • Baby: Book the 12-week vaccines (~4 weeks after Jun 3 set) — call Grange Street

Coming Up

  • ~Jun 25–Jul 1 — Leo's 12-week vaccines window (baby)
  • Jul 12 — Car + home insurance renewal, Admiral MultiCover (car)
  • Jul — Northern Spain trip — heat plan, no sunscreen <6mo (baby)

Garden Care

  • Watering: 💧 Check — 6mm rain past 7 days, 3 dry days ahead. Finger-test around the April plantings.
  • Cherry 'Stella': pruning window opens mid-June (silver leaf safe) — the low branch is scheduled for removal.

Needs Attention

  • Baby: Chase Andrada's Mummy MOT — me, overdue since ~late May
  • Bathroom: 2F palette pick open since May 26 — Vlad's v2 quote is also waiting on the punch list

Quick Stats

Leo age 9w 5d
Days to paternity leave end 53 (Aug 1)
Net worth £1,084k
META / RSU (2026 net) $612 (as of Jun 2) / £158k

Anything you want to dig into? Just ask.

Install via CLI
npx skills add https://github.com/pedro-f20/personal-assistant --skill today
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator