Generate a personalized daily briefing by gathering data from the user's connected services. Designed to run on heartbeat or on-demand.
When to Use
- On heartbeat (morning, configured active hours start)
- When the user says "good morning", "daily briefing", "what's on today", "catch me up"
Data Sources
Collect from whichever sources are available. Skip gracefully if a source isn't connected.
1. Calendar (today's events)
Use the calendar skill or gog CLI to fetch today's agenda.
2. Tasks / Reminders
Use apple-reminders skill or todoist skill to list open tasks due today.
3. Weather
Use web_search to find current weather for the user's timezone/location.
4. Unread emails (count + important senders)
Use gog CLI if available: gog mail list --unread --limit 5
5. GitHub notifications
If gh CLI is authenticated: gh api notifications --jq '.[0:5] | .[] | "\(.subject.type): \(.subject.title) (\(.repository.full_name))"'
6. News headlines (optional)
Use web_search for 2-3 relevant headlines based on user's interests from USER.md.
Output Format
☀️ Good morning! Here's your daily digest.
📅 Calendar (3 events today)
09:00 — Team standup (Zoom)
13:00 — Lunch with Alex
16:00 — Deploy review
✅ Tasks due today (2)
☐ Review PR #142
☐ Update deployment docs
📧 Email (7 unread, 2 important)
→ Sarah Chen: "Q1 Budget Review"
→ GitHub: "Security alert for repo/app"
🐙 GitHub (3 notifications)
PR: Fix auth middleware (myorg/api)
Issue: Memory leak in worker (#89)
Release: v2.1.0 published (myorg/cli)
🌤️ Weather: 12°C, partly cloudy, high 18°C
📰 Headlines
• [Relevant headline 1]
• [Relevant headline 2]
Have a great day! 🦞Rules
- Keep it concise — this is a glanceable briefing, not a deep dive.
- If a data source is unavailable or errors out, skip it silently. Never fail the whole digest because one source is down.
- Adapt the greeting to time of day (morning/afternoon/evening).
- If the user has preferences in USER.md (interests, important contacts), prioritize those.
- For heartbeat: only send the digest once per day. Track via a file:
workspace/memory/.last-digest-date.