ops-inbox

GitHub

自动化处理多源通讯收件箱,并行读取并验证上下文,生成回复草稿并经审批后发送,实现收件箱清零。

claude-ops/skills/ops-inbox/SKILL.md Lifecycle-Innovations-Limited/claude-ops

Trigger Scenarios

用户要求检查收件箱 用户要求收件箱清零

Install

npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-inbox -g -y
More Options

Non-standard path

npx skills add https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-inbox -g -y

Use without installing

npx skills use Lifecycle-Innovations-Limited/claude-ops@ops-inbox

指定 Agent (Claude Code)

npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-inbox -a claude-code -g -y

安装 repo 全部 skill

npx skills add Lifecycle-Innovations-Limited/claude-ops --all -g -y

预览 repo 内 skill

npx skills add Lifecycle-Innovations-Limited/claude-ops --list

SKILL.md

Frontmatter
{
    "name": "ops-inbox",
    "effort": "high",
    "maxTurns": 60,
    "description": "OPS on-demand: This skill should be used when the user asks to \"check inbox\", \"inbox zero\"…",
    "allowed-tools": [
        "Bash",
        "Read",
        "Grep",
        "Glob",
        "Skill",
        "Agent",
        "AskUserQuestion",
        "TeamCreate",
        "SendMessage",
        "TaskCreate",
        "TaskUpdate",
        "TaskList",
        "CronList",
        "mcp__gog__gmail_search",
        "mcp__gog__gmail_read_thread",
        "mcp__gog__gmail_labels",
        "mcp__claude_ai_Slack__slack_search_public_and_private",
        "mcp__claude_ai_Slack__slack_read_channel",
        "mcp__claude_ai_Slack__slack_list_channels",
        "mcp__claude_ai_Slack__channels_list",
        "mcp__claude_ai_Notion__notion-search",
        "mcp__claude_ai_Notion__notion-fetch",
        "mcp__claude_ai_Notion__notion-query-data-sources",
        "mcp__claude_ai_Notion__notion-get-comments",
        "mcp__claude_ai_Notion__notion-create-comment",
        "mcp__claude_ai_Notion__notion-update-page",
        "mcp__claude_ai_Notion__notion-create-pages",
        "mcp__whatsapp__list_chats",
        "mcp__whatsapp__list_messages",
        "mcp__whatsapp__search_contacts",
        "mcp__whatsapp__get_chat",
        "mcp__whatsapp__get_message_context",
        "mcp__whatsapp__archive_chat",
        "mcp__whatsapp__resync_app_state",
        "mcp__plugin_imessage_imessage__chat_messages"
    ],
    "argument-hint": "[channel: whatsapp|imessage|email|slack|telegram|discord|notion|all]"
}

OPS ► INBOX

Load ops-rules before acting. Public repo: no personal data. Run in the parent session: readers return evidence; the parent owns draft presentation and sends.

AUTO-START DRAFTING: validate per reply

Always report to the main agent by default. Never set context: fork for this skill: the parent owns the visible queue. Do not wait for "continue drafting". The invocation starts the selected channels (default: all configured channels). No continuation menu, channel picker, or second "start drafting" prompt.

  1. Check existing ownership and reusable evidence before launching readers. Enumerate accounts/workspaces once; record each source's actual read status.
  2. Use an existing fresh report or the authorized read-only scan path. The bundled scanner is a candidate pre-filter, not proof that a request is unanswered. Do not run a second overlapping whole-inbox sweep. See references/runtime.md.
  3. Run independent read-only source/thread readers in parallel, within the executing machine's concurrency limit. Keep the quickest useful candidate in the parent; do not leave the parent waiting for an aggregate report.
  4. Validate full person/topic context per candidate, including sent history on every configured account. See references/details.md. A KEEP row alone is not a ready draft. Missing load-bearing context stays unknown.
  5. Surface the first validated draft immediately. Do not wait for unrelated sources or the rest of the inbox. Recheck its live thread before showing it. Every later ready candidate joins the parent's queue as evidence arrives.
  6. One draft → one explicit approval → one send. Use the installed approved outbound gate; email, WhatsApp and Slack go only through the host's approved outbound gate. Populate its real session/thread/recipient metadata on the first call. Go is not approval. No self-created approval proof or alternate send route.
  7. After sent=false, show the gate-returned full draft and end that presentation turn. Only the next native user event can advance its decision and the next draft. A transport hold may retain separately approved records for later gate-only drain; never show another draft in the same wait turn. Different threads/intents stay separate; unsupported queue states are not ready.
  8. In the interactive authorized phase, complete answered/resolved items by verifying then archiving Gmail and every owned WhatsApp JID on its account. No extra menu for the expressly authorized completed set; protect open tasks, labels and unknown media. Mark-read is separate. Cron scans remain read-only.

