Build Christophe’s daily agenda across Google + Outlook with strict personal-calendar filtering. Use when asked things like “how my day looks,” “check all calendars,” “what meetings do I have today,” or when Outlook exports look wrong/missing. Includes a stale-export check and live Outlook browser fallback with MFA prompt handling.
Use this skill to produce a reliable today view for Christophe only.
Get current date/time
session_status to anchor “today” in Europe/Paris.Read Google personal calendar (strict filter)
[email protected] unless Christophe explicitly asks for family/school calendars.export GOG_KEYRING_PASSWORD="$(cat /Users/cri/clawd/secrets/gog_keyring_password.txt)"
gog calendar events [email protected] --from <today-start-iso> --to <today-end-iso> --json --no-input
Sync Outlook exports and test freshness
python3 /Users/cri/clawd/skills/outlook/scripts/sync_outlook_exports.py
/Users/cri/clawd/skills/christophe-schedule/scripts/outlook_export_health.py
looks_stale_for_today=true (or user says data is missing), treat export as unreliable and switch to live Outlook.If export is fresh, read Outlook appointments from export
python3 /Users/cri/clawd/skills/outlook/scripts/outlook_reader.py appointments --upcoming --limit 50
If export is stale, use live Outlook (browser tool)
https://outlook.office.com/calendar/view/week[email protected]Merge and summarize
Return a concise agenda:
HH:MM–HH:MM — Title (source)