Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Triage academic email and calendar (Gmail / Google Calendar via the session's MCP) into a prioritized digest plus a referee-obligations tracker — classifying referee requests, R&R and editor correspondence, co-author threads, seminar and conference invites, and grant/admin deadlines, and proposing a human-gated action for each (draft reply, calendar hold, scaffold a project, snooze). Use when user says "triage my inbox", "check my academic email", "what needs my attention this week", "go through
.claude/skills/pedrohcgs-triage-inbox/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 186% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 283% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 74% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 211% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 283% | 0% |
Turn a noisy academic inbox into a short, decision-ready digest. Fetch recent mail and calendar context through the session's MCP servers (Gmail / Google Calendar), classify each thread into the categories an academic actually acts on, and propose one action per thread — always human-gated. The companion artifact is a running referee-obligations tracker so you never silently overcommit to reviews.
Core principle: this skill reads, classifies, and proposes. It drafts; it never sends, accepts, declines, or books anything without you. That boundary is what makes it safe to run unattended as a /schedule routine.
/schedule to run each morning and leave a digest waiting./coauthor-brief./respond-to-referees.Gmail search/read, Google Calendar list/suggest). They are session-scoped — in a headless claude -p or cron run they may be absent. Probe once (e.g. list labels / list calendars). If unavailable, degrade gracefully: emit a tracker-only digest from the on-disk tracker (Phase 3) plus a one-line "MCP servers not reachable in this run — skipped fetch" note, and exit cleanly. Never fail the routine over a missing server.--since (an ISO date or Ndays), else the timestamp of the last digest in quality_reports/inbox/, else default 7 days. Echo it back.--cap if given, else read the standing cap from the tracker header, else default 3 concurrent reviews. This cap gates the recommendation in Phase 2, not your inbox.--no-calendar), dry-run on/off.| Bucket | Signals | |---|---| | Referee request | "invite you to review", journal/editor sender, manuscript ID, "would you be willing" | | R&R / editor correspondence | "revise and resubmit", "minor/major revision", decision letter, due-date language | | Co-author thread | known collaborator, shared-paper subject, "can you", "your section", attachment churn | | Seminar / conference invite | "invited talk", "submit by", CFP, "seminar series", scheduling polls | | Grant / admin deadline | funder name, "submission deadline", reporting/compliance, IRB/DUA renewals | | Noise | newsletters, receipts, auto-notifications — counted, not itemized |
For each non-noise thread, propose exactly one of:
/coauthor-brief.Hard gate: every outbound action (send, accept, decline, book, scaffold) waits for explicit user confirmation. Drafts and holds are proposals. Honor --dry-run by proposing without staging even drafts.
quality_reports/inbox/YYYY-MM-DD_triage.md (create the dir). Buckets ordered by urgency; each item is a one-liner + its proposed action. Noise is a count, not a list.quality_reports/inbox/referee-obligations.md (a persistent ledger, not dated). Append/refresh rows for any review accepted, declined, or completed this run; recompute open count vs. cap; flag overdue rows.markdown# Inbox Triage — YYYY-MM-DD (window: last N days · referee cap: K) ## Needs a decision (M) - **[R&R]** *J. of X* — minor revision, **due 2026-07-15**. → Propose calendar hold (−14d reminder); conflicts: none. - **[Referee]** *Econometrica* — review request, manuscript 12-345. Open reviews 2/3 → under cap. → Offer to scaffold a referee project. - **[Co-author]** A. Smith — "can you redo Table 3 with not-yet-treated controls?" → Summarized; offer `/coauthor-brief`. ## FYI / snoozed (P) - **[Seminar]** Dept. brown-bag poll — snoozed to 2026-06-16. ## Noise: 24 threads (newsletters, receipts) — not itemized. ## Referee load: 2 open / cap 3 (see referee-obligations.md)
Plus the one-line chat summary: digest path, counts per bucket, open-reviews-vs-cap, and whether the MCP fetch ran or was skipped.
--dry-run: propose everything, stage nothing (not even a draft).--since <Ndays|date> — Lookback window. Default: the last digest's timestamp, else 7 days.--cap <N> — Standing concurrent-review cap that gates referee scaffolding. Default: the tracker header value, else 3.--no-calendar — Skip the Calendar MCP entirely; classify mail only, no holds proposed.--dry-run — Propose actions without staging anything (no Gmail drafts created)..claude/skills/coauthor-brief/SKILL.md — the handoff brief offered for co-author threads..claude/skills/respond-to-referees/SKILL.md — drafts the R&R response document once a revision deadline surfaces here./schedule — wire this skill into a cron routine; the human-gated design is what makes unattended runs safe..claude/rules/orchestrator-protocol.md — the "no daemon, user/skill-initiated, human-in-the-loop" contract this skill honors for outbound actions..claude/rules/confidential-data.md — never copy attachment contents, restricted data, or credentials into a digest that may be committed.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,190 | 68,478 | +645% | 1 | 1 | 0% | 1,449 | 2,860 | +97% | 0 | 0 | — |
case-02 | fail→fail | 17,172 | 49,280 | +187% | 1 | 1 | 0% | 416 | 2,901 | +597% | 0 | 0 | — |
case-03 | fail→fail | 17,892 | 38,569 | +116% | 1 | 1 | 0% | 640 | 2,845 | +345% | 0 | 0 | — |
case-04 | pass→pass | 35,166 | 7,418 | -79% | 1 | 1 | 0% | 700 | 3,434 | +391% | 0 | 0 | — |
case-05 | fail→fail | 22,615 | 26,716 | +18% | 1 | 1 | 0% | 3,633 | 6,536 | +80% | 0 | 0 | — |
case-06 | fail→fail | 20,263 | 29,239 | +44% | 1 | 1 | 0% | 3,168 | 6,303 | +99% | 0 | 0 | — |
case-07 | pass→pass | 7,234 | 3,853 | -47% | 1 | 1 | 0% | 1,052 | 2,973 | +183% | 0 | 0 | — |
case-08 | fail→pass | 18,937 | 2,656 | -86% | 1 | 1 | 0% | 949 | 2,717 | +186% | 0 | 0 | — |
case-09 | pass→pass | 3,782 | 4,174 | +10% | 1 | 1 | 0% | 535 | 2,980 | +457% | 0 | 0 | — |
case-10 | fail→pass | 14,383 | 5,825 | -60% | 1 | 1 | 0% | 784 | 3,001 | +283% | 0 | 0 | — |
case-11 | pass→pass | 12,241 | 5,426 | -56% | 1 | 1 | 0% | 1,894 | 3,169 | +67% | 0 | 0 | — |
case-12 | pass→pass | 6,702 | 4,084 | -39% | 1 | 1 | 0% | 1,051 | 2,970 | +183% | 0 | 0 | — |
case-13 | fail→pass | 11,626 | 4,207 | -64% | 1 | 1 | 0% | 1,740 | 3,028 | +74% | 0 | 0 | — |
case-14 | fail→pass | 5,720 | 33,715 | +489% | 1 | 1 | 0% | 930 | 2,893 | +211% | 0 | 0 | — |
case-15 | fail→pass | 5,379 | 4,328 | -20% | 1 | 1 | 0% | 786 | 3,008 | +283% | 0 | 0 | — |
case-16 | pass→pass | 8,113 | 4,142 | -49% | 1 | 1 | 0% | 1,135 | 2,925 | +158% | 0 | 0 | — |
case-17 | fail→pass | 9,633 | 2,226 | -77% | 1 | 1 | 0% | 1,558 | 2,668 | +71% | 0 | 0 | — |
case-18 | fail→pass | 13,648 | 2,924 | -79% | 1 | 1 | 0% | 2,098 | 2,744 | +31% | 0 | 0 | — |
case-19 | fail→fail | 6,860 | 4,767 | -31% | 1 | 1 | 0% | 1,001 | 3,030 | +203% | 0 | 0 | — |
case-20 | pass→fail | 5,182 | 3,931 | -24% | 1 | 1 | 0% | 720 | 2,928 | +307% | 0 | 0 | — |
case-21 | fail→fail | 9,579 | 2,798 | -71% | 1 | 1 | 0% | 1,464 | 2,729 | +86% | 0 | 0 | — |
case-22 | pass→pass | 6,749 | 3,531 | -48% | 1 | 1 | 0% | 955 | 2,827 | +196% | 0 | 0 | — |
case-23 | pass→pass | 7,757 | 3,761 | -52% | 1 | 1 | 0% | 1,494 | 3,020 | +102% | 0 | 0 | — |
case-24 | fail→pass | 12,408 | 3,646 | -71% | 1 | 1 | 0% | 1,923 | 2,918 | +52% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 20 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +29 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/13/2026 | +18% |
Other measured skills in the registry, with their headline benchmark lift.