一键导入
email-monitor
Auto-monitor Gmail: classify new mail by importance, Discord-alert important ones, archive, draft concise replies, track tasks, daily summary.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Auto-monitor Gmail: classify new mail by importance, Discord-alert important ones, archive, draft concise replies, track tasks, daily summary.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | email-monitor |
| description | Auto-monitor Gmail: classify new mail by importance, Discord-alert important ones, archive, draft concise replies, track tasks, daily summary. |
Governing principle (full text in
PHILOSOPHY.md): reuse, never rebuild; and a reply is never auto-sent. Three substrates already exist on this machine (IMAP read/write toolchain, the schedule-reminder task pool, the Discord relay). email-monitor only adds the new seam: an incremental watch, a classify/draft orchestrator, and archive/summary hooks. It never builds a second store, scheduler, or notifier, and it never sends mail for you.
gmail-imap-label.py
tool directly. Generic reminders unrelated to mail -> schedule-reminder. Sending mail -> the user,
in Gmail, by hand (this skill only drafts).create_draft) only; the user clicks Send.reminder.py <verb> --json via subprocess; never
read its .db, build SQL, or import internals. ext keys are namespaced x_email_monitor_*.SEARCH SINCE.
Read-only BODY.PEEK (no \Seen), anchor INBOX, dedupe on X-GM-MSGID.~/.secrets), never on argv / in logs / in git.Daize Dong. Enforced by em_draft_lint.py, not by vibes.EmailMonitorTick); IDLE is an
optional accelerant only, always backed by the reconciliation heartbeat.| # | Step | Load | Code |
|---|---|---|---|
| 1 | Incremental watch + classify each new mail | reference/monitor-and-classify.md | em_watch.py, em_classify.py |
| 2 | Alert important + archive noise | reference/monitor-and-classify.md | em_alert.py, gmail-imap-label.py |
| 3 | Track the affair in the task pool | reference/memory-pool.md | em_pool.py, em_duenorm.py |
| 4 | Draft a reply (review-only) | reference/drafting.md | em_draft_lint.py, Gmail create_draft |
| 5 | Daily summary + deploy the heartbeat | reference/summary-and-deploy.md | em_summary.py, em_tick.py |
A full unattended cycle is em_tick.py --config <registry.json> (the OS task runs exactly this).
Manual one-shot: run the same with --dry to see what it would do without alerting/archiving.
Account topology, classification rules, the VIP/kill lists, draft templates, and the controlled
project vocabulary are all externalized to a private email-monitor-config repo (Mode B: secrets
gitignored, app passwords in DPAPI). The skill is the method; the config is the signal. See
reference/summary-and-deploy.md for the registry schema.
This SKILL.md is the only always-loaded file. Read one reference/<shard>.md at a time, for the step
you are executing. Never load the whole reference/ directory at once.