lark-im

Send messages and manage group chats through the Feishu OpenAPI via lark-cli.

2|Updated Aug 9, 2026
One-click install
npx skills add https://github.com/DeepJH/doubao-skill-and-info --skill lark-im-deepjh
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lark-im
Source: https://github.com/DeepJH/doubao-skill-and-info/tree/main/skills/lark-im
Command: npx skills add https://github.com/DeepJH/doubao-skill-and-info --skill lark-im-deepjh

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 on your behalf: sending and replying to messages, searching chat history, managing group members, downloading message attachments, and handling interactive card callbacks without manually calling the OpenAPI. ## Core Features & Use Cases - Messaging & Search: Send text, markdown, post, media, and interactive card messages; reply in threads; search messages and chats with keyword, sender, and time filters. - Chat & Member Management: Create group or topic chats, list members, update names and descriptions, manage pins, reactions, bookmarks, feed shortcuts, and feed groups. - Resources & Cards: Upload images, download message files with automatic chunked download for large files, and listen for card.action.trigger callbacks to update interactive cards. - Use Case: Ask the agent to find the 'daily report' group, read today's messages, download the attached spreadsheet, and reply with a summary card whose buttons trigger follow-up actions. ## Quick Start Use the lark-im skill to send a markdown message saying 'Meeting moved to 3pm' to the group chat named 'Project Discussion'.

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 content flag such as --text or --markdown. If you only know the group name, first run lark-cli im +chat-search --query to resolve the chat_id, then send to it.

How to search Feishu chat history by keyword or sender?

Use lark-cli im +messages-search with filters for keyword, sender, chat, attachment, and time range, plus --page-all for auto-pagination. Results are enriched with sender names and chat details automatically.

Can I download files and images from Feishu messages?

Yes. Use lark-cli im +messages-resources-download for a single resource, or add --download-resources to message listing commands to batch-download images, files, audio, and video into ./lark-im-resources/. Large files download automatically in 8MB chunks; stickers are not downloadable.

Does lark-im support sending interactive cards with buttons?

Yes, but you must follow the card creation workflow in references/card/lark-im-card-create.md before sending with --msg-type interactive. Card button callbacks arrive as card.action.trigger events over WebSocket, and updates use the delayed-update API with a token valid 30 minutes.

Why do lark-im commands fail with permission denied errors?

Most operations are user-identity only and require specific OAuth scopes such as im:message:readonly, im:chat:read, or im:chat:create_by_user. The agent platform must grant the matching scope for the current user, and the caller must be a member of the target chat.

What audio formats can I send as Feishu voice messages?

Voice messages via --audio support only Opus audio, such as .opus files or Ogg Opus .ogg files. For mp3 or wav, either convert to .opus first or send the original file as an attachment with --file.