wecomcli-contact

wecomcli-contact is a skill for Claude Code, Codex from Pinvou/pinvou-agent. It costs 92 tokens per session (1,004 once invoked), scanned A, a copy of wecomcli-contact, MIT.

A contact-search tool for 企业微信 (WeCom), a workplace messaging and collaboration platform. It finds people in the company directory by Chinese name, pinyin, English name, or alias and returns their user ID, department, and management role.

In plain words
What is it for?
Use it to find a WeCom colleague, distinguish people with the same name, retrieve a user ID, or list every matching person.
Why use it?
It helps avoid messaging the wrong person when names are duplicated or when you only know an alternate spelling. It also provides the unique user ID needed for later WeCom actions.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to find a WeCom colleague, distinguish people with the same name, retrieve a user ID, or list every matching person.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pinvou/pinvou-agent/wecomcli-contact
About the project

Pinvou/pinvou-agent is an open-source desktop workspace where an AI agent helps with work, visual design, and software development. People use it to work with files and knowledge, create editable visual artifacts, connect coding agents to projects, and extend the workspace with tools, MCP servers, skills, and workflows; the catalogue skills add capabilities to that environment.

Pinvou/pinvou-agent · 2,764 stars · on GitHub · pinvou.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Pinvou/pinvou-agent --skill wecomcli-contact
Clone the repo
git clone --depth 1 https://github.com/Pinvou/pinvou-agent

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for wecomcli-contact

README.md
[![agentmods](https://agentmods.dev/badge/skills/pinvou/pinvou-agent/wecomcli-contact/github.svg)](https://agentmods.dev/skills/pinvou/pinvou-agent/wecomcli-contact)
Your own site
<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/wecomcli-contact"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/wecomcli-contact/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for wecomcli-contact

Your own site · 80×15
<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/wecomcli-contact"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/wecomcli-contact.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,004 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 92% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00092 $0.01004
Opus 5.5 $0.00037 $0.00402
Sonnet 5.5 $0.00018 $0.00201
Haiku 4.5 $0.00009 $0.00100

Measured 22d ago against content hash ac2caa182f3a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

wecomcli-contact scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

92% identical to wecomcli-contact — 6 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

pinvou3-app/src-tauri/resources/common/bundle/wecom-skills/wecomcli-contact/SKILL.md · 59 lines

What it actually says

企业微信联系人搜索

执行任何 wecom-cli 命令前,必须先读取并完成 wecomcli-shared 技能的公共前置检查。

使用 wecom-cli 按关键词搜索企业微信通讯录中的人员。

接口

按关键词批量模糊搜索人员,一次最多 10 个关键词,返回命中 users 数组(姓名 / 英文名 / 职务 / 部门)。关键词可匹配的字段包括:姓名(用户名)、姓名拼音、英文名、别名,而不仅限于中文名和别名。

命令

wecom-cli contact users search --json '<JSON 参数>'

参数

字段 类型 必填 默认值 语义
keywords string[] 是 — 搜索关键词列表,可按姓名(用户名)/ 拼音 / 英文名 / 别名匹配,最多 10 个;多个关键词之间是 OR 关系
search_mode string 否 — 搜索模式,默认不传该参数;仅当需要命中列表(清点 / 穷举意图)时,才显式传 "list"
  • 默认(不传 search_mode):返回最相关的候选结果,用于常规按名 / 拼音等查单个人的场景,绝大多数场景走此分支。
  • 传 search_mode = "list":列表模式,返回命中结果列表而不只取最相关前几条,仅当用户明确要清点 / 穷举时才传,典型话术如"一共有几个张三 / 所有叫李四的人 / 列出全部同名 / 全部同名人员"等;此时不受"前 5 位"展示上限约束。列表可能因服务端限制未完整返回,以返回的 hint 字段为准:hint 给出限制说明时,必须向用户如实说明结果可能不全,不得把返回条数当作准确总数。

返回

字段 类型 说明
users array 命中的用户列表
users[].userid string 用户唯一标识
users[].name string 中文姓名
users[].alias string 英文名 / 别名(可能为空)
users[].email string 邮箱(可能为空)
users[].position string 管理职务(如"负责人"),不是"职位"(可能为空)
users[].matched_keywords string[] 本条 user 命中的请求关键词
users[].departments string[] 所在部门路径列表(从大到小),主部门靠前
hint string 结果限制提示(可能为空):当某个关键词的命中结果因限制未完整返回时,接口会在此字段给出说明
users_count integer users 数组元素数量

使用规则

  • 歧义展示上限:同一关键词下候选超过 5 位时,只展示前 5 位(附姓名 / 英文名 / 职务等区分信息),告知用户"若目标不在其中可要求『查看更多』",仅在用户明确要求时再展开下一批;
  • 展示顺序:必须严格按照接口返回 users 数组的原始顺序展示,不得自行随机排序、重排或打乱次序。
  • 结果限制提示:当返回中 hint 字段非空时,必须在回复中告知用户"当前返回内容有限,仅返回了部分结果",并可结合 hint 内容说明受限原因。

缺少参数

必填参数缺失(未提供搜索关键词)且上下文无法推断时,用简洁自然语言向用户追问缺失信息,不得猜测默认值。

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 22d ago Changed · -4 tokens per session ac2caa182f3a
  2. 2mo ago First seen · 59 lines · 96 tokens per session scan A 3beb9228b109

Subscribe to this mod's changes

wecomcli-contact is a skill published in the GitHub repository Pinvou/pinvou-agent (2,764 stars, last pushed yesterday), licensed MIT. It adds 92 tokens to every session and 1,004 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to wecomcli-contact, differing in 6 lines, and is treated as a copy.