agentleFS
QuixiAIQuixiAI/agi-memory/skills/installed/email-digest/SKILL.md

email-digest

Skill617 starsChanged 10 months agoMITView on GitHub

Digest and ingest emails into memory, surfacing important threads and action items

We split this skill into the rules it gives an agent

12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When the user asks "what's in my inbox" or "any important emails"

    line 19
  2. Distinctive:

    When a goal depends on information that may have arrived via email

    line 20
  3. Distinctive:

    When preparing a daily briefing that includes email highlights

    line 21
  4. Very specific:

    Check recency: Use recall to find when the last email digest ran.

    line 26
  5. Very specific:

    Check setup: Call gmail_setup_status. If Gmail is not connected, record the missing setup clearly and stop.

    line 27
  6. Very specific:

    List new emails: Call email_list with a date filter to fetch unread or recent messages.

    line 28
  7. Very specific:

    Read priority threads: Use email_read on the top 5-10 most relevant messages.

    line 30
  8. Distinctive:

    Surface urgency: If an email requires a time-sensitive response, flag it in the heartbeat result so it can be raised to the user at next …

    line 33
  9. Distinctive:

    Never store raw email bodies as memories.

    line 37
  10. Distinctive:

    When multiple emails belong to the same thread, consolidate into a single memory rather than creating duplicates.

    line 40
  11. Very specific:

    If credentials are missing or expired, fail gracefully.

    line 41
  12. Distinctive:

    Prefer recalling existing contact memories to enrich email context (who is this person, what is the relationship).

    line 42

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Email Digest Workflow

Process incoming emails into structured memories, extract action items, and surface threads that need attention.

When to Use

  • During autonomous heartbeats to check for new mail since the last digest, but only when Gmail is connected and integrations.gmail.heartbeat_digest_enabled is true or the active heartbeat task/goal carries explicit user authorization for this check
  • When the user asks "what's in my inbox" or "any important emails"
  • When a goal depends on information that may have arrived via email
  • When preparing a daily briefing that includes email highlights

Step-by-Step Methodology

  1. Check authorization: In heartbeat, only proceed if the runtime exposed this skill because the user granted autonomous Gmail digest access. If setup/status indicates the grant is missing, stop and queue a short request for the user to enable background email checks.
  2. Check recency: Use recall to find when the last email digest ran. Avoid re-processing messages already ingested.
  3. Check setup: Call gmail_setup_status. If Gmail is not connected, record the missing setup clearly and stop; do not loop.
  4. List new emails: Call email_list with a date filter to fetch unread or recent messages. Start with the inbox; expand to other labels only if the user has configured them.
  5. Triage by sender and subject: Scan the list for high-signal indicators -- known contacts, reply chains the user is on, calendar invites, and keywords matching active goals.
  6. Read priority threads: Use email_read on the top 5-10 most relevant messages. Do not read every email; batch processing wastes energy and context.
  7. Extract action items: For each important email, identify: (a) what is being asked, (b) who is asking, (c) any deadline mentioned, (d) whether a reply is expected.
  8. Store findings: Respect integrations.gmail.memory_policy. If it is forget, do not use remember or ingest_emails for email-derived content. If it is ask, queue a user-facing choice before storing. If it is remember, persist action items as episodic memories with high importance, tagged with the sender, thread ID, and any relevant goal.
  9. Surface urgency: If an email requires a time-sensitive response, flag it in the heartbeat result so it can be raised to the user at next opportunity.

Quality Guidelines

  • Never store raw email bodies as memories. Summarize and extract the salient points.
  • Respect privacy: do not log email content to external services. All storage stays in the local Postgres brain.
  • Google OAuth authorization is not the same as Hexis autonomy authorization. A connected Gmail account does not imply permission for background heartbeat reading.
  • When multiple emails belong to the same thread, consolidate into a single memory rather than creating duplicates.
  • If credentials are missing or expired, fail gracefully. If gmail_setup_status says Google sign-in is ready, queue a short user-facing request that they connect Gmail from chat or CLI; do not start or complete sign-in during heartbeat.
  • Prefer recalling existing contact memories to enrich email context (who is this person, what is the relationship).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.