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:
Read settings.json at the start of every invocation.
The settings file contains:
newsletter_labels_csvnewsletter_senders_csvdigest_recipient_emails_csvrecipient_delivery_modeRules:
newsletter_labels_csv may be null or empty if newsletter_senders_csv is populatednewsletter_senders_csv may be null or empty if newsletter_labels_csv is populateddigest_recipient_emails_csv may contain one or more comma-separated email addressesrecipient_delivery_mode controls how emails are sent to multiple recipientsindividual to send one email per recipientgroup to send one email with all recipients in Torecipient_delivery_mode is omitted, default to groupsettings.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.If the user asks to update labels, senders, recipients, or recipient delivery mode:
settings.jsonIf the user asks to schedule it:
7w4.net小葱技能站,你的AI助手技能库。
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 调用失败只会发送失败通知而不会自动重试。对于日常使用来说功能基本够用,但灵活性还有提升空间。