Skip to main content
ClaudeWave
Skill1.6k repo starsupdated 2d ago

wecomcli-shared

何时用:任何 wecomcli-* 技能准备执行 wecom-cli 命令前必须同时读取本技能(公共前置检查),本技能不处理具体业务请求。检查 CLI 已安装且版本 ≥1.1.0、企微凭证已授权(缺失时按品悟代管口径引导,勿自行 npm 安装);获取机器人/授权真人身份(identity whoami);定义通用的 ID 类字段禁止外露输出约束。

Install in Claude Code
Copy
git clone --depth 1 https://github.com/Pinvou/pinvou-agent /tmp/wecomcli-shared && cp -r /tmp/wecomcli-shared/pinvou3-app/src-tauri/resources/common/bundle/wecom-skills/wecomcli-shared ~/.claude/skills/wecomcli-shared
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# wecom-cli 公共前置检查

本技能提供所有 `wecomcli-*` 业务技能共用的 CLI 安装、版本与授权检查,以及通用输出约束。**每次准备执行任意 `wecom-cli` 命令前,先完成本技能;检查通过后,再回到对应业务技能执行。**

> 本技能不能代替具体业务技能。处理联系人、文档、表格、日程、会议、待办、邮件、微盘、消息或媒体请求时,必须同时读取对应业务技能。

## Step 1:检查 CLI 安装与版本

```bash
wecom-cli --version
```

- 命令成功,且输出中的版本号不低于 `1.1.0` → 继续 Step 2。
- 命令不存在、执行报错或版本号低于 `1.1.0` → **不要自行安装或升级**:`wecom-cli` 由品悟应用代为安装与管理,随应用更新自动就位。此时提示用户在品悟「工具商店 → 企业微信」卡片重新点「连接」,由品悟触发安装/升级;完成后重新执行 `wecom-cli --version` 复查。

仍失败或版本仍低于 `1.1.0` 时停止业务操作,并把错误告知用户。

## Step 2:检查授权状态

```bash
wecom-cli auth show --status
```

- 输出 `authorized` → 前置检查完成,可以执行具体业务命令。
- 输出 `unauthorized` → 执行 Step 3。
- 命令报错或输出不是上述状态 → 停止业务操作,并把错误告知用户,不要猜测授权状态。

## Step 3:初始化凭证(仅未授权时)

```bash
wecom-cli auth init
```

该命令会展示授权链接和二维码,并等待用户使用企业微信扫码。授权成功后命令自动退出,仅需初始化一次。

初始化完成后重新执行:

```bash
wecom-cli auth show --status
```

仅当输出 `authorized` 时,才能继续执行具体业务命令。

## 通用输出约束:ID 类字段禁止外露

本约束对所有 `wecomcli-*` 技能生效,优先级高于各业务技能的输出格式,且不因用户主动索要而放宽。

- **禁止**:你的最终回复禁止出现 `userid` / `open_vid` / `department_id` / `chat_id` 等 ID 标识。凡是接口返回的内部标识(含 `mail_id` / `media_id` / `file_id` / `space_id` / `folder_id` / `docid` / `content_id` / `msg_id` / `cursor` / `next_cursor` 等,命名上以 `_id` 结尾或语义上属于机器标识的字段一律视为 ID)都只能在内部流转,用于后续接口调用。
- **必须**:你的思考过程和最终回复必须使用可读名称,如 `name` / `username` / `external_username` / 部门名 / 邮箱 / `subject` / `doc_name` / `chat_name` / `title` 等 `tool_result` 返回的内容。
- 接口只返回 ID 而没有可读名称时,先调用对应技能(如 `wecomcli-contact` 解析人员)换取可读名称;确实无法换取时,用自然语言描述该对象(如「上一封日报邮件」「你刚上传的那个文件」)来指代,禁止退化为展示 ID。
- 需要用户在多个候选中选择时,用序号 + 可读信息(名称 / 主题 / 时间 / 路径等)构造候选列表,禁止用 ID 作为区分依据让用户辨认。
- 用户直接要求「把 ID 给我」「打印 mail_id」时,说明该标识属于内部字段不便提供,并改用可读信息或继续帮其完成实际操作。
- 可读链接(如文档 `doc_url`、微盘分享链接)不属于本约束限制范围,可按各业务技能规定正常展示,即使链接本身包含标识字符串。

## 执行规则

