
Lark Contact
- 493k installs
- open.feishu.cn
lark-contact is a Claude skill that resolves Feishu/Lark people between names, emails and open_ids and looks up their directory details via lark-cli.
About
lark-contact is a Claude skill that resolves Feishu/Lark directory identities via lark-cli. It turns a name or email into an open_id, or looks up a name, department, email, contact details, personal status or signature from an open_id. Developers use it before sending a message or scheduling an event for a named person. It does not traverse department trees or produce org charts.
- Resolve a name or email into a Feishu/Lark open_id
- Reverse-lookup name, department, email and contact details from an open_id
- Feeds open_ids to lark-im and lark-calendar before messaging or scheduling
Lark Contact by the numbers
- 493,106 all-time installs (skills.sh)
- +41,484 installs in the week ending Jul 29, 2026 (Skillselion tracking)
- Ranked #5 of 3,284 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Jul 29, 2026 (Skillselion catalog sync)
lark-contact capabilities & compatibility
Free skill; requires a Lark/Feishu app and authorization via lark-cli auth login.
- Capabilities
- identity resolution · directory lookup · user search · profile lookup
- Runs
- Runs locally
- Pricing
- Free
What lark-contact says it does
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。
**跨租户用户**(`is_cross_tenant=true`)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。
npx skills add https://github.com/open.feishu.cn --skill lark-contactAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 493k |
|---|---|
| Repository | open.feishu.cn ↗ |
What it does
Resolve a Feishu/Lark person's name or email into an open_id, or look up their details from an open_id.
Who is it for?
Getting the open_id or profile details of a named Lark user before messaging or scheduling.
Skip if: Department-tree traversal, listing employees by department, or org charts (use native OpenAPI).
When should I use this skill?
The user names a person to message or schedule for, or hands over an open_id to look up.
Files
contact (v2)
CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理
选哪个命令
user 身份和 bot 身份是两条完全独立的路径。先确定当前身份,再按下表选命令:
| 想做什么 | user 身份 | bot 身份 |
|---|---|---|
| 按姓名 / 邮箱搜员工拿 open_id | `+search-user` | 不支持 |
| 已知 open_id 取他人资料 | +search-user --user-ids <id> | `+get-user --user-id <id>` |
| 查看自己 | +get-user 或 +search-user --user-ids me | 不支持 |
| 查同事的个人状态 / 签名 | user_profiles batch_query | 不支持 |
已知 open_id 只是想发消息 / 排日程,不必经过 contact —— 直接 `lark-im` / `lark-calendar`。
典型场景
找张三给他发消息:先搜,确认 open_id,再发:
lark-cli contact +search-user --query "张三" --has-chatted --as user
lark-cli im +messages-send --user-id ou_xxx --text "Hi!"批量查同事的个人状态 / 个性签名(先用 schema 看参数)。
lark-cli schema contact.user_profiles.batch_query
lark-cli contact user_profiles batch_query \
--params '{"user_id_type":"open_id"}' \
--data '{"user_ids":["ou_xxx","ou_yyy"],"query_option":{"include_personal_status":true,"include_description":true}}' \
--as user搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
注意事项
- 41050 / Permission denied 受当前身份的可见范围限制(两条命令都可能遇到)。换 bot 身份或让管理员调整可见范围,细节见 `lark-shared`。
- 跨租户用户(
is_cross_tenant=true)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。 - ID 类型:默认
open_id。+get-user可改--user-id-type union_id|user_id;+search-user只接受open_id。
不在本 skill 范围
- 发消息 / 查聊天记录 → `lark-im`
- 排日程 / 邀请会议 → `lark-calendar`
- 部门树 / 按部门列员工 / 组织架构 → `lark-openapi-explorer` 查找原生接口