New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Triage a Gmail inbox down to only what needs you

Email triage

by mohitagw15856 · MIT license · ★ 1,395 on GitHub · updated Sep 23

Email triage cover

Triage a Gmail inbox down to only what needs you. Use when asked to triage email, clear an inbox, find what needs a reply, or summarise recent mail.

---
name: email-triage
description: "Triage a Gmail inbox down to only what needs you. Use when asked to triage email, clear an inbox, find what needs a reply, or summarise recent mail. Produces a prioritised list of items needing action — replies, decisions, follow-ups — for a configurable window (default last 8 hours), filtering out receipts, notifications, and newsletters."
---

# Email Triage

## The Problem

Most of us spend real time triaging email that could be sorted automatically. Scrolling through a mixed inbox of newsletters, order confirmations, Jira notifications, and actual human asks is a tax on focus. The 40 emails since lunch contain maybe 4 that actually need you — this skill finds those 4.

## Prerequisites

| Requirement | Details |
|-------------|---------|
| Gmail connector | Must be active in Claude settings (Settings → Connectors → Gmail) |
| Gmail account | The account you want triaged |

Overview

Most of us spend real time triaging email that could be sorted automatically. Scrolling through a mixed inbox of newsletters, order confirmations, Jira notifications, and actual human asks is a tax on focus. The 40 emails since lunch contain maybe 4 that actually need you — this skill finds those 4.

Manual install (npx, ZIP)
Claude Codenpx skills add mohitagw15856/pm-claude-skills --skill email-triage -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/mohitagw15856/pm-claude-skills/tar.gz/f6ca79348c55 \ | tar -xz -C ~/.claude/skills --strip-components=2 pm-claude-skills-f6ca79348c55/skills/email-triage
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/3c3fef6760a09ea1952e/email-triage.zip" -OutFile "$env:TEMP\email-triage.zip"; Expand-Archive "$env:TEMP\email-triage.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.7 KB
Read the files here
mohitagw15856/f6ca7931 file
SKILL.md
Show the full text195 lines

Email Triage

The Problem

Most of us spend real time triaging email that could be sorted automatically. Scrolling through a mixed inbox of newsletters, order confirmations, Jira notifications, and actual human asks is a tax on focus. The 40 emails since lunch contain maybe 4 that actually need you — this skill finds those 4.

Prerequisites

Requirement Details
Gmail connector Must be active in Claude settings (Settings → Connectors → Gmail)
Gmail account The account you want triaged

If the Gmail connector is not connected, Claude will prompt you to connect it before proceeding.

Required Inputs

Input Required Default Notes
Time window No Last 8 hours Accepts: "last 8 hours", "last 24h", "today", "since Monday", "last 3 days"
Always-include senders No None Specific names or email addresses that always surface, regardless of content
Always-ignore senders No None Domains or addresses to always suppress (e.g. noreply@*, [email protected])
Focus area No None Optional context: "focus on anything from clients" or "flag anything about the launch"

What Gets Filtered Out

Claude suppresses the following categories. They are counted in the summary but not shown:

  • Order confirmations and shipping notifications
  • Marketing and promotional emails (including "one-time" offer emails)
  • Newsletter subscriptions and digest emails
  • Automated system notifications (monitoring alerts, CI/CD, build reports)
  • Calendar invites that have already been accepted or declined
  • Read receipts and delivery confirmations
  • Social media notifications (LinkedIn, Twitter/X, etc.)
  • Internal ticket updates unless the ticket is assigned to you and requires action
  • Bank and financial statements (surfaced count only, not content)

What Gets Surfaced

Claude surfaces only emails that meet one or more of these criteria:

  • A human is waiting for a reply
  • A decision is being requested
  • There is a deadline or time-sensitive ask, explicit or implied
  • The sender is someone who does not usually email you (potential priority signal)
  • The email is from a sender in your always-include list

Output Format

## Inbox Triage — [Time window] | [Date], [Time]
**Total emails scanned:** X | **Actionable:** Y | **Filtered out:** Z

---

### 🔴 High Priority — Needs reply or decision today

**From:** [Name] <[email protected]>
**Subject:** [Subject line]
**Received:** [Time, e.g. 2:14 PM]
**What they need:** [One sentence — the actual ask, not a summary of the email]
**Reply starter:** "[A draft opener they can continue — 1 sentence max]"

