lark-contact

Resolves Feishu/Lark contacts between names, emails, and open_ids via lark-cli.

3|2|Updated Jul 21, 2026
One-click install
npx skills add https://github.com/zlsbksdxl/codex-lark --skill lark-contact-zlsbksdxl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lark-contact
Source: https://github.com/zlsbksdxl/codex-lark/tree/main/plugins/feishu2codex/skills/lark-contact
Command: npx skills add https://github.com/zlsbksdxl/codex-lark --skill lark-contact-zlsbksdxl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires lark-cli, and includes references (resource) components.

What problem does it solve? When working in Feishu/Lark, you often know a colleague's name or email but need their open_id to send messages or schedule meetings, or you have an open_id and need to look up the person's profile. This Skill bridges that gap using the official lark-cli contact commands. ## Core Features & Use Cases - People Search: Find employees by name, email, or phone keyword and obtain their open_id, with filters for chat history, enterprise email, tenant boundary, and employment status. - Profile Lookup: Retrieve name, department, email, activation status, personal status, and signature for known open_ids, with distinct user-identity and bot-identity command paths. - Batch Fanout Queries: Search up to 20 names in parallel with per-query error reporting, and batch-validate up to 100 open_ids at once. - Use Case: To message a colleague named 张三, first run a contact search to confirm the correct open_id among same-name candidates, then hand that open_id to the messaging skill. ## Quick Start Ask the assistant to find the open_id of a Feishu colleague by name so you can send them a message.

Frequently Asked Questions about lark-contact

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find a Feishu user's open_id by name?

Run lark-cli contact +search-user with the --query flag and the person's name as a user identity. If multiple same-name results appear, present the candidates and let the user choose before any follow-up action like messaging.

How to look up a Lark user profile from an open_id?

As a user identity, use lark-cli contact +search-user --user-ids <id>, which returns richer fields like department and email. As a bot identity, use lark-cli contact +get-user --user-id <id>, which requires the --user-id flag.

Can I search multiple Feishu contacts in one command?

Yes, use --queries with a comma-separated list of up to 20 keywords for parallel fanout search. Each result carries a matched_query field, and partial failures do not affect other queries.

Why does contact search return a permission denied error?

Error 41050 means the current identity's visibility scope does not cover the target user. Switch to bot identity or ask an administrator to adjust the visibility scope configured for the app.

Why are profile fields empty for some Lark users?

Cross-tenant users (is_cross_tenant=true) return empty strings for most business fields due to Feishu visibility rules. Downstream logic should apply null-value fallbacks for these fields.

What tasks are outside the scope of contact search?

Sending messages and reading chat history belong to the IM skill, scheduling belongs to the calendar skill, and department tree traversal or org-chart queries require native OpenAPI endpoints rather than the contact commands.