Help us improve
Share bugs, ideas, or general feedback.
From email
/cs:inbox-triage — Recurring email triage execution. Reads 7-file KB built by /cs:inbox-setup. Classifies recent emails, drafts replies (NEVER SENDS), delivers report, updates KB. Run 1-3x/day or on demand. Halts with clear message if KB missing.
npx claudepluginhub alexbramall/claude-code-skills --plugin email-pairHow this command is triggered — by the user, by Claude, or both
Slash command
/email:cs-inbox-triageThe summary Claude sees in its command listing — used to decide when to auto-load this command
# /cs:inbox-triage — Recurring Email Triage **Command:** `/cs:inbox-triage` The `cs-inbox-triage` persona processes your inbox using the knowledge base built by `/cs:inbox-setup`. Designed for recurring runs (1-3x/day) with light intake — most invocations skip questions and run with KB-default preferences. ## When to Run - **Recurring cadence** — 1-3 times daily, per your `email-taxonomy.md` run frequency - **On-demand** — outside cadence (after a long break, before a meeting, etc.) - **Pre-triage scan** — quick check of overdue tracker items only **Do NOT run if** the KB doesn't exist...
Share bugs, ideas, or general feedback.
Command: /cs:inbox-triage
The cs-inbox-triage persona processes your inbox using the knowledge base built by /cs:inbox-setup. Designed for recurring runs (1-3x/day) with light intake — most invocations skip questions and run with KB-default preferences.
email-taxonomy.md run frequencyDo NOT run if the KB doesn't exist yet — the skill will halt and direct you to /cs:inbox-setup first.
This skill creates drafts. It NEVER sends.
This is the safety property that makes the skill safe to run automatically. The draft_safety_validator.py enforces it post-run. Any send-shaped tool call in the action log fails validation.
If you want the skill to send for you: don't. Review the drafts in your email client and send them yourself. This is by design.
Most runs skip both questions entirely.
| Q | Asked when | Default if skipped |
|---|---|---|
| Q1 — Override default 9h window? | On-demand run outside normal cadence | use cadence default |
| Q2 — Skip categories this run? | User invocation includes skip-intent ("skip newsletters") | run all categories |
After reading the KB:
evaluation-framework.md if exists; categorize TAKE IT / WORTH CONSIDERING / PASS / FLAG FOR REVIEWemail-patterns.md. NEVER SEND.email-taxonomy.md report preferences (email / file / chat)blocklist.md; update tracker.md with new/resolved follow-upstriage-log/<YYYY-MM-DD>-<run-label>.md# 1. Pre-flight — read + validate KB (fail-fast if missing)
python ../skills/inbox-triage/scripts/kb_reader.py --workspace ${WORKSPACE}
# 2. Compute search window
python ../skills/inbox-triage/scripts/search_window_calculator.py \
--cadence 2x-daily --now $(date -u +%Y-%m-%dT%H:%M)
# 3. Execute Steps 2-10 (described in SKILL.md). For each step, log to:
# ${WORKSPACE}/Email/triage-log/<date>-<label>.md
# 4. Post-flight — verify NEVER-SEND held
python ../skills/inbox-triage/scripts/draft_safety_validator.py \
--action-log ${WORKSPACE}/Email/triage-log/$(date +%Y-%m-%d)-*.md
# Failure here is critical — halt + alert user immediately
/cs:inbox-setup| Category | When | Output |
|---|---|---|
| TAKE IT | Meets criteria from evaluation-framework.md | Recommend engaging; draft reply |
| WORTH CONSIDERING | Has potential, needs user judgment | Surface key context; draft reply for user to edit |
| PASS | Doesn't meet criteria | Brief "why"; draft polite decline |
| FLAG FOR REVIEW | Unusual; needs direct user decision | Surface fully; NO draft (user decides response shape) |
/cs:inbox-setup — must run firstcs-inbox-triageinbox-triagemegaprompts/07-inbox-triage-megaprompt.mdVersion: 1.0.0
Source: Path-B direct conversion of megaprompts/07-inbox-triage-megaprompt.md