Agent skill · software engineering · aiskillstore
lark-im
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。
Why this skill is useful
Provides specific commands and workflows for managing messages and group chats in the Lark IM API that the AI wouldn't reliably generate on its own.
What it needs
Requires lark-cli installed locally. About 10k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
im (v1) CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理 Core Concepts Message: A single message in a chat, identified by messageid (omxxx). Supports types: text, post, image, file, audio, video, sticker, interactive (card), sharechat, shareuser, mergeforward, etc. Chat: A group chat or P2P conversation, identified by chatid (ocxxx). Thread: A reply thread under a message, identified by threadid (omxxx or omtxxx). Reaction: An emoji reaction on a message. Flag: A bookmark on a message or thread. Feed Shortcut: A chat pinned to the current user's feed sidebar, identified by feedcardid (an ocxxx openchatid for CHAT type). Feed Group: A tag that groups feed cards in the feed list, identified by feedgroupid (ofgxxx). Members are feed cards, each identified by feedid + feedtype. Two types: normal (members managed explicitly) and rule (members auto-derived from rules). Resource Relationships Important Notes Identity and Token Mapping --as user means user identity and uses useraccesstoken. Calls run as the authorized end user, so permissions depend on both the app scopes and that user's own access to the target chat/message/resource. --as bot means bot identity and uses tenantaccesstoken. Calls run as the app bot, so behavior depends on the bot's membership, app visibility, availability range, and bot-specific scopes. If an IM API says it supports both user and bot, the token type changes who the operator is. The same API can succeed with one identity and fail with the other because owner/admin status, chat membership, tenant boundary, or app availability are checked against the current caller. Sender Name Resolution with Bot Identity When using bot identity (--as bot) to fetch messages (e.g. +chat-messages-list, +threads-messages-list, +messages-mget), sender names may not be resolved (shown as openid instead of display name). This happens when the bot cannot access the user's contact info. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/lark-im