name: email-newsletter-digest description: Summarizes recent newsletter emails received in Gmail into a single newsletter digest. This skill identifies newsletter emails using configured labels or sender addresses. Use for requests like "send me the newsletter digest email", "email the newsletter digest to me and my friends", "schedule my newsletter digest every morning", or "update my newsletter digest recipients". version: 1.0.1 metadata: openclaw: always: false emoji: "📰" primaryEnv: OPENAI_API_KEY requires: bins: - python3 - gog - summarize env: - OPENAI_API_KEY
Use this skill to send a digest of newsletter emails received within the last 1 day.
Read settings.json at the start of every invocation. For settings structure and maintainer notes, see REFERENCE.md.
Use this skill when the user wants to: - send a newsletter digest email - send the newsletter digest to multiple people - schedule the digest every morning or on another cadence - update which labels count as newsletters - update which senders count as newsletters - update who receives the digest
Read settings.json at the start of every invocation.
The settings file contains:
- newsletter_labels_csv
- newsletter_senders_csv
- digest_recipient_emails_csv
- recipient_delivery_mode
Rules:
- newsletter_labels_csv may be null or empty if newsletter_senders_csv is populated
- newsletter_senders_csv may be null or empty if newsletter_labels_csv is populated
- both cannot be null or empty at the same time
- if both are populated, the Gmail search must use OR semantics across both groups
- digest_recipient_emails_csv may contain one or more comma-separated email addresses
- recipient_delivery_mode controls how emails are sent to multiple recipients
- supported values:
- individual to send one email per recipient
- group to send one email with all recipients in To
- if recipient_delivery_mode is omitted, default to group
settings.json.~/.openclaw/skills/email-newsletter-digest/scripts/newsletter-digest.py in a single blocking command with a generous timeout so you can wait for its stdout result. Do not background it and do not rely on follow-up polling for this skill.recipient_delivery_mode.小蔥技能7w4.net持續更新中。
If the user asks to update labels, senders, recipients, or recipient delivery mode:
- edit settings.json
- preserve the comma-separated format
- remove duplicates and empty entries
If the user asks to schedule it: - use OpenClaw's normal scheduling or cron mechanism - do not ask the user to write shell commands - if the user says "every morning" and does not specify a time, use a reasonable morning time in the system timezone
gog gmail messages search to fetch individual newsletter emails.gog gmail thread get --full first for body extraction.gog gmail get --json and extract the best MIME part.summarize to turn each newsletter into bullet points.summarize use its own configured/default model.Construct the Gmail search from the settings file:
label:Newsletters newer_than:1d(from:a@example.com OR from:b@example.com) newer_than:1d(label:Newsletters OR label:finance OR from:a@example.com OR from:b@example.com) newer_than:1dgog or summarize fails, surface the error instead of hiding it.這個技能整體質量較好,能可靠地將 Gmail 中的新聞通訊郵件彙總成摘要併發送給指定收件人。它配置靈活,支援按標籤、發件人或兩者組合篩選,收件人也可靈活設定。文件描述清晰,Agent 能準確理解何時觸發和如何執行。不過目前只抓取最近 1 天的郵件,時間範圍不可調;需要依賴 gog 和 summarize 這兩個外部程式才能執行;如果遇到 API 呼叫失敗只會傳送失敗通知而不會自動重試。對於日常使用來說功能基本夠用,但靈活性還有提升空間。