From email
Triages unread emails from Gmail or Outlook, scores importance (0-100) using sender recognition, urgency keywords, thread depth, and relevance, categorizes into Urgent/Important/Routine/Archive, and generates reply suggestions for priorities.
npx claudepluginhub agricidaniel/claude-emailThis skill is limited to using the following tools:
This sub-skill handles intelligent inbox triage by connecting to Gmail or Outlook via MCP, analyzing unread emails, scoring them by importance, categorizing them, and generating reply suggestions for high-priority items.
Scans Gmail inbox for recent emails using time-based queries, classifies into three priority tiers, and drafts replies for urgent Tier 1 items.
Scans unread emails from Gmail or Hey.com, scores by priority (VIP, urgency, deadlines), classifies, saves relevant as vault notes, generates triage report.
Guides Apple Mail inbox triage, organization, replies, and cleanup using MCP tools like get_inbox_overview, move_email, and batch operations for productivity workflows.
Share bugs, ideas, or general feedback.
This sub-skill handles intelligent inbox triage by connecting to Gmail or Outlook via MCP, analyzing unread emails, scoring them by importance, categorizing them, and generating reply suggestions for high-priority items.
Check which MCP tools are available:
search_gmail_messages, get_gmail_messages_content_batch, get_gmail_thread_content, list_gmail_labelslist-mail-messages, list-mail-folder-messages, get-mail-messagePrefer Gmail if both are available (better batch operations).
For Gmail:
search_gmail_messages(query="is:unread", max_results=50)
For Outlook:
list-mail-messages (defaults to recent messages, filter for unread)
For Gmail:
get_gmail_messages_content_batch(message_ids=[...]) # Up to 25 at a time
If more than 25 unread, prioritize most recent first.
For Outlook:
get-mail-message for each message (sequential)
Limit to 25 emails maximum to avoid overwhelming analysis.
Apply the following scoring algorithm:
Check subject and first 200 characters for:
Parse email body for dates/deadlines:
If email-profile.md exists in parent directory:
Sum all adjustments to base score of 50. Clamp to 0-100 range.
Based on final score:
| Score Range | Category | Action |
|---|---|---|
| 85-100 | Urgent | Immediate attention, generate reply suggestions |
| 65-84 | Important | Review soon, may need action |
| 40-64 | Routine | Normal priority, review when available |
| 20-39 | Low Priority | Skim or defer |
| 0-19 | Archive | Likely noise or automated |
For emails scored 85+ (Urgent category):
get_gmail_thread_content or equivalentDo NOT draft replies if:
In these cases, output: "This email requires your personal attention: [reason]"
## Inbox Summary
**X unread emails** | Y Urgent | Z Important | W Routine | V Low Priority
### Urgent (Action Required)
| # | From | Subject | Score | Suggested Action |
|---|------|---------|-------|------------------|
| 1 | sender@domain.com | Subject line | 95 | [Reply/Review/Respond] |
| 2 | ... | ... | 88 | ... |
---
### Important
| # | From | Subject | Score | Category |
|---|------|---------|-------|----------|
| 3 | ... | ... | 78 | Meeting follow-up |
| 4 | ... | ... | 70 | Client inquiry |
---
### Routine & Low Priority
- **Routine (40-64)**: X emails - [grouped summary by sender/topic]
- **Low Priority (20-39)**: Y emails - newsletters, notifications
- **Archive (<20)**: Z emails - automated/noise
---
### Suggested Replies
#### 1. Re: [Subject] (to: sender@domain.com)
**Context:** [Why this email scored high, key points]
**Brief Option:**
> [1-2 sentence reply]
>
> [Sign-off]
**Detailed Option:**
> [Paragraph with more context/explanation]
>
> [Sign-off]
#### 2. Re: [Next urgent email]
[Repeat format]
---
### Emails Requiring Personal Attention
- **#X - [Subject]**: Needs decision on [topic]
- **#Y - [Subject]**: Requires research before responding
| Signal | Score Impact | Detection |
|---|---|---|
| Direct To: address | +15 | Check To: field |
| VIP/known sender | +20 | Domain match, sent folder history |
| Active thread | +10 | Thread ID, Re: in subject |
| Urgency keywords | +15 | Subject/body scan |
| Calendar invite | +20 | .ics attachment, invite headers |
| Deadline <48h | +25 | Date parsing in body |
| Deadline <7d | +10 | Date parsing in body |
| Business relevance | +15 | Match email-profile.md topics |
| CC'd (not primary) | -10 | CC: field |
| Newsletter | -20 | Unsubscribe link, bulk headers |
| Notification | -15 | no-reply@ sender |
| Unknown sender | -10 | No thread history |
If email-profile.md exists, adapt replies to match:
Default to professional-friendly if no profile exists.
Brief Option:
Detailed Option:
If neither Gmail nor Outlook MCP is available:
Error: No email provider connected. Please ensure Gmail MCP or Outlook MCP is configured.
## Inbox Summary
**0 unread emails** - Your inbox is clear!
If batch fetch fails, fall back to individual message retrieval (slower but reliable).
If get_gmail_thread_content fails, draft replies based on single message only (note: "Limited context - single message view").
If exists in parent directory (../email-profile.md), use for:
Before outputting digest:
A successful email check session should: