This skill should be used when the user asks to "check email", "triage my inbox", "check my email", "morning email", "inbox summary", or invokes /email or /summary. Scans the inbox for recent emails, classifies by priority tier, and offers reply drafting.
From email-triage-pluginnpx claudepluginhub ericporres/email-triage-pluginThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Scan Gmail for recent messages, classify them into three priority tiers, and offer to draft replies for urgent items.
If you use a family-assistant skill or maintain reference files with contact and alias data, load them here before scanning. This gives the triage engine context about who matters and which aliases map to which priority.
Example reference files (if available):
| File | What it provides |
|---|---|
family-members.md | Names, relationships, emails — always Tier 1 |
email-aliases.md | Alias routing & default priority tiers |
household.md | Schools, services — helps classify household emails |
Tip: The family-assistant-skill template is a good companion for this plugin. It provides the contact and household context that makes triage smarter.
If you don't have reference files yet, the skill still works — it just classifies based on content and sender patterns instead of alias routing.
Use Gmail MCP tools to search:
Query: in:inbox newer_than:1d
Add exclusions for any labels you handle separately (e.g., -label:AI if you have an AI newsletter digest).
Why not is:unread: Many people casually browse emails on their phone without intending to act on them. Read status is unreliable as a triage signal. Use time-based windowing instead.
Time window options:
newer_than:1d (last 24 hours — good for daily morning triage)newer_than:12hnewer_than:3dSnippet-first approach: The search results include subjects, senders, and snippets. Classify from these first. Only call read_gmail_message for:
This avoids token blowout on high-volume days.
Emails with a direct question, request, or action aimed at you. Each gets:
Urgency signals (auto-promote to Tier 1):
@yourcompany.com)Needs your eyes but not necessarily a reply:
Marketing, bulk newsletters, automated notifications, social media alerts, promotional offers. Summarize as counts by category.
If you use email aliases (e.g., shopping@yourdomain.com, travel@yourdomain.com), map them to default tiers here. This is the most powerful part of the triage — a well-configured alias map means most emails get classified instantly without needing to read content.
Example alias routing:
Primary (you@domain.com) → Evaluate on content
Family/kids aliases → Default Tier 1
Financial aliases (bank@, 401k@) → Default Tier 1
Health/medical aliases → Default Tier 1
Household/utilities aliases → Default Tier 2
Travel aliases → Default Tier 2
Shopping aliases → Default Tier 3 (unless delivery update → Tier 2, fraud → Tier 1)
Subscription/media aliases → Default Tier 3
Tip: If you use the family-assistant-skill's
email-aliases.md, you can list 100+ aliases with per-alias tier routing. The triage skill reads it at runtime and applies the mapping automatically.
When an alias isn't recognized, fall back to content-based classification.
Format output as:
# Inbox Triage — [Today's Date]
[X emails scanned from last 24h]
## Reply Needed (X)
1. **[Sender Name]** — [Subject]
[One-line summary of what they need]
→ Suggested: [Reply / Schedule / Forward to X]
2. ...
## Review (X)
- **[Sender]** — [Subject] — [One-line summary]
- ...
## Noise (X)
[X] marketing, [X] social, [X] automated, [X] promotional
→ Want me to archive these?
Numbering matters. Tier 1 items are numbered so you can say "draft a reply to #3."
When asked to draft a reply (e.g., "draft a reply to #3"):
read_gmail_message if not already loadedread_gmail_thread for conversation contextDescribe how you write emails so Claude can match your style:
- Direct and concise — no filler
- Warm but professional
- Uses first names
- Signs off with "[Your Name]" or "Best, [Your Name]"
- Doesn't over-explain or over-apologize
If there are Tier 3 (noise) emails and the user confirms archival:
Never auto-archive. Never permanently delete.