Readers never send, archive, mark-read, modify integrations, or ask the owner questions. They send evidence packets to the parent as soon as ready; an idle worker without a report is not completion. See references/fan-out.md.

Coverage is not unread state

  • Email: every mailbox, including sent history, All Mail and discovered action/follow-up labels. Inbox, read/unread, archived, categories and drafts are not evidence that an ask was handled.
  • WhatsApp: every connected WhatsApp account, labelled separately. Connected but agent-disabled accounts stay explicit not-checked gaps; do not enable or access them. Derive coverage from complete discovery, not a fixed count. Prove phone/JID/LID identity before merging aliases; reconcile incoming and outgoing across authorized accounts. A generic MCP name does not prove coverage.
  • Slack: every Slack workspace, scoped human DMs/group DMs (im,mpim), allowed public_channel and private_channel history, mentions and replies. Read-state is not the filter; inspect thread replies, not just channel tails.
  • Other configured sources: allowlisted iMessage/SMS, user-auth Telegram, scoped Discord, Notion comments/tasks, contact memory and open commitments.
  • Dates/availability: every configured calendar plus the show/travel source of truth for the candidate's relevant dates. Never infer timezone from a number.

Paginate and disclose the lookback and retention limits. Record not checked, partial, failed, or not configured explicitly; unknown is never a clean zero. Older known open asks stay in the queue even outside the scan window.

What the owner sees

One compact context block: who, the two-sentence thread arc, the actual latest ask, why this answer helps, and any source gap. Then the gate shows the exact recipient/account/thread, reply-all recipients, subject, full body and attachments. The gate's latest delivered full-draft proof binds approval to those bytes.

After a native, proven yes to that shown draft, send when the gate permits without a second approval menu. A typed yes followed by a refused/cancelled physical gate is not approval. On failure keep the intent and exact diagnostic owned. Continue independent read-only research, but advance another presentation only after the next native user event. Never claim "sent" from a preview or pending-proof record.

Finish honestly

Recheck source changes since each reader's cutoff before claiming complete. Account for queued, shown, approved, sent, skipped, unresolved and unknown items. Inbox zero is always the goal: all configured sources have completed dispositions, no unhandled obligations, and authorized resolved items are verified archived. Unknown coverage, pending proof or archive failure means NOT zero, regardless of unread count. A real approval wait is not completion; preserve the queue for the next user event. Status heartbeats follow the host's cadence, contain actual results, and stop at a final result or real wait.

References (load only the relevant one)

  • references/details.md — per-candidate context, preflight, approval and verification
  • references/runtime.md — ownership, account discovery, freshness and source gaps
  • references/fan-out.md — progressive read-only workers and evidence packet
  • references/cli.md — supported read paths and authorized archive verification
  • vip, relations — priority, verified contact identity and open commitments

