원클릭으로
Search, read, triage, and organize email via Maildir and notmuch
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Search, read, triage, and organize email via Maildir and notmuch
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Run the self-improvement pipeline to analyze usage, plan, and apply Claude Code configuration improvements
Create, schedule, and manage autonomous AI-agent tasks with systemd timers
Create and manipulate Obsidian Canvas (.canvas) files using the JSON Canvas spec
Create a git commit with proper conventional commit message
Code generation, exploration, and image analysis via Codex CLI
Query Gemini CLI for quick lookups, deep research, and approach comparison
| name | |
| description | Search, read, triage, and organize email via Maildir and notmuch |
| user_invocable | true |
| argument_hint | [inbox [account]|search <query>|read <id|query>|triage [account]|sync] |
Interactive and agentic email workflows backed by notmuch search/tag and Maildir access.
~/Mail/<account>/ — one directory per account, synced by mbsyncmbsync -a && notmuch new~/.notmuch/Constraint: notmuch flag sync is disabled. Tags applied in notmuch do NOT propagate back to IMAP. This is by design — tags are local metadata.
Accounts are discovered at runtime — do not hardcode them.
ls ~/Mail/ # List accounts
ls ~/Mail/<account>/ # List folders for an account
notmuch search --output=tags '*' # Discover tag vocabulary (including emma's tags)
Each folder contains cur/, new/, tmp/ subdirectories. Filename flags: :2,S (seen), :2,R (replied), :2,F (flagged).
/email inbox [account]Review unread inbox. Always delegate to subagent (batch email reads).
Workflow:
mbsync -a && notmuch newnotmuch count tag:unread AND folder:<account>/INBOX for each discovered account[account]):
notmuch show --format=json tag:unread AND folder:<account>/INBOX
Subagent prompt should request a synthesized summary (1,000–2,000 tokens), not raw message relay.
/email search <query>Search email with notmuch. Runs directly (notmuch output is compact).
notmuch search <query> # Thread summaries
notmuch search --format=json <query> # JSON for parsing
notmuch count <query> # Count matches
For natural language queries, translate to notmuch syntax (see Query Reference below). Show results directly in compact format. If result count exceeds ~30, show count first and ask the user to narrow down.
/email read <id|query>Read a specific message or thread.
notmuch show --format=json id:<message-id> # Single message
notmuch show --format=json thread:<thread-id> # Full thread
Extract from JSON: .[0][0][0].headers for headers, .[0][0][0].body[0].content for body.
/email triage [account]Analyze unread mail, classify, tag, and summarize. Always delegate to subagent.
Workflow:
notmuch search --output=tags '*'notmuch show --format=json tag:unread (filtered by account if specified)notmuch tag +<category> +priority-<level> -- id:<msg-id>
/email syncForce mail sync. Runs directly.
mbsync -a && notmuch new
Report sync result (new message count from notmuch output).
/email (no args)Show brief help listing subcommands with one-line descriptions, then ask the user what they want to do.
from:user@example.com to:me@example.com
subject:invoice body:"keyword"
tag:inbox tag:unread
folder:account/INBOX path:**/INBOX/**
date:today date:2026-01..
date:yesterday date:2026-01-01..2026-01-31
Operators: AND (default), OR, NOT, parentheses for grouping.
notmuch tag +important -- id:<message-id>
notmuch tag +archived -inbox -- <query>
notmuch tag -unread -- tag:spam
| Subcommand | Delegation | Reason |
|---|---|---|
inbox | Always subagent | Batch email reads fill context |
triage | Always subagent | Reads + classifies many messages |
search | Direct | notmuch output is compact |
read | Direct if ≤3 msgs, subagent if >3 | Thread length determines context cost |
sync | Direct | Single command |
Subagent config: subagent_type: general-purpose. Target return: 1,000–2,000 tokens, synthesized not relayed.
Email workflows can be scheduled via /schedule for autonomous execution. Example patterns:
/email inbox, summarizes to a file or desktop notificationnotmuch count tag:unread AND tag:priority-urgent, sends desktop notification if >0/email triage to keep classifications current between emma runsThe email skill provides the capability; the schedule skill provides the execution framework.
~/.notmuch/ and do not affect IMAP statenotmuch search --output=tags '*' first to respect emma's existing tag vocabulary