followup-sweep
GitHub扫描用户真实的邮件和日历,识别未回复、已承诺及等待对方回复的开放线程。生成按紧急度排序的跟进列表,并起草礼貌的提醒邮件草稿(仅存为草稿),防止重要事务被遗漏。
Trigger Scenarios
Install
npx skills add mohitagw15856/pm-claude-skills --skill followup-sweep -g -y
SKILL.md
Frontmatter
{
"name": "followup-sweep",
"description": "Sweep the user's REAL mail and calendar for dropped balls — threads awaiting their reply, promises they made, and replies they're owed — then draft the nudges. Use when asked what am I forgetting, what have I not replied to, who owes me a reply, or chase my open threads in Cowork. Reads sent\/received mail via the Gmail connector and recent events via Calendar, finds the open loops, and produces a follow-up-list artifact plus ready-to-send draft nudges."
}
Follow-up Sweep (Live)
Dropped balls hide in the sent folder: the reply you promised, the question you asked that never came back, the thread that stalled after you. In Claude Cowork this skill scans the real account for those open loops and drafts the nudges so nothing important dies of silence.
What This Skill Produces
- The open-loop list — threads awaiting the user's reply, promises the user made with no follow-through, and replies the user is owed
- Draft nudges — short, polite chase messages created as Gmail drafts for the ones worth sending
- A follow-up-sweep artifact — everything found, ranked by staleness and stakes, with the suggested action per item
Required Inputs
Ask for these if not provided:
- Window — how far back to sweep (default: last 14 days)
- Who counts — everyone, or just external/customers/VIPs
- Draft or list-only — may it write draft nudges? (default: yes, drafts only)
Framework: The Three Open Loops
- You owe them — a direct question or ask you haven't answered → reply-now or a holding note.
- They owe you — you asked, no reply after a reasonable gap → a nudge.
- You promised — "I'll send X by Friday" with no evidence it went → deliver or renegotiate.
Execution (Cowork)
- Scan — via the Gmail connector, read recent received mail (unanswered questions to you) and sent mail (your questions/promises). Via Calendar, note commitments tied to past events.
- Detect loops — match each thread to one of the three loops; use the last message's direction and age. Ignore newsletters, notifications, and resolved threads.
- Rank — by staleness × stakes (external/customer/named-deadline outrank internal chatter).
- Draft — for nudge-worthy items, create short, warm Gmail drafts (never sent): reference the thread, restate the ask, propose a next step.
- Emit the artifact — the ranked follow-up list with the drafted-vs-manual split.
Guardrails: drafts only, never auto-send; don't nudge someone who replied in a thread you missed — re-check the latest message; never invent a promise the user didn't make; if a connector is unauthorised, produce the list from what's available and say what's missing.
Output Format
A Follow-up Sweep artifact:
Summary
N open loops · X you owe · Y owed to you · Z promises · D drafts ready
Ranked follow-ups
| Thread | Loop type | Age | Stakes | Suggested action |
|---|
Drafts created
- [subject] → draft ready; one-line summary of the nudge
Judgement calls (left for you)
- [thread] — why it wasn't auto-drafted
Quality Checks
- Nothing was sent — only drafted
- Each item is correctly typed (you owe / owed / promised) from the real last message
- Resolved threads were excluded (checked the latest message, not just the first)
- Ranking reflects staleness AND stakes, not date alone
- Promises attributed to the user actually appear in their sent mail
Anti-Patterns
- Nudging on a thread that was already answered — always read the latest message.
- Auto-sending chases — draft, let the human send.
- Inventing a promise to manufacture a follow-up.
- Flat date-sort that buries a stale customer thread under fresh internal noise.
Example Trigger Phrases
- "What am I forgetting to follow up on?"
- "Sweep my inbox for dropped balls and draft the nudges."
- "Who owes me a reply, and who am I ignoring?"
- "Chase my open threads from the last two weeks in Cowork."
Version History
- 471c606 Current 2026-07-22 14:53


