gmail-summarize

Fetch recent unread Gmail (yesterday + today) and send a digest to the user.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gmail-summarize" with this command: npx skills add 2p1c/gmail-summarize

Gmail Recent Digest

Requirements

  • Python 3 must be available in the container environment (python command).
  • IMAP credentials must be supplied via one of the following methods (env vars take precedence):

Option A — Environment variables (recommended)

VariableDescriptionDefault
IMAP_HOSTIMAP server hostnameimap.gmail.com
IMAP_PORTIMAP server port993
IMAP_USERNAMEIMAP login username(required)
IMAP_PASSWORDIMAP login password / app-password(required)
IMAP_MAX_BODY_CHARSMax body characters per email2000

Option B — Config file

Set EMAIL_CONFIG_PATH to point to a JSON file, or place the file at ~/.config/gmail-summarize/config.json. The file must contain only the fields below (no other sensitive data should be stored in this file):

{
  "email": {
    "imapHost": "imap.gmail.com",
    "imapPort": 993,
    "imapUsername": "your@gmail.com",
    "imapPassword": "your-app-password",
    "maxBodyChars": 2000
  }
}

Security notes

  • Preferred: supply credentials via environment variables (IMAP_HOST, IMAP_PORT, IMAP_USERNAME, IMAP_PASSWORD) so no file on disk is read at all.
  • When a config file is used, it should contain only the email fields listed above. The script reads only those four fields and nothing else from the file.
  • The only external connection made is to the IMAP server declared in IMAP_HOST / email.imapHost. No other endpoints are contacted.
  • Credentials are used solely to authenticate the IMAP session and are not logged or stored elsewhere by this skill.

When to use

  • User asks "check my Gmail", "summarize my emails", "邮件摘要"
  • Cron trigger message contains "gmail_digest"

Workflow

  1. Run the fetch script via exec tool: python {workspace}/skills/gmail-summarize/scripts/fetch_unseen.py (replace {workspace} with your actual workspace root)

  2. Parse the JSON array. Each item has: sender, subject, date, body

  3. For each email compose one line: [date] sender | subject — one-sentence body summary

  4. Send the full digest via MessageTool in this format:

    📬 邮件摘要 (N封,覆盖 MM/DD–MM/DD)

    • [日期] 发件人 | 主题 — 一句话摘要 • [日期] 发件人 | 主题 — 一句话摘要 ...

  5. If result is empty, send: 📭 近两日暂无未读邮件

Output Rules

  • Send the digest message ONLY. Do NOT add any extra comments, greetings, explanations, or follow-up questions before or after the digest.
  • Do NOT say things like "主人,以下是您的邮件摘要" or "如需了解详情请告知" etc.
  • The digest message itself is the complete and final response.
  • The one-sentence body summary MUST be translated into Chinese. Sender names and subjects should keep their original text as-is.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Cclaw

Open-source comedy AI + video editing + poster generation. Create standup/sketch/manzai/scripts, edit videos via FFmpeg, and generate comedy posters via canv...

Registry SourceRecently Updated
General

Dlazy Seedance 1.5 Pro

Convert images into dynamic dance videos using Doubao Seedance 1.5 Pro.

Registry SourceRecently Updated
General

Pod Template Pack

Use when user needs ready-to-use POD (Print on Demand) design keywords, title templates, and listing copy. Use when creating POD product listings for TikTok,...

Registry SourceRecently Updated
General

Dlazy Mj.Imagine

Generate artistic images using Midjourney (MJ) model. Supports text-to-image.

Registry SourceRecently Updated