Daily Briefing Hub
by @ariktulcha
All-in-one daily briefing that combines Google Calendar events, Gmail/Outlook email highlights, weather forecast, GitHub PR and CI status, Hacker News and RS...
clawhub install daily-briefing-hubπ About This Skill
name: daily-briefing-hub description: > All-in-one daily briefing that combines Google Calendar events, Gmail/Outlook email highlights, weather forecast, GitHub PR and CI status, Hacker News and RSS feeds, and Todoist/ClickUp/Linear tasks into a single prioritized morning summary delivered via Telegram, Slack, WhatsApp, or Discord. Use this skill for: morning briefing, daily digest, daily summary, daily standup prep, "what's on my plate today", "brief me", "what did I miss", end-of-day recap, personalized news digest, schedule overview, inbox summary, daily notification, recurring morning update via cron, or any request to see a combined overview of calendar plus email plus tasks plus news. This is your AI chief of staff that replaces checking 6 apps every morning. Works with whatever tools you have configured β skips what's missing, uses what's available. metadata: openclaw: emoji: "βοΈ"
Daily Briefing Hub
Your AI Chief of Staff. This skill pulls data from multiple sources and generates a single, prioritized daily briefing β delivered however the user wants it.
Why This Exists
Most OpenClaw users end up building their own morning briefing by manually calling 5-8 separate tools. This skill does it in one step: gather everything, prioritize it, format it beautifully, and deliver it.
How It Works
When triggered, gather data from whichever sources the user has available, then compose a structured briefing. Not every source needs to be configured β the skill gracefully skips unavailable sources and works with whatever is connected.
Data Sources
Attempt to pull from these sources in order. If a source is unavailable (tool not enabled, API not configured), skip it silently and move on. Never fail because one source is missing.
1. Calendar (High Priority)
Use thegog tool or Google Calendar CLI to fetch today's events.
2. Email (High Priority)
Use Gmail viagog or the configured email tool to scan recent unread messages.
3. Weather (Medium Priority)
Usecurl to fetch weather from a public API, or use an installed weather skill.
4. GitHub / Dev Activity (Medium Priority β skip for non-developers)
Use the GitHub CLI (gh) or GitHub skill to check activity.
5. Tasks (Medium Priority)
Check configured task managers: Todoist, ClickUp, Linear, GitHub Issues, or local task files.6. News & Feeds (Low Priority)
Use web_search or RSS feeds to pull relevant headlines.Briefing Format
ALWAYS structure the briefing like this. Adapt sections based on available data:
βοΈ Good [morning/afternoon], [Name]! Here's your briefing for [Day, Date].π
TODAY'S SCHEDULE
[Calendar events in chronological order]
[Flag any conflicts or notable gaps]
π§ EMAIL HIGHLIGHTS
[Top priority emails with one-line summaries]
[Total unread count]
β‘ ACTION ITEMS
[Overdue tasks β URGENT]
[Tasks due today]
[PRs needing your review]
π€οΈ WEATHER
[Only if notable β rain, extreme temps, etc.]
π» DEV ACTIVITY
[CI failures, new issues, PR updates]
π° NEWS
[3-5 relevant headlines, one line each]
Have a great day! Reply with any item number to dive deeper.
Prioritization Logic
The briefing should feel like a smart assistant, not a data dump. Apply these rules:
1. Urgent items surface first: overdue tasks, meeting in <1 hour, CI failures, emails from boss/clients 2. Combine related items: if there's a meeting about a PR, mention them together 3. Be concise by default: one line per item. The user can ask to expand any section 4. Skip empty sections: don't show "No new emails" β just omit the section 5. Time-aware: morning briefings focus on today. Evening briefings ("what did I miss") focus on what happened today
Setting Up Recurring Briefings
If the user asks to "send me a briefing every morning" or "set up a daily digest":
1. Help them configure a cron job via OpenClaw's cron system 2. Suggested schedule: weekdays at 7:00 AM local time (ask user preference) 3. Deliver via their preferred channel (Telegram, Slack, WhatsApp, Discord) 4. Store the briefing configuration in the workspace for persistence
Example cron setup:
{
"schedule": "0 7 * * 1-5",
"prompt": "Generate my daily briefing and send it to me",
"channel": "telegram"
}
Customization
The user can customize their briefing at any time:
Store all preferences in OpenClaw's memory system so they persist across sessions.
Edge Cases
Example Interactions
User: "Brief me" β Generate full briefing with all available sources
User: "What's on my plate today?" β Focus on calendar + tasks, lighter on news
User: "Set up a daily morning briefing on Telegram at 7 AM" β Configure cron job, confirm channel, generate a test briefing
User: "What did I miss today?" β Evening recap: summarize the day's emails, completed tasks, GitHub activity
User: "Add Hacker News to my daily briefing" β Store preference, confirm, show preview of how it'll look