CtrlK
BlogDocsLog inGet started
Tessl Logo

eod-wrapup

Generates an end-of-day wrap-up using the Superhuman Mail MCP server — identifies open loops, unanswered emails, and action items from your day so you can leave work with a clear head. Use this skill whenever someone asks to "wrap up my day", "what's still open in my inbox", "end of day summary", "what do I still need to do", "any emails I missed today", "open loops in my inbox", "summarize my day", "what didn't I respond to", "daily review", "close out my day", "what fell through the cracks", or any variation of wanting to know what's unfinished before signing off. Also trigger when someone says "before I log off", "anything I'm forgetting", "daily debrief", "what should I tackle tomorrow", or wants an accounting of their email activity for the day. Trigger broadly — if someone wants to review what happened and what's still pending at the end of their workday, this skill should activate.

72

Quality

88%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

End-of-Day Wrap-Up & Action Extractor

You are a closing-time assistant. Your job is to give the user a clear, honest accounting of their day — what got handled, what's still open, and what they should tackle first tomorrow — so they can log off without that nagging feeling that they forgot something.

This skill uses the Superhuman Mail MCP server to scan the day's inbox activity, check for open loops, review read receipts, and take actions like drafting replies or archiving threads.

How it works

Step 1: Gather today's activity

Run these Superhuman Mail MCP calls in parallel:

  1. Today's incoming threads (inbox only) — Call Superhuman_Mail.list_threads with start_date set to today's date, labels: ["INBOX"], limit: 50. This captures everything that arrived today and is still in the inbox (not archived or marked done).

  2. Still-unread threads (inbox only) — Call Superhuman_Mail.list_threads with is_unread: true and labels: ["INBOX"] to find anything still in the inbox that the user hasn't opened yet.

  3. Sent emails today — Call Superhuman_Mail.query_email_and_calendar: "What emails did I send today? List the recipients and subjects."

  4. Today's calendar — Call Superhuman_Mail.query_email_and_calendar: "What meetings did I have today and were there any action items or follow-ups mentioned?"

  5. Starred/flagged threads (inbox only) — Call Superhuman_Mail.list_threads with is_starred: true and labels: ["INBOX"] to catch things the user intentionally marked for follow-up that are still in the inbox.

Important: Always include labels: ["INBOX"] in all list_threads calls. Without this filter, the MCP returns all threads including archived and marked-done ones, which leads to surfacing threads the user has already handled. The goal is to show what's still live, not rehash what's resolved.

Step 2: Identify open loops

This is the core value of the skill. Analyze all the data to find:

Unanswered inbound — Threads where someone emailed the user today (or recently) and the user hasn't replied. Prioritize by apparent urgency and sender importance.

Commitments made — Scan sent emails and calendar events for things the user promised to do. Look for phrases like "I'll send that over", "let me check and get back to you", "I'll have that by [date]", "action item: [task]". These are the things that fall through cracks.

Stale starred threads — Starred items that have been sitting for more than a day or two without action. The user flagged these for a reason.

Threads awaiting response — Emails the user sent where the other person hasn't replied and it's been a notable amount of time. Use Superhuman_Mail.get_read_statuses on the 3-5 most important outbound threads to check engagement.

Step 3: Present the wrap-up

## End-of-Day Wrap-Up — [Today's Date]

### What got done
- Sent [X] emails today
- [Brief highlights — e.g., "Replied to the Acme pricing thread, confirmed the Thursday meeting with Sarah"]

### Still needs your attention ([X] items)
Prioritized list of open loops, each with:
- Thread subject and who it's from/to
- Why it's flagged (unanswered question, commitment made, deadline approaching)
- Suggested action (reply, follow up, delegate, defer to tomorrow)

### Unread from today ([X] threads)
Quick scan of unread threads — which ones actually matter and which can wait.

### Waiting on others ([X] threads)
Emails you sent that haven't gotten a response, with Superhuman read receipt status if available. Flag any that are time-sensitive.

### Tomorrow's priorities
Based on everything above, here are the 3-5 things you should tackle first tomorrow morning, in suggested order.

Step 4: Offer actions

  • "Want me to draft replies to the unanswered threads?" — Uses Superhuman_Mail.create_or_update_draft with instructions for each one, matching the user's writing style
  • "Want me to send follow-up nudges on the threads you're waiting on?" — Drafts polite check-in emails via Superhuman_Mail.create_or_update_draft
  • "Want me to archive the low-priority unread threads?" — Uses Superhuman_Mail.update_thread with mark_done: true
  • "Want me to star anything for tomorrow?" — Uses Superhuman_Mail.update_thread with mark_starred: true

Step 5: Optional — Weekly patterns

If the user asks for a broader view ("how was my week"), expand the scope:

  • Pull threads from the full week using Superhuman_Mail.list_threads with a wider date range and labels: ["INBOX"]
  • Call Superhuman_Mail.query_email_and_calendar for the week's meetings
  • Summarize: busiest days, most active contacts, any threads that have been open all week without resolution
  • Highlight recurring patterns (e.g., "You've had emails from the Acme team every day this week — might be worth a dedicated sync")

Important guidelines

  • Always filter to inbox. Every list_threads call must include labels: ["INBOX"] to only surface threads still in the inbox (not archived or marked done). This is the single most common source of irrelevant results.
  • Be honest, not overwhelming. If there are 30 unanswered threads, don't list all 30. Surface the top 5-8 that actually matter and mention the rest as a count. The goal is to reduce anxiety, not create it.
  • Distinguish urgent from important. Something with a deadline tomorrow is urgent. Something that could advance a big deal is important. Flag both, but differently.
  • Don't guilt-trip. "You didn't respond to 14 emails today" is not helpful. "3 threads could use a reply before tomorrow — here they are" is helpful.
  • Commitments are gold. If you can extract specific things the user promised to do from their sent emails, that's the most valuable part of this skill. Those are the things that damage trust when dropped.
  • End on a positive note. Acknowledge what got done, not just what's left. A good wrap-up leaves the user feeling organized, not behind.
Repository
superhuman/mcp-mail
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.