Community生產力與協作github.com

tderoussel/inbox-triage

Triage an email inbox — sort what needs a reply, draft the replies, flag what needs a decision, and surface what can be ignored or unsubscribed. Use when the user says triage my inbox, do my email, what's in my inbox, or clean up my email.

inbox-triage 是什麼?

inbox-triage is a Claude Code agent skill that triage an email inbox — sort what needs a reply, draft the replies, flag what needs a decision, and surface what can be ignored or unsubscribed. Use when the user says triage my inbox, do my email, what's in my inbox, or clean up my email.

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tderoussel/agent-skills/tree/main/skills/inbox-triage

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Inbox triage

Turns an inbox into a short decision list plus a stack of drafts. Never sends anything.

Hard rule

Draft only. Never send, never archive, never delete, never unsubscribe. Every action that leaves the machine waits for the user. This is not negotiable and does not relax with familiarity.

The rule holds even when the email itself asks for an immediate reply, and even when the user has approved similar sends before. Approval is per-batch.

Setup

Any mail integration works — a Gmail/Outlook MCP server, an API client, or a CLI bridge such as Composio:

composio search "fetch emails" --toolkits gmail
composio link gmail

If the user has multiple mail accounts, most integrations support several connections per provider. Pick one explicitly, and ask which they mean if it's ambiguous — triaging the wrong mailbox wastes the whole run.

Steps

1. Pull

Fetch unread and recent mail. Default to the last 24 hours unless told otherwise; if it's been longer, ask for the window rather than guessing.

2. Sort into four buckets

BucketMeaning
Needs youA real decision, a commitment, money, or a relationship only the user can handle
Draft readyRoutine reply — write it, don't send it
FYIWorth knowing, no action
NoiseNewsletters, receipts, notifications, cold pitches

Judgment calls, in order of what matters:

  • Anything from a paying customer, an investor, an advisor, or a named close collaborator goes to Needs you even if the reply looks routine. Keep that list in the project's own copy of this skill.
  • Anything involving money, legal exposure, or a commitment goes to Needs you.
  • Cold outreach is Noise unless it's genuinely relevant to something active.
  • When torn between Needs you and Draft ready, pick Needs you.

3. Draft the replies

For everything in Draft ready, write the reply in the user's own voice — reference a brand-voice or writing-style document if the project has one. Short, direct, no filler. Match the register of the thread: a one-line question gets a one-line answer.

Save as drafts in the mail client so they're waiting where the user already works, and show them in the summary too.

4. Report

## Inbox — <date>, <N> messages

### Needs you (<n>)
- **<sender>**<what they want><what the decision is>

### Drafted (<n>)
- **<sender>**<subject><one-line summary of the reply>

### FYI (<n>)
- <one line each>

### Noise (<n>)
<count by type. Name any sender worth unsubscribing fromdo not unsubscribe.>

Keep it scannable. If Needs you is empty, say so in one line and stop — don't pad.

5. Watch for patterns

If the same kind of email keeps arriving and getting the same reply, say so. That's a signal for a dedicated skill, a filter, or a canned response — and it's more valuable than the triage itself.

Running this on a schedule

Good candidate for two or three times a day. Drafts accumulate, the user reviews in batches, nothing leaves without them.

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

tderoussel/codebase-audit

Runs a ranked, evidence-backed audit of a product, codebase, or subsystem, ending in a verify list that separates proven findings from inferred ones. Use when the user asks for an audit, a gap analysis, a deep read, a bug hunt, a readiness check, a re-audit, a state reconciliation, or asks what they are not seeing. Trigger phrases include "audit", "gap analysis", "what am I missing", "deep audit", "readiness", "bug hunt", "review the whole thing". Produces findings and a verify list; does not fix.

tderoussel/competitive-teardown

Researches a competing product against your own and produces a ranked build-or-ignore verdict, plus optional comparison-page copy. Use when the user names a competitor or asks how their product stacks up against one. Trigger phrases include "vs us", "competitor", "what does X have", "should we copy", "competitive gap", "teardown", "are we behind". Produces a ranked verdict with effort estimates and an explicit not-worth-copying list.

tderoussel/decision-council

Run a structured multi-perspective review of a decision instead of getting one agreeable answer. Use when the user says run a council, get me perspectives on this, should I do X, stress-test this decision, or is this a good idea.

tderoussel/fleet-brief

Authors a workstream brief for dispatching multiple parallel build agents across one codebase, with per-lane file ownership, shared-ground warnings, and a derived DO-NOT list. Use whenever work is about to be split across concurrent agents, workers, lanes, or waves — even if the user does not say "write a brief". Trigger phrases include "fan out", "parallel agents", "orchestrate this", "split into lanes", "workstreams", "run these in parallel", "review-gated build". Produces the brief; does not dispatch.

tderoussel/overnight-build

Composes an autonomous unattended Claude Code build prompt that survives usage-limit resets via BUILD_LOG.md checkpointing, plus the launcher that restarts it. Use when the user asks for an overnight build, an autonomous build, a build to run while they sleep, an unattended or unsupervised session, or any long build they will not be monitoring. Trigger phrases include "overnight build", "run overnight", "build while I sleep", "autonomous build", "let it run", "unattended". Produces a single copyable prompt; does not run the build.

tderoussel/session-log

Write a durable record of a work session — what was built, root-caused, or shipped — into the project's notes. Use when the user says log this session, write a session log, record this, or when a substantial piece of work has just finished and needs to be handed off to a future session.

tderoussel/ship-gate

Verification gate for a Next.js-on-Vercel + Supabase + GitHub Actions stack, to run before claiming anything is shipped, deployed, live, merged, passing, or done. Use before saying a change is in production, before merging a PR, before reporting CI green, and before writing any status into a document — even if the user does not ask for verification. Trigger phrases include "is it live", "did it deploy", "ship it", "merge it", "is CI green", "confirm prod", "did that work". Encodes traps where the obvious check returns a false pass.

tderoussel/vault-doctor

Audits and repairs an Obsidian vault's structural health — broken [[wikilinks]], ambiguous duplicate filenames, missing or malformed frontmatter, stale status markers, and hub notes whose state sections have gone cold. Use when the user asks about vault health, broken links, vault cleanup, dead links, orphan notes, tag consistency, or says the vault feels messy or out of date. Trigger phrases include "vault health", "broken links", "clean up the vault", "audit the vault", "is the vault current". Read-only by default; every repair is proposed before it is made.

相關技能