Version History

  • 6ac2237 Current 2026-10-18 17:53

    整合本地维护、发布安全及收件箱修复;强化发布合同、合并审查缺口及渐进式上下文证明契约。

  • 1b44d97 2026-09-27 12:06

    将插件通用化,移除操作员名称、个人配置及客户端默认值,修复测试夹具主题,防止敏感信息泄露。

  • 057e72d 2026-09-22 01:17

    修复了在父会话中自动启动草稿起草的问题,移除了导致父会话空闲的fork机制;默认启用30秒心跳以维持会话连接。

  • 7ea9622 2026-09-08 19:37

    修复因归档标志不随新消息更新导致的漏报问题;引入每聊天水印机制,确保仅重新打开有新回复的已归档对话,提高扫描准确性。

  • 9d2d383 2026-09-02 21:48

    修正多账号场景下的服务器名称解析规则,明确区分普通账号与 CoS 别名;修复日程确认前需查询所有日历和邮箱的逻辑缺陷;新增关系管理与 VIP 技能配置支持。

  • 6f1e3e0 2026-08-27 09:31

    优化专家发现上下文加载性能,修复文件系统竞态条件及索引缺失时的错误处理,恢复市场发布标识并修正路由配置。

  • 5751870 2026-08-19 11:48

    优化运行流程:首次遍历即收集上下文,按紧急度生成草稿卡片;新增[代我处理]选项以委派子代理工作;修复WhatsApp多账号路由问题。

  • 206d40d 2026-08-16 15:49

    整合出站发送网关为共享守卫,解决多账户匹配及脚本绕过问题,增加计数审批支持。

  • 64bad13 2026-08-12 09:00

Same Skill Collection

claude-ops/skills/boss/SKILL.md
claude-ops/skills/flow/SKILL.md
claude-ops/skills/humanizer/SKILL.md
claude-ops/skills/ledger/SKILL.md
claude-ops/skills/ops-accounts/SKILL.md
claude-ops/skills/ops-ar/SKILL.md
claude-ops/skills/ops-aws-audit/SKILL.md
claude-ops/skills/ops-comms/SKILL.md
claude-ops/skills/ops-competitors/SKILL.md
claude-ops/skills/ops-credentials/SKILL.md
claude-ops/skills/ops-daemon/SKILL.md
claude-ops/skills/ops-dash/SKILL.md
claude-ops/skills/ops-deploy-fix/SKILL.md
claude-ops/skills/ops-deploy/SKILL.md
claude-ops/skills/ops-desk/SKILL.md
claude-ops/skills/ops-desktop/SKILL.md
claude-ops/skills/ops-doctor/SKILL.md
claude-ops/skills/ops-ecom/SKILL.md
claude-ops/skills/ops-feature-dev/SKILL.md
claude-ops/skills/ops-fires/SKILL.md
claude-ops/skills/ops-fleet/SKILL.md
claude-ops/skills/ops-go/SKILL.md
claude-ops/skills/ops-gtm/SKILL.md
claude-ops/skills/ops-home/SKILL.md
claude-ops/skills/ops-humanizer/SKILL.md
claude-ops/skills/ops-integrate/SKILL.md
claude-ops/skills/ops-leadgen/SKILL.md
claude-ops/skills/ops-linear/SKILL.md
claude-ops/skills/ops-mac/SKILL.md
claude-ops/skills/ops-marketing/SKILL.md
claude-ops/skills/ops-mcp/SKILL.md
claude-ops/skills/ops-merge/SKILL.md
claude-ops/skills/ops-monitor/SKILL.md
claude-ops/skills/ops-next/SKILL.md
claude-ops/skills/ops-orchestrate/SKILL.md
claude-ops/skills/ops-package/SKILL.md
claude-ops/skills/ops-pocket/SKILL.md
claude-ops/skills/ops-projects/SKILL.md
claude-ops/skills/ops-recap/SKILL.md
claude-ops/skills/ops-release/SKILL.md
claude-ops/skills/ops-research-audit/SKILL.md
claude-ops/skills/ops-research/SKILL.md
claude-ops/skills/ops-resume/SKILL.md
claude-ops/skills/ops-revenue/SKILL.md
claude-ops/skills/ops-rotate-setup/SKILL.md
claude-ops/skills/ops-rotate/SKILL.md
claude-ops/skills/ops-rules/SKILL.md
claude-ops/skills/ops-secret-sync/SKILL.md
claude-ops/skills/ops-settings/SKILL.md

Metadata

Files
0
Version
6ac2237
Hash
333bf19d
Indexed
2026-08-12 09:00

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-19 13:38
浙ICP备14020137号-1