lark-contact
🎯SkillHelps your AI assistant find people in Feishu/Lark, a workplace messaging app, by name or email, and search for bots by keyword. It can also show a person's department, email, status or profile signature.
Installation
npx skills add larksuite/cli --skill lark-contactRun it in a terminal; it asks which AI coding tools to install it for (Claude Code, Codex, Cursor and more).
Uses skills.sh · Node.js 22.20+
After installing
Ask for related work and the agent uses it on its own, or call it yourself.
/lark-contactInstall by hand
Copy the whole skill folder from GitHub to the place below. Copying only SKILL.md can leave out files the skill uses.
Open the skill folder →- This project
.claude/skills/lark-contact/ - All projects
~/.claude/skills/lark-contact/
These paths are for Claude Code. For other tools, the command above puts it in the right place.
What this skill does
Overview
lark-contact is a skill that looks up people and bots in Feishu/Lark with lark-cli contact. Every person and bot has an open_id, an internal ID that other Lark tools need, so the skill turns a name into that ID before you send a message or set up a meeting. Department trees and org charts are not covered.
Key Features
- Find a colleague by name or email and get their open_id with
+search-user. - Look up a person's profile from an open_id with
+get-user, or check your own profile. - Search the bots and AI agents you can see by keyword with
+search-bot, including several keywords at once. - Get colleagues' personal status and profile signatures in one request with
user_profiles batch_query. - See a list of matches when a search finds several people before a message or meeting, so you can pick the right one.
Who is this for?
It is for Feishu/Lark users who ask their AI assistant to message someone or book a meeting by name. It also helps when you have an open_id and want to know who it belongs to.
Summarized by AI from this skill's SKILL.md. Suggest a better one
SKILL.md
View on GitHub →飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
选哪个命令
user 身份和 bot 身份是两条完全独立的路径。先确定当前身份,再按下表选命令:
| 想做什么 | user 身份 | bot 身份 |
|---|---|---|
| 按姓名 / 邮箱搜员工拿 open_id | +search-user | 不支持 |
| 按关键词搜索当前用户可见的机器人 / 智能体 | +search-bot | 不支持 |
| 已知 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。
名字没说清是人还是机器人 / 智能体
用户给的名字常常不表明类型。例如「和 reviewDuck 约个会」里的 reviewDuck 可能是同事昵称,也可能是机器人。
- 名字含 bot / agent / AI / 助手 / 机器人 / 智能体 / assistant 等明显特征时,反过来先搜机器人更快
- 不确定的话两边都搜一下
典型场景
找张三给他发消息:先搜,确认 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
搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
搜索机器人 / 智能体
+search-bot 使用 user 身份按关键词搜索当前用户可见的机器人,返回 ou_ 开头的机器人 open_id。参数细节等见 lark-contact-search-bot.md。
lark-cli contact +search-bot --query '会议助手' --as user
lark-cli contact +search-bot --queries '会议助手,日报助手,审批助手' --as user
注意事项
- 41050 / Permission denied 受当前身份的可见范围限制(三条命令都可能遇到)。细节见
lark-shared。 - 跨租户用户(
is_cross_tenant=true)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。 - ID 类型:
+get-user可通过--user-id-type使用open_id、union_id或user_id;+search-user使用用户 open_id;+search-bot不支持按 ID 查询,它按关键词搜索并返回机器人 open_id。
不在本 skill 范围
- 发消息 / 查聊天记录 →
lark-im - 排日程 / 邀请会议 →
lark-calendar - 部门树 / 按部门列员工 / 组织架构 →
lark-openapi-explorer查找原生接口
More from this repository10
Lets Claude read, search, organize and write your Feishu (Lark) email from the command line. New messages are saved as drafts first, and nothing is sent until you approve it.
This skill lets your AI agent listen for live events in Lark (Feishu), a work chat app, such as new messages, approvals, task updates and meetings. The agent can then react to each event as it arrives.
This skill lets your AI use features of Feishu/Lark, a workplace chat and office app, that lark-cli has no command for yet. It looks them up in the official docs step by step and then calls them with `lark-cli api`.
Helps you write your own skills for lark-cli, the command-line tool for Feishu (Lark). A skill is a SKILL.md file that teaches your AI a Feishu task, from one action to a multi-step process.
Lets your AI agent create, read and edit presentations in Lark (Feishu) Slides. It plans each deck first and checks every slide's layout before saving it.
A skill that helps your AI agent build, publish and run apps on Miaoda (Spark), the app building and hosting service in Feishu/Lark. It also manages app data, logs, settings, team access and automatic tasks.
Part of the official Lark/Feishu CLI, providing 200+ commands and 26 AI agent skills across 18 business domains including Messenger, Docs, Sheets, Calendar, and Mail. Designed for both humans and AI agents with agent-friendly structured output.
The official Lark/Feishu CLI tool providing 200+ commands and 26 AI agent skills across core business domains including Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, and Meetings.
Part of the official Lark/Feishu CLI tool with 200+ commands and 26 AI agent skills across 18 business domains including Calendar, Messenger, Docs, Sheets, Base, Tasks, and Mail, featuring agent-native design and structured output.
The official Lark/Feishu CLI tool with 200+ commands and 26 AI agent skills covering Messenger, Docs, Base, Sheets, Calendar, Mail, Tasks, Meetings, and more. Designed for both humans and AI agents.