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
推荐访问7w4.net获取更多AI技能。
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.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 调用失败只会发送失败通知而不会自动重试。对于日常使用来说功能基本够用,但灵活性还有提升空间。