inbox-summary | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / inbox-summary

inbox-summary

maintained by Eddale

star 0 account_tree 0 verified_user MIT License
bolt View GitHub

name: inbox-summary description: Smart email triage from Gmail and iCloud. Highlights what needs attention based on priority senders and mission context. Trigger phrases include "email" or "mail" - use when "check my email", "triage my email", "what emails need attention", "email summary", "mail inbox". allowed-tools: Bash, Read, Write, Edit

Inbox Triage

What This Does

Fetches the last 24 hours of email from Gmail and iCloud, then intelligently triages into:

  • Needs Attention - Priority senders, mission-relevant, questions needing replies
  • Worth Knowing - Receipts, notifications, first-time senders (flagged as unusual)
  • Filtered - Newsletters, promos, automated (count only)

The skill learns your priority senders over time as you mark them.

Instructions

Step 1: Fetch and Triage Emails

Run the triage script:

python3 skills/inbox-summary/scripts/fetch_inbox_summary.py

Filter by sender domain:

python3 skills/inbox-summary/scripts/fetch_inbox_summary.py --sender blackbelt.com

The --sender flag filters results to only show emails from that domain (e.g., --sender stripe.com for payment notifications). Still applies the 24-hour window.

This returns JSON with:

  • triage.attention - Emails needing attention with reasons
  • triage.knowing - Worth knowing, grouped
  • triage.filtered - Noise (stats only)
  • priority_domains - Currently marked priority senders

Step 2: Present the Triage Summary

Format the output like this:

## Inbox Triage (Last 24 Hours)

**Gmail:** [X] emails | **iCloud:** [Y] emails

### Needs Attention

- **[sender]** - [subject]
  [reason: Priority sender / Mission-context: BlackBelt / Looks like it needs a reply]

- **[sender]** - [subject]
  [reason]

### Worth Knowing

- **[domain]** ([count]) - [brief description: Receipts / Calendar updates]
- **[sender]** - [subject]
  *Unusual: First time seeing this sender*

### Filtered ([count] emails)

- Newsletters: [X]
- Promotions: [Y]
- Automated: [Z]

---
*[X] priority senders configured. Say "mark [domain] as priority" to add more.*

Step 3: Handle Priority Domain Requests

When the user says "mark [domain] as priority":

  1. Read the config file:
cat skills/inbox-summary/config/priority-domains.json
  1. Add the domain to the domains array and added object with today's date

  2. Write back using Edit tool

  3. Confirm: "Added [domain] to priority senders. Future emails will appear in Needs Attention."

Step 4: Offer Next Steps

After presenting the summary:

"Want to mark any senders as priority? Or dive into a specific email?"

Classification Logic

Signal Classification
Domain in priority-domains.json Needs Attention
Mentions BlackBelt, AI Powerhouse, Little Blue Report Needs Attention + mission flag
Subject has ?, "can you", "please review", "urgent" Needs Attention
First-time sender Worth Knowing + unusual flag
Receipt, calendar, shipping Worth Knowing (grouped)
Newsletter, promo, marketing patterns Filtered

Mission Context Keywords

The skill watches for these (from Ed's mission-context):

  • BlackBelt, Taki Moore
  • AI Amplified, AI Powerhouse, Coaching Powerhouse
  • Little Blue Report, Substack
  • 30 Day Challenge

When detected, emails are flagged with the matching context.

Guidelines

  • Read-only - Never send, delete, or modify emails
  • Privacy first - Show subjects and snippets, not full content
  • Learn over time - Priority domains persist between sessions
  • Flag the unusual - First-time senders get highlighted
  • Summarize noise - Don't list every newsletter, just count them

Error Handling

If the script fails:

  1. Check credential issues (token expired, wrong password)
  2. For Gmail OAuth: Browser will open to re-authenticate
  3. For iCloud: Verify ICLOUD_APP_PASSWORD is set in environment

File Locations

File Purpose
scripts/fetch_inbox_summary.py Main fetch + triage script
scripts/classify_emails.py Classification logic
config/priority-domains.json Learned priority senders
tests/test_classification.py Automated tests

Examples

User: "check my email"

Response:

## Inbox Triage (Last 24 Hours)

**Gmail:** 18 emails | **iCloud:** 4 emails

### Needs Attention

- **taki@blackbelt.com** - Quick question about the workshop
  Mission-context: BlackBelt

- **prospect@business.com** - Can you send me the pricing?
  Looks like it needs a reply

### Worth Knowing

- **stripe.com** (3) - Payment receipts
- **google.com** (2) - Calendar notifications
- **unknown@newstartup.io** - Partnership inquiry
  *Unusual: First time seeing this sender*

### Filtered (13 emails)

- Newsletters: 8
- Promotions: 3
- Automated: 2

---
*2 priority senders configured. Say "mark [domain] as priority" to add more.*

User: "mark newstartup.io as priority"

Response:

Added newstartup.io to priority senders. Future emails from this domain will appear in Needs Attention.

Current priority senders: blackbelt.com, newstartup.io

User: "show me emails from blackbelt.com"

Response:

## Emails from blackbelt.com (Last 24 Hours)

**Gmail:** 3 emails | **iCloud:** 0 emails

### All Emails

- **taki@blackbelt.com** - Quick question about the workshop
  Mission-context: BlackBelt

- **support@blackbelt.com** - Your invoice for January

- **team@blackbelt.com** - Weekly team update

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 0
GitHub Forks 0
Created Jan 2026
Last Updated il y a 5 mois
tools tools productivity tools

Related Skills

planning-with-files
chevron_right
agent-browser
chevron_right
building-agents
chevron_right
notebooklm
chevron_right
grafana
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.