Skip to content
Marketing
Skill

/email-check

Intelligent inbox triage that connects to Gmail or Outlook, scores emails by importance (0-100) using sender recognition, urgency keywords, thread depth, time sensitivity, and business relevance, categorizes into Urgent/Important/Routine/Archive, and generates reply suggestions

From plugin
email
1326 skills4 agents2 hooks

Claude Code

$ npx -y skills add AgriciDaniel/claude-email --skill email-check --agent claude-code

SKILL.md

email-check.SKILL.md
name: email-check
description: Intelligent inbox triage that connects to Gmail or Outlook, scores emails by importance (0-100) using sender recognition, urgency keywords, thread depth, time sensitivity, and business relevance, categorizes into Urgent/Important/Routine/Archive, and generates reply suggestions for top priority items. Use when the user wants to check email, review inbox, triage messages, see what's urgent, or get reply suggestions. Triggers on check email, inbox triage, what's important, email summary, unread emails, priority inbox.
user-invocable: false
allowed-tools:
  - Read
  - Grep
  - Glob

Email Check Sub-Skill

Purpose

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.

Workflow

1. Detect Available Email Provider

Check which MCP tools are available:

  • **Gmail**: `search_gmail_messages`, `get_gmail_messages_content_batch`, `get_gmail_thread_content`, `list_gmail_labels`
  • **Outlook**: `list-mail-messages`, `list-mail-folder-messages`, `get-mail-message`

Prefer Gmail if both are available (better batch operations).

2. Fetch Unread Emails

**For Gmail:**

search_gmail_messages(query="is:unread", max_results=50)

**For Outlook:**

list-mail-messages (defaults to recent messages, filter for unread)

3. Batch Fetch Email Content

**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.

4. Score Each Email (0-100)

Apply the following scoring algorithm:

Base Score: 50

Sender Recognition (+20 to -20)

  • **+20**: VIP/known contact (domain matches user's company, appears in sent folder frequently)
  • **+10**: Recognized sender (has prior thread history)
  • **0**: Unknown sender with legitimate domain
  • **-15**: Newsletter/automated sender (bulk email headers, unsubscribe links)
  • **-20**: Notification sender (no-reply@, noreply@, automated@)

Direct Address (+15 to -10)

  • **+15**: Primary recipient (To: field)
  • **0**: CC'd (CC: field)
  • **-10**: BCC'd or mass email (many recipients)

Thread Depth (+10)

  • **+10**: Reply in active thread (Re: subject, multiple messages in thread)
  • **0**: New email (no thread history)

Urgency Keywords (+15)

Check subject and first 200 characters for:

  • urgent, ASAP, deadline, action required, immediate, time-sensitive, expiring, expires, due
  • **+15** if any urgency keyword found

Calendar/Meeting (+20)

  • **+20**: Calendar invite, meeting request, event notification
  • Detect via attachments (ics file) or subject patterns (Invitation:, Meeting:)

Deadline Detection (+25)

Parse email body for dates/deadlines:

  • **+25**: Deadline within 48 hours
  • **+10**: Deadline within 7 days
  • **0**: No deadline or deadline > 7 days

Business Relevance (+15 to -10)

If `email-profile.md` exists in parent directory:

  • **+15**: Mentions user's key topics, clients, projects
  • **+5**: Industry-relevant keywords
  • **-10**: Off-topic or personal (if business inbox)

Final Score Calculation

Sum all adjustments to base score of 50. Clamp to 0-100 range.

5. Categorize Emails

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 |

6. Generate Reply Suggestions

For emails scored 85+ (Urgent category):

1. **Read full thread context** using `get_gmail_thread_content` or equivalent 2. **Check for email-profile.md** in parent directory for user's:

  • Brand voice (professional, casual, direct, warm)
  • Common sign-off
  • Industry/role context

3. **Draft two reply options:**

  • **Brief**: 1-2 sentences, direct answer
  • **Detailed**: 1 paragraph with context

**Do NOT draft replies if:**

  • Email requires research beyond available context
  • Email needs user decision (approve/decline, choose option)
  • Email is FYI/informational only
  • Email is calendar invite (suggest accept/decline/tentative instead)

In these cases, output: **"This email requires your personal attention: [reason]"**

7. Output Format

## 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

Scoring Signal Reference

| Signal | Score Impact | Detection | |--------|-------------|-----------| | Direct To: address | +15 | Check To: field |

Read more
@agricidaniel
Ships withemail

Professional email management, deliverability optimization, and marketing strategy powered by Claude Code

1326 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
132
Star history of AgriciDaniel/claude-email on GitHub, a chart by star-history.com

Other skills on email.

More skills from other plugins.

seo
Skill

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag
Skill

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

@latent-spaces@latent-spacesInstall Skill

Questions about email-check.

Which coding agents can use email-check?
email-check installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.