---

**From:** [Name] <[email protected]>
**Subject:** [Subject line]
**Received:** [Time]
**What they need:** [One sentence]
**Reply starter:** "[Draft opener]"

---

### 🟡 Medium Priority — Reply within 24–48h

**From:** [Name] <[email protected]>
**Subject:** [Subject line]
**Received:** [Time]
**What they need:** [One sentence]
**Reply starter:** "[Draft opener]" *(or "No reply needed — action only: [what to do]")*

---

### 🟢 FYI — Worth knowing, no action required

- **[Name]** re: [Subject] — [One-line summary of why it might be relevant]
- **[Name]** re: [Subject] — [One-line summary]

---

### ⚪ Filtered Out — [Z emails]
Receipts: X | Newsletters: X | Notifications: X | Other automated: X
*(No action needed — not shown in detail)*

Instructions for Claude

Step 1 — Connect and confirm the time window

Confirm the Gmail connector is active. Parse the requested time window and translate it to an exact datetime range (e.g. "last 8 hours" = [current time minus 8 hours] to now). State the window at the top of the output.

Step 2 — Read the inbox

Fetch emails from the inbox for the specified time window. Include: sender name, sender email, subject, received time, and email body (or first 500 words if long). Do not fetch emails older than the window.

Step 3 — Apply ignore rules

If the user specified always-ignore senders or domains, suppress those immediately. If no ignore list was given, apply standard suppression (see What Gets Filtered Out). Track counts for the filtered summary.

Step 4 — Classify each remaining email

For each non-suppressed email, classify into one of four categories:

  • High Priority: A human is waiting on a reply today, or there is an explicit deadline within 24 hours
  • Medium Priority: A reply is needed but not urgently, or there is an implicit ask without a hard deadline
  • FYI: No action needed, but the user would likely want to know about it
  • Filtered Out: Falls into a suppressed category — add to count, do not show

Apply the always-include list after classification: any email from a flagged sender surfaces regardless of category, with its actual classification.

Step 5 — Write the "What they need" line

This is the highest-value part of the output. Write exactly one sentence that captures the actual ask — not a summary of the email, the ask.

Bad: "Sarah sent an email about the Q3 report." Good: "Sarah needs your sign-off on the Q3 report before she sends it to the board at 5 PM."

If there is no clear ask, it is probably FYI or filtered out.

Step 6 — Write the reply starter

For High and Medium priority emails, write a one-sentence reply opener. The opener should:

  • Match the tone of the sender (formal vs. casual)
  • Acknowledge the ask directly
  • Be something the user can actually send with minimal editing

Example: "Thanks for flagging this — let me check with the team and get back to you by EOD."

If the email requires an action rather than a reply (e.g. "please approve this expense"), write: "No reply needed — action only: [describe the action]."

Step 7 — Assemble and deliver the output

Use the output format exactly as specified. Do not add extra sections, editorialise, or explain your reasoning. The output should be scannable in under 60 seconds.

Step 8 — Offer next steps

After the triage output, offer one of:

  • "Want me to draft replies to any of these?"
  • "Say 'reply to [name]' and I'll draft it."

Keep this to one line. Do not elaborate.

Quality Checks

  • Time window was applied correctly — no emails outside the window are included
  • Gmail connector was confirmed active before reading
  • Every High Priority email has a specific, concrete "What they need" sentence — not a vague summary
  • Reply starters match the tone of the original email (formal/informal)
  • Filtered-out count is accurate and broken down by category
  • FYI section contains only emails with no action required — nothing actionable is buried here
  • Always-include senders surfaced regardless of category
  • Always-ignore senders/domains are fully suppressed
  • Output is scannable — no unnecessary prose, no padding
  • Financial statements and sensitive content were counted but not shown in full

Anti-Patterns

  • Do not surface FYI emails in the High or Medium priority sections — burying actionable items with informational ones defeats the purpose of triage
  • Do not write vague "What they need" summaries ("Sarah sent an email about the report") — every summary must state the actual ask, not a description of the email
  • Do not apply the same tone to every reply starter — a formal email from a client requires a different opener than a casual Slack-style email from a colleague
  • Do not include emails outside the requested time window — time window accuracy is the core trust signal for this skill
  • Do not omit the filtered-out count — users need to know how much was scanned, not just what was surfaced, to trust the triage is complete

