Skip to content
AI & Agents
Command

/cs-inbox-triage

/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.

From plugin
claude-skills
30k169 skills127 agents169 commands2 MCP
$ npx -y skills add alirezarezvani/claude-skills --agent claude-code

Command definition

cs-inbox-triage.md
disable-model-invocation: true
name: "cs-inbox-triage"
description: "/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."

/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 yet — the skill will halt and direct you to `/cs-inbox-setup` first.

DRAFTS ONLY — Non-Negotiable

> **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.

Light Intake (Max 2 Optional Questions)

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 |

What Happens (10 Steps)

After reading the KB:

1. **Determine search window** — cadence + now → window_start (default 9h for 2x/day; overlap prevents missed emails) 2. **Search email provider** — primary (inbox + sent after window_start) + secondary (starred unread) 3. **Classify** — apply taxonomy; skip lowest-priority threads (newsletters/automation) without reading 4. **Research new senders** — web search for opportunity senders not in tracker/blocklist 5. **Generate recommendations** — apply `evaluation-framework.md` if exists; categorize TAKE IT / WORTH CONSIDERING / PASS / FLAG FOR REVIEW 6. **Draft replies** — match voice from `email-patterns.md`. NEVER SEND. 7. **Deliver report** — honor `email-taxonomy.md` report preferences (email / file / chat) 8. **Update KB** — append new declines to `blocklist.md`; update `tracker.md` with new/resolved follow-ups 9. **Internal log** — write `triage-log/<YYYY-MM-DD>-<run-label>.md` 10. **Empty inbox handling** — still produces minimal report; flags overdue tracker items

Trigger Phrases (auto-invoke without /cs:)

  • "triage my inbox"
  • "inbox triage"
  • "check my email"
  • "run email triage"
  • "process my inbox"
  • "what's new in my email"
  • "handle my email"
  • "email triage"

Workflow

# 1. Pre-flight — read + validate KB (fail-fast if missing)
python ${CLAUDE_PLUGIN_ROOT}/skills/inbox-triage/scripts/kb_reader.py --workspace ${WORKSPACE}

# 2. Compute search window
python ${CLAUDE_PLUGIN_ROOT}/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 ${CLAUDE_PLUGIN_ROOT}/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

Stop Conditions

  • All 10 steps complete → report delivered + KB updated + log written
  • KB files missing → halt; direct to `/cs-inbox-setup`
  • Email tool unavailable → halt; tell user which tool is needed
  • 100+ new emails → flag volume; offer to focus on priority categories only
  • User says "stop" → produce partial report from what's been processed; flag the rest

Critical Rules

1. **DRAFTS ONLY — NEVER SEND.** Non-negotiable. 2. **Fail-fast on missing KB.** Halt cleanly; direct to setup. 3. **Honor the KB.** Documented preferences are source of truth; don't override with judgment. 4. **Privacy.** No credentials in KB; reference threads by ID for sensitive content. 5. **Transparency.** Note every KB change in the triage log. 6. **First runs need oversight.** Documented — system learns from your edits and overrides.

Triage Decision Categories

| 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) |

Anti-Patterns Rejected

  • **Sending emails** — drafts only, non-negotiable
  • Operating without knowledge base files
  • Storing passwords / credentials in KB
  • Skipping the learning loop (KB updates) at end of run
  • Overriding user's documented preferences with own judgment
  • Reading lowest-priority threads (waste of context)
  • Including draft text previews in report (drafts are already in email client)
  • Provider lock-in without adapter pattern
  • Silently failing on missing tools

Related

  • Companion: [`/cs-inbox-setup`](./cs-inbox-setup.md) — must run first
  • Agent: [`cs-inbox-triage`](../agents/cs-inbox-triage.md)
  • Skill: [`inbox-triage`](../skills/inbox-triage/SKILL.md)
  • Source spec: `megaprompts/07-inbox-triage-megaprompt.md` (maintainer-local draft spec — gitignored, not in the public repo)

---

**Version:** 1.0.0 **Source:** Path-B direct conversion of `megaprompts/07-inbox-triage-megaprompt.md`

Read more
@alirezarezvani
Ships withclaude-skills

411 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and publish the results.

30k200 skills127 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
29.6k
Star history of alirezarezvani/claude-skills on GitHub, a chart by star-history.com

Other commands on claude-skills.

focused-fix

focused-fix

Command

Deep-dive feature repair — systematically fix an entire feature/module across all its files and dependencies. Usage: /focused-fix…

plugin-audit

plugin-audit

Command

Comprehensive audit pipeline for skills, plugins, agents, and commands. Validates structure, quality, security, marketplace…

More commands from other plugins.

devbox-entrypoint

devbox-entrypoint

Command

Context: runloop resumes a devbox by re-running the same entrypoint script, which invokes `cn serve --id <agentId> ...`. Because…

@continuedev@continuedevInstall Command
c

c

Command

Shortcut for "continue working" — pick the work in flight back up exactly where it stopped and keep going until it is done or…

lifeos2w20k
@danielmiessler@danielmiesslerInstall Command
sidecar

sidecar

Command

Spawn a read-only sidecar subagent to investigate something in this checkout without editing files, moving branches, or touching…

@builderio@builderioInstall Command