From sundial-org-awesome-openclaw-skills-4
Generates a daily morning summary of important emails and calendar events at 8am, with AI-generated summaries delivered to Telegram.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:morning-email-rollupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Automatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time.
Automatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time.
Required: Set your Gmail account email:
export GOG_ACCOUNT="[email protected]"
Or edit the script directly to set the default.
# Default (10 emails)
bash skills/morning-email-rollup/rollup.sh
# Custom number of emails
MAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh
MAX_EMAILS=5 bash skills/morning-email-rollup/rollup.sh
cat $HOME/clawd/morning-email-rollup-log.md
gogis:important OR is:starred newer_than:1dThe script automatically includes today's calendar events from your Google Calendar using the same gog CLI that queries Gmail.
Graceful Fallback:
gog is not installed → Calendar section is silently skipped (no errors)Requirements:
gog must be installed and authenticatedGOG_ACCOUNT environment variable)Emails are included if they match any of:
Each email is summarized using the Gemini CLI (gemini):
gemini --model gemini-2.0-flash with a prompt to summarize in 1 sentenceImportant: The email body is passed as part of the prompt (not via stdin) because the gemini CLI doesn't handle piped input with prompts correctly.
Example output:
🔴 **William Ryan: Invitation to team meeting**
The email invites you to a team meeting tomorrow at 2pm to discuss the Q1 roadmap and assign tasks for the upcoming sprint.
All emails show one of these markers for visual consistency.
Subject and Summary Cleanup:
""Agent Skills"" → Agent Skills)Set up a daily cron job at your preferred time:
cron add --name "Morning Email Rollup" \
--schedule "0 8 * * *" \
--tz "America/Denver" \
--session isolated \
--message "[email protected] bash /path/to/skills/morning-email-rollup/rollup.sh"
Adjust the time (8:00 AM) and timezone to your preference.
By default, the rollup shows 10 emails. To change this:
Temporary (one-time):
MAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh
Permanent:
Edit skills/morning-email-rollup/rollup.sh:
MAX_EMAILS="${MAX_EMAILS:-20}" # Change 10 to your preferred number
Edit skills/morning-email-rollup/rollup.sh:
# Current: important or starred from last 24h
IMPORTANT_EMAILS=$(gog gmail search 'is:important OR is:starred newer_than:1d' --max 20 ...)
# Examples of other searches:
# Unread important emails only
IMPORTANT_EMAILS=$(gog gmail search 'is:important is:unread newer_than:1d' --max 20 ...)
# Specific senders
IMPORTANT_EMAILS=$(gog gmail search 'from:[email protected] OR from:[email protected] newer_than:1d' --max 20 ...)
# By label/category
IMPORTANT_EMAILS=$(gog gmail search 'label:work is:important newer_than:1d' --max 20 ...)
Update the cron schedule:
# List cron jobs to get the ID
cron list
# Update schedule (example: 7am instead of 8am)
cron update <job-id> --schedule "0 7 * * *" --tz "America/Denver"
Edit the prompt in the summarize_email() function in rollup.sh:
# Current: medium-to-long 1 sentence
"Summarize this email in exactly 1 sentence of natural language. Make it medium to long length. Don't use quotes:"
# Shorter summaries
"Summarize in 1 short sentence:"
# More detail
"Summarize in 2-3 sentences with key details:"
Edit the gemini command in summarize_email():
# Current: gemini-2.0-flash (fast)
gemini --model gemini-2.0-flash "Summarize..."
# Use a different model
gemini --model gemini-pro "Summarize..."
# Check if cron job is enabled
cron list
# Check last run status
cron runs <job-id>
# Test manually
bash skills/morning-email-rollup/rollup.sh
gog gmail search 'is:important newer_than:1d'gemini CLI is installed: which geminiecho "test" | gemini "Summarize this:"America/Denver (MST/MDT)cron update <job-id> --tz "Your/Timezone"All rollup runs are logged to:
$HOME/clawd/morning-email-rollup-log.md
Format:
- [2026-01-15 08:00:00] 🔄 Starting morning email rollup
- [2026-01-15 08:00:02] ✅ Rollup complete: 15 emails
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4Automates Gmail inbox classification with AI, creates CRM activities, PM tasks, draft replies, and sends Telegram notifications. Run hourly via launchd or query on demand.
Compiles morning briefings from Google Calendar events, Slack DMs/mentions, Gmail unread emails, and Linear pipeline updates. Invoke via /agenda for daily productivity kickoff.
Processes Gmail triage reports from vault: archive, delete, label, star, unsubscribe emails. Drafts replies interactively or autonomously.