Dispatch / Mobile Usage

This skill works from the Claude mobile app (Dispatch). On mobile, the output renders cleanly with the emoji priority markers serving as visual anchors for quick scanning. Recommended mobile trigger: "Check my emails" or "/email-triage".

Example Trigger Phrases

  • /email-triage
  • "Check my emails"
  • "What emails need my attention?"
  • "Triage my inbox for the last 8 hours"
  • "What came in since this morning?"
  • "Any urgent emails I need to deal with?"
  • "Triage my inbox — ignore anything from Jira and the marketing domain"
  • "Check emails from the last 24 hours, flag anything from [client name]"
  • "What do I need to reply to today?"
1---
2name: email-triage
3description: "Triage a Gmail inbox down to only what needs you. Use when asked to triage email, clear an inbox, find what needs a reply, or summarise recent mail. Produces a prioritised list of items needing action — replies, decisions, follow-ups — for a configurable window (default last 8 hours), filtering out receipts, notifications, and newsletters."
4---
5 
6# Email Triage
7 
8## The Problem
9 
10Most of us spend real time triaging email that could be sorted automatically. Scrolling through a mixed inbox of newsletters, order confirmations, Jira notifications, and actual human asks is a tax on focus. The 40 emails since lunch contain maybe 4 that actually need you — this skill finds those 4.
11 
12## Prerequisites
13 
14| Requirement | Details |
15|-------------|---------|
16| Gmail connector | Must be active in Claude settings (Settings → Connectors → Gmail) |
17| Gmail account | The account you want triaged |
18 
19If the Gmail connector is not connected, Claude will prompt you to connect it before proceeding.
20 
21## Required Inputs
22 
23| Input | Required | Default | Notes |
24|-------|----------|---------|-------|
25| Time window | No | Last 8 hours | Accepts: "last 8 hours", "last 24h", "today", "since Monday", "last 3 days" |
26| Always-include senders | No | None | Specific names or email addresses that always surface, regardless of content |
27| Always-ignore senders | No | None | Domains or addresses to always suppress (e.g. noreply@*, [email protected]) |
28| Focus area | No | None | Optional context: "focus on anything from clients" or "flag anything about the launch" |
29 
30## What Gets Filtered Out
31 
32Claude suppresses the following categories. They are counted in the summary but not shown:
33 
34- Order confirmations and shipping notifications
35- Marketing and promotional emails (including "one-time" offer emails)
36- Newsletter subscriptions and digest emails
37- Automated system notifications (monitoring alerts, CI/CD, build reports)
38- Calendar invites that have already been accepted or declined
39- Read receipts and delivery confirmations
40- Social media notifications (LinkedIn, Twitter/X, etc.)
41- Internal ticket updates unless the ticket is assigned to you and requires action
42- Bank and financial statements (surfaced count only, not content)
43 
44## What Gets Surfaced
45 
46Claude surfaces only emails that meet one or more of these criteria:
47 
48- A human is waiting for a reply
49- A decision is being requested
50- There is a deadline or time-sensitive ask, explicit or implied
51- The sender is someone who does not usually email you (potential priority signal)
52- The email is from a sender in your always-include list
53 
54## Output Format
55 
56```
57## Inbox Triage — [Time window] | [Date], [Time]
58**Total emails scanned:** X | **Actionable:** Y | **Filtered out:** Z
59 
60---
61 
62### 🔴 High Priority — Needs reply or decision today
63 
64**From:** [Name] <[email protected]>
65**Subject:** [Subject line]
66**Received:** [Time, e.g. 2:14 PM]
67**What they need:** [One sentence — the actual ask, not a summary of the email]
68**Reply starter:** "[A draft opener they can continue — 1 sentence max]"
69 
70---
71 
72**From:** [Name] <[email protected]>
73**Subject:** [Subject line]
74**Received:** [Time]
75**What they need:** [One sentence]
76**Reply starter:** "[Draft opener]"
77 
78---
79 
80### 🟡 Medium Priority — Reply within 24–48h
81 
82**From:** [Name] <[email protected]>
83**Subject:** [Subject line]
84**Received:** [Time]
85**What they need:** [One sentence]
86**Reply starter:** "[Draft opener]" *(or "No reply needed — action only: [what to do]")*
87 
88---
89 
90### 🟢 FYI — Worth knowing, no action required
91 
92- **[Name]** re: [Subject] — [One-line summary of why it might be relevant]
93- **[Name]** re: [Subject] — [One-line summary]
94 
95---
96 
97### ⚪ Filtered Out — [Z emails]
98Receipts: X | Newsletters: X | Notifications: X | Other automated: X
99*(No action needed — not shown in detail)*
100```
101 
102## Instructions for Claude
103 
104### Step 1 — Connect and confirm the time window
105 
106Confirm the Gmail connector is active. Parse the requested time window and translate it to an exact datetime range (e.g. "last 8 hours" = [current time minus 8 hours] to now). State the window at the top of the output.
107 
108### Step 2 — Read the inbox
109 
110Fetch emails from the inbox for the specified time window. Include: sender name, sender email, subject, received time, and email body (or first 500 words if long). Do not fetch emails older than the window.
111 
112### Step 3 — Apply ignore rules
113 
114If the user specified always-ignore senders or domains, suppress those immediately. If no ignore list was given, apply standard suppression (see What Gets Filtered Out). Track counts for the filtered summary.
115 
116### Step 4 — Classify each remaining email
117 
118For each non-suppressed email, classify into one of four categories:
119 
120- **High Priority**: A human is waiting on a reply today, or there is an explicit deadline within 24 hours
121- **Medium Priority**: A reply is needed but not urgently, or there is an implicit ask without a hard deadline
122- **FYI**: No action needed, but the user would likely want to know about it
123- **Filtered Out**: Falls into a suppressed category — add to count, do not show
124 
125Apply the always-include list after classification: any email from a flagged sender surfaces regardless of category, with its actual classification.
126 
127### Step 5 — Write the "What they need" line
128 
129This is the highest-value part of the output. Write exactly one sentence that captures the actual ask — not a summary of the email, the ask.
130 
131Bad: "Sarah sent an email about the Q3 report."
132Good: "Sarah needs your sign-off on the Q3 report before she sends it to the board at 5 PM."
133 
134If there is no clear ask, it is probably FYI or filtered out.
135 
136### Step 6 — Write the reply starter
137 
138For High and Medium priority emails, write a one-sentence reply opener. The opener should:
139- Match the tone of the sender (formal vs. casual)
140- Acknowledge the ask directly
141- Be something the user can actually send with minimal editing
142 
143Example: "Thanks for flagging this — let me check with the team and get back to you by EOD."
144 
145If the email requires an action rather than a reply (e.g. "please approve this expense"), write: "No reply needed — action only: [describe the action]."
146 
147### Step 7 — Assemble and deliver the output
148 
149Use the output format exactly as specified. Do not add extra sections, editorialise, or explain your reasoning. The output should be scannable in under 60 seconds.
150 
151### Step 8 — Offer next steps
152 
153After the triage output, offer one of:
154- "Want me to draft replies to any of these?"
155- "Say 'reply to [name]' and I'll draft it."
156 
157Keep this to one line. Do not elaborate.
158 
159## Quality Checks
160 
161- [ ] Time window was applied correctly — no emails outside the window are included
162- [ ] Gmail connector was confirmed active before reading
163- [ ] Every High Priority email has a specific, concrete "What they need" sentence — not a vague summary
164- [ ] Reply starters match the tone of the original email (formal/informal)
165- [ ] Filtered-out count is accurate and broken down by category
166- [ ] FYI section contains only emails with no action required — nothing actionable is buried here
167- [ ] Always-include senders surfaced regardless of category
168- [ ] Always-ignore senders/domains are fully suppressed
169- [ ] Output is scannable — no unnecessary prose, no padding
170- [ ] Financial statements and sensitive content were counted but not shown in full
171 
172## Anti-Patterns
173 
174- [ ] Do not surface FYI emails in the High or Medium priority sections — burying actionable items with informational ones defeats the purpose of triage
175- [ ] Do not write vague "What they need" summaries ("Sarah sent an email about the report") — every summary must state the actual ask, not a description of the email
176- [ ] Do not apply the same tone to every reply starter — a formal email from a client requires a different opener than a casual Slack-style email from a colleague
177- [ ] Do not include emails outside the requested time window — time window accuracy is the core trust signal for this skill
178- [ ] Do not omit the filtered-out count — users need to know how much was scanned, not just what was surfaced, to trust the triage is complete
179 
180## Dispatch / Mobile Usage
181 
182This skill works from the Claude mobile app (Dispatch). On mobile, the output renders cleanly with the emoji priority markers serving as visual anchors for quick scanning. Recommended mobile trigger: "Check my emails" or "/email-triage".
183 
184## Example Trigger Phrases
185 
186- `/email-triage`
187- "Check my emails"
188- "What emails need my attention?"
189- "Triage my inbox for the last 8 hours"
190- "What came in since this morning?"
191- "Any urgent emails I need to deal with?"
192- "Triage my inbox — ignore anything from Jira and the marketing domain"
193- "Check emails from the last 24 hours, flag anything from [client name]"
194- "What do I need to reply to today?"
195 
View all files on GitHub →

