wecomcli-calendar
企业微信日程管理。当用户需要预约日程、预订会议室、查看/更新/取消日程或查忙闲时触发。本技能负责『日程』——即不含在线会议链接的安排(也涵盖纯线下面对面碰头);若用户要的是『在线会议』(含会议号/入会链接、可远程或视频参会),改用 wecomcli-meeting…
查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。
$ npx -y skills add wecomteam/wecom-cli --skill wecomcli-message --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wecomcli-messageContext preview
The summary Claude sees to decide when to auto-load this skill.
查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。
name: wecomcli-message
description: 查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。
metadata:
requires:
bins: ["wecom-cli"]> 执行任何 `wecom-cli` 命令前,必须先读取并完成 `wecomcli-shared` 技能的公共前置检查。
1. 可以向授权人发送消息。 2. 可以向授权人以外的、机器人最近有消息往来的聊天会话(单聊和群聊)发送消息。
调用依赖技能前,必须先完整读取对应 `SKILL.md`。
| 依赖技能 | 触发场景 | 数据流向 | |---|---|---| | `wecomcli-media` | 发送图片、文件、语音或视频时只有本地文件路径,没有可直接复用的 `media_id` | 包含媒体上传接口,如没有已有的 `media_id`,必须先阅读该技能获取 `media_id`,上传时传入的 `type` 应和发送时的`msg_type` 对齐|
wecom-cli message aibot sessions list
| 字段 | 类型 | 说明 | |---|---|---| | `sessions` | array | 会话列表,按最后一条消息时间从新到旧排序,具体数量以实际回包为准 | | `sessions[].chat_id` | string | 会话 ID | | `sessions[].chat_name` | string | 群名称或单聊名称 | | `sessions[].chat_type` | string | `single` 单聊或 `group` 群聊 | | `sessions[].last_msg_time` | string | 最后一条消息时间,格式 `YYYY-MM-DD HH:MM:SS` | | `sessions_count` | integer | `sessions` 数组元素数量 |
向授权人以外的用户发送消息,调用 `wecom-cli message aibot send` 前,需要先调用一次 `sessions list`,然后从本次返回的 `sessions[]` 中选定目标项,把该项的 `chat_id` 原样复制到 `send.chat_id`。
以下值都不能直接作为 `send.chat_id`:
这些值最多只能作为匹配线索;最终发送参数必须重新取自本次 `sessions list` 的匹配项。
匹配结果处理:
调用本接口前必须完成以下步骤:
1. 根据发送对象选择调用 `wecom-cli message aibot sessions list`获取 `chat_id` 或 `wecom-cli identity whoami` 获取授权人ID。 2. 在本次列表中唯一匹配目标。 3. 如果发送授权人以外的对象,从列表中匹配项原样复制 `sessions[].chat_id`。 4. 目标是媒体消息时,再准备对应的 `media_id`。
在目标会话匹配成功前,不上传媒体,也不调用 `send`。
wecom-cli message aibot send --json '<JSON 参数>'
| 字段 | 类型 | 必填 | 说明 | |---|---|:---:|---| | `chat_id` | string | 是 | 必须取自 `wecom-cli identity whoami` 或当前发送流程中刚调用的 `sessions list` 返回的目标 `sessions[].chat_id` | | `msg_type` | string | 是 | `markdown` / `image` / `file` / `voice` / `video` | | `markdown` | object | 条件必填 | 仅 `msg_type="markdown"` 时传 | | `image` | object | 条件必填 | 仅 `msg_type="image"` 时传 | | `file` | object | 条件必填 | 仅 `msg_type="file"` 时传 | | `voice` | object | 条件必填 | 仅 `msg_type="voice"` 时传 | | `video` | object | 条件必填 | 仅 `msg_type="video"` 时传 |
每次请求必须且只能携带一个与 `msg_type` 同名的内容对象。不要传空对象,也不要同时传多个消息对象。
`markdown.content` 必填,最长 20480 UTF-8 字节。普通文本也按 Markdown 发送。
wecom-cli message aibot send --json '{
"chat_id": "<本次 sessions[].chat_id>",
"msg_type": "markdown",
"markdown": {
"content": "<markdown 消息内容>"
}
}'`image.media_id` 必填,必须由媒体上传接口以 `type=image` 上传获得。
wecom-cli message aibot send --json '{
"chat_id": "<本次 sessions[].chat_id>",
"msg_type": "image",
"image": {
"media_id": "<media_id>"
}
}'`file.media_id` 必填,必须由媒体上传接口以 `type=file` 上传获得;文件名取上传时的原始文件名。
wecom-cli message aibot send --json '{
"chat_id": "<本次 sessions[].chat_id>",
"msg_type": "file",
"file": {
"media_id": "<media_id>"
}
}'`voice.media_id` 必填,必须由媒体上传接口以 `type=voice` 上传获得;源文件仅支持 AMR 格式,不能只改扩展名冒充 AMR。
wecom-cli message aibot send --json '{
"chat_id": "<本次 sessions[].chat_id>",
"msg_type": "voice",
"voice": {
"media_id": "<media_id>"
}
}'| 字段 | 必填 | 说明 | |---|:---:|---| | `video.media_id` | 是 | 由媒体上传接口以 `type=video` 上传获得 | | `video.title` | 否 | 最长 128 UTF-8 字节;省略时使用上传时的原始文件名 | | `video.description` | 否 | 最长 512 UTF-8 字节;省略时不展示描述 |
wecom-cli message aibot send --json '{
"chat_id": "<本次 sessions[].chat_id>",
"msg_type": "video",
"video": {
"media_id": "<media_id>",
"title": "产品演示",
"description": "本周版本的核心功能演示"
}
}'用户没有提供视频标题或描述时直接省略对应字段,不传空字符串,也不追问非必填字段。
💬 扫码加入企业微信交流群: 企业微信命令行工具,覆盖消息、邮件、文档、待办、日程、会议、微盘、通讯录等业务功能。支持机器人主动通知、新建与读取文档、文档搜索、新建与管理日程、预约与获取会议信息、新建与跟进待办、上传与获取微盘文件、发送与获取邮件、获取通讯录成员信息,以提升企业办公效率
Repo: wecomteam/wecom-cli
企业微信日程管理。当用户需要预约日程、预订会议室、查看/更新/取消日程或查忙闲时触发。本技能负责『日程』——即不含在线会议链接的安排(也涵盖纯线下面对面碰头);若用户要的是『在线会议』(含会议号/入会链接、可远程或视频参会),改用 wecomcli-meeting…
使用 wecom-cli 按姓名、拼音、英文名或别名搜索企业微信通讯录中的人员,并查询匹配人员的 userid、部门和职务。适用于查找联系人、区分同名人员、获取用户 userid,以及列出全部同名人员。
企业微信微盘(Disk / 网盘)文件操作技能。承接"微盘 / 网盘"里的文件列出、搜索、读取元信息、上传、下载、重命名、新建文件夹操作。用户明确提到"微盘"/"网盘"/"共享空间"时必须先读取本技能获取完整指引,不得凭记忆处理。用户说"上传到微盘"、"帮我在微盘里搜一下 xxx"、"微盘那个 PPT…
企业微信文档公共管理:搜索文档(最近浏览/创建)、文档改名、添加文档成员权限、设置文档加入规则。适用于所有文档类型(doc文档 / 在线表格 / 智能表格 / 智能文档)。新建或导入doc文档请使用 wecomcli-doc;新建或导入在线表格请使用 wecomcli-sheet;智能表格内容 CRUD 请使用…
企业微信在线 doc 文档技能。能够新建 doc、导入本地 .doc/.docx/.txt 为 doc、读取 doc 内容、向 doc 追加或覆盖写入。仅当用户明确出现「doc」「docx」「word」「在线文档」「office 文档」等强类型词,或提供…
企业微信邮件:发送/回复/转发邮件、搜索邮件列表、获取邮件详情(正文、附件、内嵌图片解析),支持通过邮件发送日程邀约和会议预定。当用户涉及内部邮件收发、邮件查询、邮件管理等需求时使用。注意:日程和会议有单独的技能,仅当用户明确提到"邮箱"或"邮件"时(如"通过邮箱发送会议邀请"、"发封会议邮件"),才使用本技能处理会议…