lark-im

Send, search, and manage Feishu messages, group chats, and interactive cards via lark-cli.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/dulltackle/kangkang-skills --skill lark-im-dulltackle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lark-im
Source: https://github.com/dulltackle/kangkang-skills/tree/main/lark-im
Command: npx skills add https://github.com/dulltackle/kangkang-skills --skill lark-im-dulltackle

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? It lets an AI agent operate Feishu (Lark) instant messaging end to end through the lark-cli command line: sending and replying to messages, searching chats and message history, managing group members, and handling interactive card callbacks without manually calling raw OpenAPI endpoints. ## Core Features & Use Cases - Messaging: Send, reply, edit, forward, recall, and search messages across group and P2P chats, with automatic sender-name resolution, reaction enrichment, and optional attachment download. - Group management: Create group or topic chats, list and search chats, manage members, managers, moderation, join requests, nicknames, pins, and per-user mute settings. - Cards and feed organization: Build and update interactive cards, listen to card.action.trigger callbacks, manage message flags, feed shortcuts, and feed groups (tags). - Use Case: Ask the agent to find the "daily report" group, read today's messages, and post a summary card with a button whose clicks are handled automatically. ## Quick Start Ask the agent to send a message like "Send 'Meeting at 3pm' to the project group on Feishu" and it will resolve the chat and deliver the message using lark-cli.

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, first run lark-cli im +chat-search --query to resolve the chat_id, then send the message.

How do I search Feishu chat history or find a group by name?

Use lark-cli im +chat-search --query to find groups by keyword, member, or pinyin, and lark-cli im +messages-search to search message content with sender and time filters. The plain +chat-list command is not a search API and should not be used as a fallback.

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

It depends on the operation: --as user uses user_access_token and is required for p2p listing, flags, feed shortcuts, and feed groups, while --as bot uses tenant_access_token and is required for urgent messages and merge_forward. Many APIs support both, but permissions and visibility differ per identity.

Can I download images and files from Feishu messages?

Yes. Pass --download-resources to +chat-messages-list, +messages-mget, or +threads-messages-list to save attachments into ./lark-im-resources/, or use +messages-resources-download for a single image or file. 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. Use the two-step flow: create the group with the bot including only the current user, then add other members with user identity via chat.members create.

How do I handle interactive card button clicks in Feishu?

Listen with lark-cli event consume card.action.trigger as bot after enabling callback configuration in the developer console. Each event carries a token valid 30 minutes for up to 2 delayed card updates via the interactive card update API.