Details

Updated
Sep 23, 2026
License
MIT
Stars on the repo
★ 1,395
Checked
Source
mohitagw15856/pm-claude-skills ↗
Creator
mohitagw15856 · 193 listings
View creator

Made with email-triage

Email triage — Galaxy 3D — fly through all 1170 skills as a glowing constellation you orbit and click into (from the mohitagw15856/pm-claude-skills README)
Email triage — Galaxy 3D — fly through all 1170 skills as a glowing constellation you orbit and click into (from the mohitagw15856/pm-claude-skills README)

by mohitagw15856

Email triage — PM Skills Wrapped — your practice turned into a shareable, Spotify-Wrapped-style story (from the mohitagw15856/pm-claude-skills README)
Email triage — PM Skills Wrapped — your practice turned into a shareable, Spotify-Wrapped-style story (from the mohitagw15856/pm-claude-skills README)

by mohitagw15856

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from mohitagw15856

SkillDesign a 360-degree feedback survey or write a structured360-Degree Feedback Template Skillmohitagw15856/pm-claude-skills · by mohitagw15856Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.★ 1.4k GitHub starsSkillDesign statistically rigorous A/B tests for product featuresA/B Test Planner Skillmohitagw15856/pm-claude-skills · by mohitagw15856Design statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.★ 1.4k GitHub starsSkillGenerate a WCAG 2.2 accessibility audit checklistAccessibility Audit Skillmohitagw15856/pm-claude-skills · by mohitagw15856Generate a WCAG 2.2 accessibility audit checklist and remediation suggestions for any UI or design. Use when asked to audit for accessibility, check WCAG compliance, review a design for a11y issues, or create an accessibility remediation plan. Produces a prioritised checklist with pass/fail assessments and specific fixes.★ 1.4k GitHub starsSkillBuild a structured account plan for any key customerAccount Plan Skillmohitagw15856/pm-claude-skills · by mohitagw15856Build a structured account plan for any key customer or target account. Use when asked to create an account plan, key account strategy, strategic account review, or territory plan. Produces a complete account plan with relationship map, growth opportunities, risks, and 90-day action plan.★ 1.4k GitHub starsSkillOptimize an article for Answer Engine Optimization so AIAEO Optimizer Skillmohitagw15856/pm-claude-skills · by mohitagw15856Optimize an article for Answer Engine Optimization (AEO) so AI engines like ChatGPT, Perplexity, and Claude can extract, quote, and cite it. Use when asked to AEO-optimize, make content AI-readable, improve AI citation chances, or adapt an article for answer engines. Produces an AEO-optimised rewrite with question headings, 50–80 word answer capsules, a paragraph-length audit, and flagged trust signals.★ 1.4k GitHub starsSkillConduct a structured ethical review of an AI or ML featureAI Ethics Review Skillmohitagw15856/pm-claude-skills · by mohitagw15856Conduct a structured ethical review of an AI or ML feature, model, or product. Use when preparing to deploy an AI system, assessing algorithmic risk, auditing a model for bias, or producing a responsible AI impact assessment. Produces a structured ethics review covering fairness, transparency, privacy, safety, accountability, and societal impact with a risk tier score, pre-deployment checklist, and prioritised mitigations.★ 1.4k GitHub stars