{"id":"044e57e5-d31b-4217-9946-2efb778a7329","entityType":"agent","slug":"clawhub-skills-am-will-morning-email-rollup","name":"morning-email-rollup","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-am-will-morning-email-rollup","canonicalPath":"/agent/clawhub-skills-am-will-morning-email-rollup","generatedAt":"2026-10-10T02:45:07.264Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries --- name: morning-email-rollup description: Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries metadata: {\"clawdbot\":{\"emoji\":\"📧\",\"requires\":{\"bins\":[\"gog\",\"gemini\",\"jq\",\"date\"]}}} --- Morning Email Rollup Automatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time. Setup **Required:** Set your Gmail account email: Or edit th","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:am-will:morning-email-rollup","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/am-will/morning-email-rollup","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/am-will/morning-email-rollup","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries --- name: morning-email-rollup description: Daily morning rollup"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T03:35:33.149Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T03:35:33.149Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T03:35:33.149Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:am-will:morning-email-rollup","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:45:07.263Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-am-will-morning-email-rollup/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: morning-email-rollup\ndescription: Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries\nmetadata: {\"clawdbot\":{\"emoji\":\"📧\",\"requires\":{\"bins\":[\"gog\",\"gemini\",\"jq\",\"date\"]}}}\n---\n\n# Morning Email Rollup\n\nAutomatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time.\n\n## Setup\n\n**Required:** Set your Gmail account email:\n```bash\nexport GOG_ACCOUNT=\"your-email@gmail.com\"\n```\n\nOr edit the script directly to set the default.\n\n## What It Does\n\n- Runs every day at 8:00 AM (configurable timezone)\n- **Shows today's calendar events** from Google Calendar\n- Searches for emails marked as **important** or **starred** from the last 24 hours\n- Uses AI (Gemini CLI) to generate natural language summaries of each email\n- Shows up to 20 most important emails with:\n  - 🔴 Unread indicator (red)\n  - 🟢 Read indicator (green)\n  - Sender name/email\n  - Subject line\n  - **AI-generated 1-sentence summary** (natural language, not scraped content)\n- Delivers formatted summary to Telegram\n\n## Usage\n\n### Manual Run\n```bash\n# Default (10 emails)\nbash skills/morning-email-rollup/rollup.sh\n\n# Custom number of emails\nMAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh\nMAX_EMAILS=5 bash skills/morning-email-rollup/rollup.sh\n```\n\n### View Log\n```bash\ncat $HOME/clawd/morning-email-rollup-log.md\n```\n\n## How It Works\n\n1. **Checks calendar** - Lists today's events from Google Calendar via `gog`\n2. **Searches Gmail** - Query: `is:important OR is:starred newer_than:1d`\n3. **Fetches details** - Gets sender, subject, date, and body for each email\n4. **AI Summarization** - Uses Gemini CLI to generate natural language summaries\n5. **Formats output** - Creates readable summary with read/unread markers\n6. **Sends to Telegram** - Delivers via Clawdbot's messaging system\n\n## Calendar Integration\n\nThe script automatically includes today's calendar events from your Google Calendar using the same `gog` CLI that queries Gmail.\n\n**Graceful Fallback:**\n- If `gog` is not installed → Calendar section is silently skipped (no errors)\n- If no events today → Calendar section is silently skipped\n- If events exist → Shows formatted list with 12-hour times and titles\n\n**Requirements:**\n- `gog` must be installed and authenticated\n- Uses the same Google account configured for Gmail (set via `GOG_ACCOUNT` environment variable)\n\n## Email Criteria\n\nEmails are included if they match **any** of:\n- Marked as **Important** by Gmail (lightning bolt icon)\n- Manually **Starred** by you\n- Received in the **last 24 hours**\n\n## AI Summarization\n\nEach email is summarized using the Gemini CLI (`gemini`):\n- Extracts the email body (cleans HTML/CSS)\n- Sends to `gemini --model gemini-2.0-flash` with a prompt to summarize in 1 sentence\n- The summary is medium-to-long length natural language (not scraped content)\n- Falls back to cleaned body text if Gemini is unavailable\n\n**Important:** 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.\n\n**Example output:**\n```\n🔴 **William Ryan: Invitation to team meeting**\n   The email invites you to a team meeting tomorrow at 2pm to discuss the Q1 roadmap and assign tasks for the upcoming sprint.\n```\n\n## Read/Unread Indicators\n\n- 🔴 Red dot = Unread email\n- 🟢 Green dot = Read email\n\nAll emails show one of these markers for visual consistency.\n\n## Formatting Notes\n\n**Subject and Summary Cleanup:**\n- Extra quotes are automatically stripped from subject lines (e.g., `\"\"Agent Skills\"\"` → `Agent Skills`)\n- Summaries from Gemini are also cleaned of leading/trailing quotes\n- This ensures clean, readable output in Telegram/other channels\n\n## Cron Schedule\n\nSet up a daily cron job at your preferred time:\n```bash\ncron add --name \"Morning Email Rollup\" \\\n  --schedule \"0 8 * * *\" \\\n  --tz \"America/Denver\" \\\n  --session isolated \\\n  --message \"GOG_ACCOUNT=your-email@gmail.com bash /path/to/skills/morning-email-rollup/rollup.sh\"\n```\n\nAdjust the time (8:00 AM) and timezone to your preference.\n\n## Customization\n\n### Change Number of Emails\n\nBy default, the rollup shows **10 emails**. To change this:\n\n**Temporary (one-time):**\n```bash\nMAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh\n```\n\n**Permanent:**\nEdit `skills/morning-email-rollup/rollup.sh`:\n```bash\nMAX_EMAILS=\"${MAX_EMAILS:-20}\"  # Change 10 to your preferred number\n```\n\n### Change Search Criteria\n\nEdit `skills/morning-email-rollup/rollup.sh`:\n\n```bash\n# Current: important or starred from last 24h\nIMPORTANT_EMAILS=$(gog gmail search 'is:important OR is:starred newer_than:1d' --max 20 ...)\n\n# Examples of other searches:\n# Unread important emails only\nIMPORTANT_EMAILS=$(gog gmail search 'is:important is:unread newer_than:1d' --max 20 ...)\n\n# Specific senders\nIMPORTANT_EMAILS=$(gog gmail search 'from:boss@company.com OR from:client@example.com newer_than:1d' --max 20 ...)\n\n# By label/category\nIMPORTANT_EMAILS=$(gog gmail search 'label:work is:important newer_than:1d' --max 20 ...)\n```\n\n### Change Time\n\nUpdate the cron schedule:\n```bash\n# List cron jobs to get the ID\ncron list\n\n# Update schedule (example: 7am instead of 8am)\ncron update <job-id> --schedule \"0 7 * * *\" --tz \"America/Denver\"\n```\n\n### Change Summary Style\n\nEdit the prompt in the `summarize_email()` function in `rollup.sh`:\n\n```bash\n# Current: medium-to-long 1 sentence\n\"Summarize this email in exactly 1 sentence of natural language. Make it medium to long length. Don't use quotes:\"\n\n# Shorter summaries\n\"Summarize in 1 short sentence:\"\n\n# More detail\n\"Summarize in 2-3 sentences with key details:\"\n```\n\n### Change AI Model\n\nEdit the gemini command in `summarize_email()`:\n```bash\n# Current: gemini-2.0-flash (fast)\ngemini --model gemini-2.0-flash \"Summarize...\"\n\n# Use a different model\ngemini --model gemini-pro \"Summarize...\"\n```\n\n## Troubleshooting\n\n### Not receiving rollups\n```bash\n# Check if cron job is enabled\ncron list\n\n# Check last run status\ncron runs <job-id>\n\n# Test manually\nbash skills/morning-email-rollup/rollup.sh\n```\n\n### Missing emails\n- Gmail's importance markers may filter out expected emails\n- Check if emails are actually marked important/starred in Gmail\n- Try running manual search: `gog gmail search 'is:important newer_than:1d'`\n\n### Summaries not appearing\n- Check if `gemini` CLI is installed: `which gemini`\n- Test manually: `echo \"test\" | gemini \"Summarize this:\"`\n- Verify Gemini is authenticated (it should prompt on first run)\n\n### Wrong timezone\n- Cron uses `America/Denver` (MST/MDT)\n- Update with: `cron update <job-id> --tz \"Your/Timezone\"`\n\n## Log History\n\nAll rollup runs are logged to:\n```\n$HOME/clawd/morning-email-rollup-log.md\n```\n\nFormat:\n```markdown\n- [2026-01-15 08:00:00] 🔄 Starting morning email rollup\n- [2026-01-15 08:00:02] ✅ Rollup complete: 15 emails\n```\n","readmeExcerpt":"--- name: morning-email-rollup description: Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries metadata: {\"clawdbot\":{\"emoji\":\"📧\",\"requires\":{\"bins\":[\"gog\",\"gemini\",\"jq\",\"date\"]}}} --- Morning Email Rollup Automatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time. Setup **Required:** Set your Gmail account email: Or edit th","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"export GOG_ACCOUNT=\"your-email@gmail.com\""},{"language":"bash","snippet":"# Default (10 emails)\nbash skills/morning-email-rollup/rollup.sh\n\n# Custom number of emails\nMAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh\nMAX_EMAILS=5 bash skills/morning-email-rollup/rollup.sh"},{"language":"bash","snippet":"cat $HOME/clawd/morning-email-rollup-log.md"},{"language":"text","snippet":"🔴 **William Ryan: Invitation to team meeting**\n   The email invites you to a team meeting tomorrow at 2pm to discuss the Q1 roadmap and assign tasks for the upcoming sprint."},{"language":"bash","snippet":"cron add --name \"Morning Email Rollup\" \\\n  --schedule \"0 8 * * *\" \\\n  --tz \"America/Denver\" \\\n  --session isolated \\\n  --message \"GOG_ACCOUNT=your-email@gmail.com bash /path/to/skills/morning-email-rollup/rollup.sh\""},{"language":"bash","snippet":"MAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries --- name: morning-email-rollup description: Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries metadata: {\"clawdbot\":{\"emoji\":\"📧\",\"requires\":{\"bins\":[\"gog\",\"gemini\",\"jq\",\"date\"]}}} --- Morning Email Rollup Automatically generates a daily summary of important emails and delivers it to Telegram at 8am Denver time. Setup **Required:** Set your Gmail account email: Or edit th","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":388,"uniquenessScore":65,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:45:07.264Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}