mono
管理钉钉产品能力(Agoal目标管理/AI表格/AI搜问/日历/通讯录/群聊与机器人/待办/审批/法务智能合同/考勤/日志/DING消息/开放平台文档/钉钉文档/钉钉云盘/原生Markdo…
钉钉邮箱读写、搜索、回复与转发。Use when 用户说发邮件/查邮件/回邮件/转发邮件/未读邮件/邮件搜索/邮箱附件。一句话发邮件时先用 dingtalk-contact 解析并确认收件人,再由本 skill 发送;不做钉钉消息(走 dingtalk-chat)、紧急通知(走 dingtalk-misc)。命令前缀:dws mail。
$ npx -y skills add dingtalk-real-ai/dingtalk-workspace-cli --skill dingtalk-mail --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dingtalk-mailContext preview
The summary Claude sees to decide when to auto-load this skill.
钉钉邮箱读写、搜索、回复与转发。Use when 用户说发邮件/查邮件/回邮件/转发邮件/未读邮件/邮件搜索/邮箱附件。一句话发邮件时先用 dingtalk-contact 解析并确认收件人,再由本 skill 发送;不做钉钉消息(走 dingtalk-chat)、紧急通知(走 dingtalk-misc)。命令前缀:dws mail。
name: dingtalk-mail
description: 钉钉邮箱读写、搜索、回复与转发。Use when 用户说发邮件/查邮件/回邮件/转发邮件/未读邮件/邮件搜索/邮箱附件。一句话发邮件时先用 dingtalk-contact 解析并确认收件人,再由本 skill 发送;不做钉钉消息(走 dingtalk-chat)、紧急通知(走 dingtalk-misc)。命令前缀:dws mail。
metadata:
cli_version: ">=0.2.14"
category: product
requires:
bins:
- dws> **CRITICAL — 执行任何 `dws` 操作前,MUST 先用 Read 工具完整读取 [`dingtalk-shared`](../dingtalk-shared/SKILL.md)。**该轻量文件包含全局执行契约、安全底线及 shared references 的按需加载导航;不要预加载其全部 references。
> 命令参考:[mail.md](references/mail.md)。复杂搜索、附件、批量处理、草稿等多步邮件场景参考:[09-mail.md](references/09-mail.md)。
<!-- VISIBLE_SHORTCUTS_START -->
以下 shortcut 同时进入公开 catalog 与 Runtime Schema。按本 skill/recipe 路由,命中时 Shortcut 优先于原子命令。参数只查 `dws schema --cli-path "mail +<shortcut>" --compact --jq '{cli_path,parameters,constraints,confirmation}' -f json`;仅需且已发布 `result` 时查 `--jq '{cli_path,outcomes:.result.outcomes,pagination}'`,字段级再查 `data_schema`;缺失不以 Help/样例推断。Schema 不可用才读一次已知 leaf Help;`unknown flag` 用同 leaf Help 修正一次。`unknown command` 禁 Help:错误 suggestion → 已加载 Skill/reference 明确入口;均无则报漂移。禁全 Catalog/root/parent/product Help;仅映射、接口或 provenance 审计省略 `--compact`。现有路由和 reference 均无法定位低频能力时,才用 `dws shortcut list --service mail --format json` 发现。
| Shortcut | 风险 | 适用场景 | |---|---|---| | `dws mail +find-mail-user` | read | 按关键词搜索邮箱联系人并投影列表(姓名/昵称/邮箱/工号等) | | `dws mail +folder-list` | read | 列出顶层文件夹或指定父文件夹下的子文件夹 | | `dws mail +message` | read | 读取一封邮件的完整正文与附件元数据 | | `dws mail +messages` | read | 按请求顺序读取多封邮件并逐封验证身份 | | `dws mail +search-mail` | read | 按 KQL 关键词搜索邮件并投影列表(主题/发件人/时间/messageId) | | `dws mail +thread` | read | 读取完整邮件会话并精确验证 conversationId | | `dws mail +triage` | read | 列出或筛选邮件摘要,自动解析邮箱与收件箱 | | `dws mail +user-search` | read | 按关键词或工号搜索邮箱用户(仅企业邮箱) | <!-- VISIBLE_SHORTCUTS_END -->
| 用户说 | 命令 | |--------|------| | "发邮件给 a@b.com" | `dws mail mailbox list --format json` → `dws mail message send --from <邮箱> --to a@b.com --subject "<标题>" --content "<正文>" --format json` | | "回复 / 全部回复 / 转发" | `dws mail message reply` / `reply-all` / `forward` | | "今天未读邮件" | `python scripts/mail_unread_summary.py` | | "带抄送发送" | `python scripts/mail_send_with_cc.py --to a@b.com --cc c@d.com --subject "<标题>" --body "<正文>"` |
> 命中以下意图**必须**按对应 SOP 顺序执行;**禁止**跳步、替换命令、编造 email/messageId。每条命令必须带 `--format json`。收件邮箱**必须**真实解析,**禁止**猜测。
**触发**:我的邮箱/发件需要邮箱/查邮件需要邮箱。
1. **执行(必须)**:`dws mail mailbox list --format json`,取自己的 `email`(默认选企业邮箱 `type:ORG`);查**他人**邮箱用 `dws mail user search --keyword "<姓名>" --format json`,**禁止**用 `mailbox list` 查他人。
**禁止**:把 `mailbox list` 当作他人邮箱查询、猜测邮箱地址。
**触发**:查邮件/搜邮件/某主题邮件/某人发的邮件。
1. **拿邮箱(必须)**:先按 SOP-1 取 `email`;用户已明确提供可跳过。 2. **执行(必须)**:浏览文件夹 `dws mail message list --email <邮箱> --limit <n> --format json`;KQL 搜索 `dws mail message search --email <邮箱> --query "<KQL>" --limit 20 --format json`(KQL 如 `subject:周报`、`from:alice@x.com`、`folderId:2`、`hasAttachments:true`,**只通过 `--query` 传**)。 3. **取正文(必须)**:`dws mail message get --email <邮箱> --id <messageId> --format json`;`messageId` 从列表/搜索结果取,**禁止**编造。
**禁止**:把 KQL 拆成多个 flag、跳过 `message list/search` 直接猜 messageId。
**触发**:发邮件/写邮件/群发。
1. **发件邮箱(必须)**:`dws mail mailbox list` 取自己邮箱。 2. **收件邮箱(必须)**:地址直接用;姓名按 [mail.md](references/mail.md) "查找他人邮箱地址"流程(`mail user search` 等)获取,**禁止**猜测。 3. **执行(必须)**:`dws mail message send --from <发件邮箱> --to <收件邮箱> --subject "<主题>" --content "<正文>" --format json`;按需 `--cc`/`--attachment`/`--inline-attachment`。 4. **验证(必须)**:从发送返回取真实 `internetMessageId`,执行 `dws mail message verify --email <发件邮箱> --internet-message-id <internetMessageId> --format json` 查发送状态;不要把普通 `messageId` 传给 verify。
**禁止**:猜测收件邮箱、发送后不确认状态就答复"已发送"。
**触发**:回复邮件/回复全部/转发。
1. **拿邮箱 + 原邮件(必须)**:SOP-1 取邮箱;用户未给 `messageId` 时**必须**先走 SOP-2 定位原邮件 `messageId`。 2. **执行(必须)**:回复 `dws mail message reply --from <邮箱> --id <messageId> --content "<正文>" --format json`;回复全部用 `reply-all`;转发 `dws mail message forward --from <邮箱> --to <收件邮箱> --id <messageId> --content "<附言>" --format json`。
**禁止**:未定位原邮件就回复/转发、编造 messageId。
DingTalk Workspace is an officially open-sourced cross-platform CLI tool from DingTalk. It unifies DingTalk’s full suite of product capabilities into a single package, is designed for both human users and AI agent scenarios.
Repo: dingtalk-real-ai/dingtalk-workspace-cli
管理钉钉产品能力(Agoal目标管理/AI表格/AI搜问/日历/通讯录/群聊与机器人/待办/审批/法务智能合同/考勤/日志/DING消息/开放平台文档/钉钉文档/钉钉云盘/原生Markdo…
Create, edit, and validate DingTalk AI Card (A2UI) JSON files offline. Use for cards built…
AI搜问:人员语义搜索、跨源主题检索与行为回溯。Use when 语义找人,或目标未知时按主题或行为发现内容。原生最近列表走所属产品;完整手机号精确反查走…
钉钉 AI 表格(多维表)业务操作。Use when 用户需要操作 AI 表格/多维表/Base/Table、应用模式/App…
钉钉日历与会议室。Use when 用户说 约会议/查日程/订会议室/查闲忙/加参会人/改期/取消会议/今天的日程/本周日程/共同空闲。不做视频会议发起/邀请入会/会中控制(走…
钉钉群聊与消息。Use when 收发/搜索消息、建群、群治理、Bot/Webhook、文件,或仅限 IM 的消息谓词筛选。跨源主题/行为轨迹走…