Email Newsletter Digest
/install email-newsletter-digest
Email Newsletter Digest
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.
When To Use
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
Settings
Read settings.json at the start of every invocation.
The settings file contains:
newsletter_labels_csvnewsletter_senders_csvdigest_recipient_emails_csvrecipient_delivery_mode
Rules:
newsletter_labels_csvmay be null or empty ifnewsletter_senders_csvis populatednewsletter_senders_csvmay be null or empty ifnewsletter_labels_csvis 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_csvmay contain one or more comma-separated email addressesrecipient_delivery_modecontrols how emails are sent to multiple recipients- supported values:
individualto send one email per recipientgroupto send one email with all recipients inTo
- if
recipient_delivery_modeis omitted, default togroup
Agent Workflow
- Immediately send a short acknowledgement such as: "I'm preparing the email newsletter digest now."
- Read
settings.json. - Validate that at least one newsletter filter is populated and at least one recipient email is configured.
- Run the bundled runner at
~/.openclaw/skills/email-newsletter-digest/scripts/newsletter-digest.pyin 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. - Summarize each matching newsletter, build the digest, and send it using the configured
recipient_delivery_mode. - When the run finishes, send a short completion message naming the recipients and the newsletter count.
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
Core Rules
- Use
gog gmail messages searchto fetch individual newsletter emails. - Use
gog gmail thread get --fullfirst for body extraction. - If the body looks like a placeholder, fall back to
gog gmail get --jsonand extract the best MIME part. - Use
summarizeto turn each newsletter into bullet points. - Unless the user explicitly asks for a different summarizer model, let
summarizeuse its own configured/default model. - Deduplicate by Gmail message id so each newsletter is summarized once per run.
- Only include matching emails from the last 1 day.
- If no newsletters are found, report that plainly and do not send anything.
- If the run fails or all summaries fail, send a failure email to the configured recipients with the likely cause when possible.
- If only some newsletters fail to summarize, still send the digest and then send a warning email describing the failures.
- Keep user interaction natural-language-first. Do not tell the user to run Python or shell commands themselves.
Query Construction
Construct the Gmail search from the settings file:
- labels only:
label:Newsletters newer_than:1d
- senders only:
(from:[email protected] OR from:[email protected]) newer_than:1d
- both populated:
(label:Newsletters OR label:finance OR from:[email protected] OR from:[email protected]) newer_than:1d
Reporting Back
- Always acknowledge the request before starting work.
- For a successful run, report which recipients were sent the digest and how many newsletters were included.
- For settings changes, summarize exactly what changed.
- For scheduled runs, confirm the cadence in plain language.
- If
gogorsummarizefails, surface the error instead of hiding it. - Never fail silently. If the digest cannot be sent, tell the user plainly what went wrong.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install email-newsletter-digest - After installation, invoke the skill by name or use
/email-newsletter-digest - Provide required inputs per the skill's parameter spec and get structured output
What is Email Newsletter Digest?
Summarizes recent newsletter emails received in Gmail into a single newsletter digest. This skill identifies newsletter emails using configured labels or sen... It is an AI Agent Skill for Claude Code / OpenClaw, with 162 downloads so far.
How do I install Email Newsletter Digest?
Run "/install email-newsletter-digest" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Email Newsletter Digest free?
Yes, Email Newsletter Digest is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Email Newsletter Digest support?
Email Newsletter Digest is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Email Newsletter Digest?
It is built and maintained by Neerav Makwana (@neeravmakwana); the current version is v1.0.1.