- 已安装、版本达标且已授权时,不重复安装或初始化。
- 安装、升级、初始化或复查失败时,不执行后续业务命令。
- 本技能不定义任何联系人、文档、表格、日程、会议、待办、邮件、微盘、消息或媒体接口参数;具体命令必须回到对应业务技能读取。
- 执行任何业务命令并组织回复时,同时遵守上方「通用输出约束:ID 类字段禁止外露」。

## 获取个人身份

如果操作流程必须获取机器人或授权人身份(姓名、userid等),需要调用 `wecom-cli identity whoami` 获取。
visual-designSkill

直出好看的网页/落地页/banner/海报/产品介绍页/数据报告/简历/作品集等视觉物料——套一套设计系统,模型自由写自包含 HTML,颜值由规则锁死、不靠模板。用户说"做个网页/页面/落地页/banner/海报/报告页/作品集/简历"或"把这份内容做成网页版"时使用。⚠️ 不含信息检索:查天气/查行情/查股价/查数据请走对应连接器,不是本技能。

dwsSkill

【何时用:仅当用户明确指向钉钉/DingTalk(钉钉文档、钉钉日程等)时使用;泛指做文档/表格/待办/审批默认走本地工具,不要误用钉钉】用 dws CLI 管理钉钉:AI表格/AI搜问(找人首选)/目标管理(Agoal)/组织大脑/日历/通讯录/群聊与机器人消息/待办/审批/考勤/日志(日报周报)/DING消息/钉钉文档/云盘/Markdown文件/AI听记/邮箱/在线电子表格(axls)/知识库/白板/开放平台文档/个人IM与OA事件订阅。用户要求操作上述钉钉产品时使用。

lark-baseSkill

【何时用:仅当用户明确指向飞书/Lark(发到飞书、飞书文档等)时使用;泛指做个文档或PPT或表格或方案默认走本地工具,不要误用飞书】飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限;遇到 Base/多维表格/bitable、BaseApp/AppMode 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入转 lark-drive,认证/授权转 lark-shared。

lark-calendarSkill

【何时用:仅当用户明确指向飞书/Lark(发到飞书、飞书文档等)时使用;泛指做个文档或PPT或表格或方案默认走本地工具,不要误用飞书】飞书日历:管理日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。不负责:查询视频会议记录(本 skill 只覆盖日程;lark-vc 技能未随包收录,可 CLI 直连,见意图路由)、待办任务(走 lark-task)。

lark-docSkill

【何时用:仅当用户明确指向飞书/Lark(发到飞书、飞书文档等)时使用;泛指做个文档或PPT或表格或方案默认走本地工具,不要误用飞书】飞书云文档(Docx/Wiki)与思维笔记内容操作:读取、创建、编辑文档,插入或下载图片附件,查询或回滚历史版本。用户给出文档 URL/token(含 doubao.com 的 /docx/、/wiki/)时使用,按 URL 路径/token 而非域名路由;内嵌表格、多维表格、画板先提取 token 再切对应 skill。文档评论走 lark-drive;表格或 Base 内部数据操作不在本 skill。

lark-driveSkill

【何时用:仅当用户明确指向飞书/Lark(发到飞书、飞书文档等)时使用;泛指做个文档或PPT或表格或方案默认走本地工具,不要误用飞书】飞书云空间:管理 Drive 文件/文件夹,上传下载、复制移动删除、评论、权限、密级标签、版本、改标题,导入 Word/Markdown/Excel/CSV/PPTX/.base 为在线文档;doubao.com 云空间 URL 同走本 skill,不回退 WebFetch。不负责:文档内容编辑(lark-doc)、表格/Base 表内数据(lark-sheets/lark-base)、知识库节点(lark-wiki)。

lark-imSkill

【何时用:仅当用户明确指向飞书/Lark(发到飞书、飞书文档等)时使用;泛指做个文档或PPT或表格或方案默认走本地工具,不要误用飞书】飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)与卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索或创建群聊/话题群、管理标记数据、Feed 置顶与标签数据、处理卡片回调时使用。

lark-sharedSkill

【何时用:仅在其他 lark-* 技能遇到认证/授权/身份/配置问题时,或首次使用 lark-cli 时;泛指需求默认走本地工具】lark-cli 共享规则:首次配置(config init)、认证登录(auth login --domain/--scope,split-flow)、登录态查询与撤销(auth status/logout/whoami)、--as user/bot 身份切换、权限不足与 missing_scope 处理、JSON 输出契约与 _notice、update 更新、高风险操作审批(exit 10)。