lark-im

Send messages and manage group chats in Feishu/Lark via lark-cli.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? It lets an AI agent operate Feishu/Lark instant messaging end to end — sending and replying to messages, searching chat history, managing group chats and members, downloading message attachments, and handling interactive card callbacks — without manually calling the Lark OpenAPI. ## Core Features & Use Cases - Messaging: Send, reply, forward, recall, and search messages across chats and threads, with automatic sender-name resolution, reaction enrichment, and optional resource download (including chunked large-file downloads). - Chat Management: Create group or topic chats, list and search chats, manage members, managers, moderation, nicknames, pins, bookmarks (flags), feed shortcuts, and feed groups (tags). - Interactive Cards: Send interactive cards and consume card.action.trigger callback events to update cards in place based on user interactions. - Use Case: A user asks the agent to find the "release team" group, read the last 50 messages, download any attached files, and post a summary card with buttons that update when clicked. ## Quick Start Ask the agent to send a message to a Feishu group by name, for example: "Send 'standup starts in 5 minutes' to the Daily Sync group on Feishu."

Frequently Asked Questions about lark-im

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

FAQPage Schema
How do I send a message to a Feishu group chat from the command line?

Use the lark-cli im +messages-send shortcut with --chat-id and a text, markdown, post, or media payload. If you only know the group name, resolve its chat_id first with lark-cli im +chat-search --query "<name>".

How do I search Feishu chat history by keyword?

Use lark-cli im +messages-search with a keyword plus optional sender, chat, and time-range filters; it runs under user identity and supports auto-pagination. To list messages in one known chat, use +chat-messages-list with --chat-id instead.

Should I use user identity or bot identity for Feishu IM operations?

It depends on the operation: message search, flags, feed shortcuts, and feed groups are user-only, while urgent notifications and image uploads are bot-only. Most chat and message operations support both, but permissions are checked against the calling identity's membership and role.

Can I download files and images from Feishu messages?

Yes. Use +messages-resources-download for a single resource, which supports automatic 8MB chunked downloads for large files, or pass --download-resources to message-listing commands to fetch all eligible resources into ./lark-im-resources/. Stickers are not downloadable.

Why does creating a group with a bot fail when inviting users?

Bot identity fails with error 232043 when target users are mutually invisible to the bot. The documented workaround is a two-step flow: create the group with the bot including only the current user, then add other members via chat.members create under user identity.

How do I handle Feishu interactive card button callbacks?

Run lark-cli event consume card.action.trigger as bot to stream interaction events, then build a complete updated card JSON from the event's card_content and call the delayed-update API with the event token. The token is valid for 30 minutes and at most 2 uses.