Morning Digest
Description
AI-powered morning briefing: calendar, email, Slack, and action items in one digest. Claude Code automation for busy PMs.
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
morning-digest
A lightweight morning digest generator for PMs and busy professionals.
It creates one compact text digest with:
- your next 24 hours of calendar events
- important unread Gmail messages
- AI news with short TL;DRs
- product news with short TL;DRs
- local news with short TL;DRs when material
Why this exists
If your mornings start with too many tabs, too many inbox checks, and too much context switching, this script gives you one clean briefing instead.
It is built for people who want:
- a fast view of the day ahead
- inbox signal without scanning everything
- a lightweight intelligence brief
- something simple enough to self-host and tweak
What makes it usable
You do **not** need to edit the script to get started.
On first run, it prompts you for:
- your name
- your timezone
- your calendar labels + calendar IDs
- your local-news query and keywords
It saves that setup to:
~/.morning-digest/config.json
After that, the digest is ready to run daily.
Quick start
1. Install requirements
You need:
- Python 3.11+
- `gog` configured for your Google account
- a Brave Search API key available in OpenClaw config at
~/.openclaw/openclaw.json
2. Make sure `gog` works
Before using the digest, make sure your Google tooling is already authenticated.
For example:
gog calendar list --json
gog gmail labels --json
If those work, the digest will usually work too.
3. Run the setup wizard
python3 morning_digest.py --setup
You’ll be prompted for your personal details and calendar setup.
4. Generate your digest
python3 morning_digest.py
Example setup prompts
- Your name
- Timezone
- Calendar 1 label
- Calendar 1 id
- Calendar 2 label
- Calendar 2 id
- Local news section label
- Local news search query
- Local relevance keywords
Config file
The script stores a local config here:
~/.morning-digest/config.json
Example:
{
"name": "Shadman",
"timezone": "Europe/Stockholm",
"calendars": [
{ "label": "Personal", "id": "your-personal-calendar-id@example.com" },
{ "label": "Work", "id": "your-work-calendar-id@example.com" }
],
"gmail_queries": [
"in:inbox is:unread is:important",
"in:inbox is:unread category:primary",
"in:inbox is:unread"
],
"news": {
"ai_query": "AI news OR artificial intelligence latest developments",
"product_query": "product launch OR product update OR release notes SaaS software",
"local_query": "Sweden OR Uppsala important local news",
"local_label": "SWEDEN + UPPSALA (only if material)",
"local_keywords": ["uppsala", "sweden", "swedish", "stockholm"]
}
}
Sample output
Shadman's Morning Digest Tue Mar 10, 07:30 (Stockholm)
CALENDAR (next 24h; checked 2 calendars)
Personal
• 08:30–09:00 Dentist appointment
Work
• 09:35–10:00 Team standup
• 13:00–14:00 Product review
GMAIL (top 5 important unread)
• Stripe: Ne
Related Skills
Agency Agents
A complete AI agency at your fingertips - From frontend wizards to Reddit community ninjas, from whimsy inject
AI Firecrawl
🔥 The API to search, scrape, and interact with the web for AI
AI Artifacts Builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web tech
AI CrewAI
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewA
AI TrendRadar
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的
AI mem0
| Universal memory layer for AI Agents | 51341 | 221 | 1 |
AI