← ClaudeAtlas

reply-debtlisted

Find the mail still waiting on a reply by dropping threads already answered, bots and newsletters, keeping messages that ask something, and ranking them by how long the person has waited. Use when asked what needs a reply, who is waiting, what fell through in the inbox, or to produce a daily follow-up brief.
getedgehq/skills · ★ 3 · AI & Automation · score 71
Install: claude install-skill getedgehq/skills
# Reply Debt ## What it does Reads recent inbound mail, removes everything that is not a person waiting on you, and ranks what is left by wait time. The output is a short list: who, about what, how long they have waited. No language model reads the mail. Every include and exclude is a substring rule in the config, so a wrong answer is a rule you can find and change. ## Prerequisites — read this before you start **This skill is not credential-free.** It needs access to a mailbox: | backend | needs | notes | | --- | --- | --- | | `gmail-api` | `GMAIL_ACCESS_TOKEN` in the environment | OAuth access token, `gmail.readonly` scope. Add `gmail.send` only if the user wants `--send`. | | `composio` | `COMPOSIO_API_KEY` in the environment, plus `--connection-id` | For a Composio-managed Gmail connection. The connection id is an identifier, not a secret. | | `fixture` | nothing | A local JSON file of messages. No network. | Read the token from the environment only. Never pass it as a command-line argument, never write it into a config file, never echo it. If no mailbox is connected, use `--backend fixture` and say plainly that the mailbox part is unverified. Do not describe a fixture run as a run against real mail. ## How the filtering works 1. Fetch `in:inbox newer_than:{days}d from:me` and remember those thread ids. Anything you already replied to in the window is not debt. 2. Fetch `in:inbox newer_than:{days}d -from:me`. 3. Drop a message when the sender matches `skip_se