plugins/pm-operations/skills/email-triage/SKILL.md
Reads your Gmail inbox for a configurable window (default: last 8 hours) and surfaces only what needs action — replies, decisions, or follow-up. Filters out receipts, notifications, newsletters, and anything that doesn't need you.
npx skillsauth add mohitagw15856/pm-claude-skills email-triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
| 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.
| 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" |
Claude suppresses the following categories. They are counted in the summary but not shown:
Claude surfaces only emails that meet one or more of these criteria:
## 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)*
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.
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.
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.
For each non-suppressed email, classify into one of four categories:
Apply the always-include list after classification: any email from a flagged sender surfaces regardless of category, with its actual classification.
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.
For High and Medium priority emails, write a one-sentence reply opener. The opener should:
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]."
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.
After the triage output, offer one of:
Keep this to one line. Do not elaborate.
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".
/email-triagedevelopment
Analyse competitor moves and translate them into strategic implications for your product roadmap. Use when a competitor announces a new feature, pricing change, partnership, or strategic shift, or when producing a periodic competitive intelligence report. Produces a categorised signal analysis with reactive-vs-proactive assessment, threat ratings, specific roadmap implications, and recommended responses with owners.
development
Build a community management playbook for a brand's social media channels. Use when asked to create guidelines for managing comments, DMs, and community interactions, define a moderation policy, or build response frameworks for social media community managers. Produces a complete playbook with response templates, escalation paths, moderation rules, and tone guidelines.
development
Activate a 4-stage coding discipline framework that forces Claude to plan before coding, isolate changes on a branch, write tests first, and self-review output twice before presenting it. Use when starting a complex coding task, when past Claude sessions produced broken first drafts, or when you want to prevent rework cycles. Produces a confirmed written plan, isolated feature branch, test-first implementation, and a double-reviewed output with a correctness and code-quality checklist.
development
Optimize an article for Answer Engine Optimization (AEO) — restructuring content so AI engines like ChatGPT, Perplexity, and Claude can extract, quote, and cite it. Rewrites headings as questions, drops 50-80 word answer capsules, audits paragraph length, and flags trust signals. Use when asked to AEO-optimize, make content AI-readable, improve AI citation chances, or adapt an article for answer engines.