Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ddpie/lark-mcp-on-agentcore --skill lark-imgit clone --depth 1 https://github.com/ddpie/lark-mcp-on-agentcoreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ddpie/lark-mcp-on-agentcore/lark-im)<a href="https://agentmods.dev/skills/ddpie/lark-mcp-on-agentcore/lark-im"><img src="https://agentmods.dev/badge/skills/ddpie/lark-mcp-on-agentcore/lark-im/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ddpie/lark-mcp-on-agentcore/lark-im"><img src="https://agentmods.dev/badge/skills/ddpie/lark-mcp-on-agentcore/lark-im.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00147 | $0.05415 |
| Opus 5 | $0.00073 | $0.02707 |
| Sonnet 5 | $0.00029 | $0.01083 |
| Haiku 4.5 | $0.00015 | $0.00541 |
Grade A, and why
lark-im scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 243 lines — stays where its author put it; the contents beside it link to each section on GitHub.
im (v1)
Core Concepts
- Message: A single message in a chat, identified by
message_id(om_xxx). Supports types: text, post, image, file, audio, video, sticker, interactive (card), share_chat, share_user, merge_forward, etc. - Chat: A group chat or P2P conversation, identified by
chat_id(oc_xxx). - Thread: A reply thread under a message, identified by
thread_id(om_xxx or omt_xxx). - 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
feed_card_id(anoc_xxxopen_chat_id for CHAT type). - Feed Group: A tag that groups feed cards in the feed list, identified by
feed_group_id(ofg_xxx). Members are feed cards, each identified byfeed_id+feed_type. Two types:normal(members managed explicitly) andrule(members auto-derived from rules).
Resource Relationships
Chat (oc_xxx)
├── Message (om_xxx)
│ ├── Thread (reply thread)
│ ├── Reaction (emoji)
│ └── Resource (image / file / video / audio)
└── Member (user / bot)
Important Notes
Identity and Token Mapping
- User identity uses
user_access_token. 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. - Bot identity uses
tenant_access_token. 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
userandbot, 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
When fetching messages (lark_im_chat_messages_list, lark_im_threads_messages_list, lark_im_messages_mget, lark_im_messages_search), a display name is returned for both user and bot senders:
What ships with it
58 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/card/card-2.0-schema.md 7.4 KB
- references/card/components/button.md 2.8 KB
- references/card/components/chart.md 2.2 KB
- references/card/components/checker.md 1.9 KB
- references/card/components/collapsible_panel.md 1.8 KB
- references/card/components/column_set.md 2.6 KB
- references/card/components/date_picker.md 1.6 KB
- references/card/components/div.md 1.8 KB
- references/card/components/form.md 2.2 KB
- references/card/components/header.md 1.7 KB
- references/card/components/hr.md 425 B
- references/card/components/img_combination.md 1.0 KB
- references/card/components/img.md 1.4 KB
- references/card/components/input.md 2.0 KB
- references/card/components/interactive_container.md 2.2 KB
- references/card/components/markdown.md 3.4 KB
- references/card/components/multi_select_person.md 1.6 KB
- references/card/components/multi_select_static.md 1.6 KB
- references/card/components/overflow.md 1.5 KB
- references/card/components/person_list.md 1.2 KB
- references/card/components/person.md 907 B
- references/card/components/picker_datetime.md 1.5 KB
- references/card/components/picker_time.md 1.5 KB
- references/card/components/recycling_container.md 1.5 KB
- references/card/components/select_img.md 1.9 KB
- references/card/components/select_person.md 1.5 KB
- references/card/components/select_static.md 1.8 KB
- references/card/components/table.md 2.1 KB
- references/card/lark-im-card-create.md 12 KB
- references/card/lark-im-card-style.md 18 KB
- references/card/resource/colors.md 1.5 KB
- references/card/resource/icons.md 1.6 KB
- references/lark-im-card-action-reply.md 8.8 KB
- references/lark-im-chat-create.md 7.0 KB
- references/lark-im-chat-identity.md 3.0 KB
- references/lark-im-chat-list.md 7.4 KB
- references/lark-im-chat-members-list.md 4.5 KB
- references/lark-im-chat-messages-list.md 9.1 KB
- references/lark-im-chat-search.md 7.1 KB
- references/lark-im-chat-update.md 2.7 KB
- references/lark-im-feed-group-list-item.md 3.0 KB
- references/lark-im-feed-group-list.md 2.5 KB
- references/lark-im-feed-group-query-item.md 2.3 KB
- references/lark-im-feed-groups.md 17 KB
- references/lark-im-feed-shortcut-create.md 3.6 KB
- references/lark-im-feed-shortcut-list.md 4.6 KB
- references/lark-im-feed-shortcut-remove.md 1.6 KB
- references/lark-im-flag-cancel.md 2.5 KB
- references/lark-im-flag-create.md 2.2 KB
- references/lark-im-flag-list.md 3.2 KB
- references/lark-im-message-enrichment.md 6.5 KB
- references/lark-im-messages-mget.md 3.9 KB
- references/lark-im-messages-reply.md 14 KB
- references/lark-im-messages-resources-download.md 4.0 KB
- references/lark-im-messages-search.md 12 KB
- references/lark-im-messages-send.md 15 KB
- references/lark-im-reactions.md 10 KB
- references/lark-im-threads-messages-list.md 5.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 243 lines · 147 tokens per session scan A f4c8b357ccaf
lark-im is a skill published in the GitHub repository ddpie/lark-mcp-on-agentcore (8 stars, last pushed 12d ago), licensed MIT. It adds 147 tokens to every session and 5,415 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
lark-cli
A command-line tool for working with Lark, also called Feishu, a workplace collaboration platform. It covers services such as calendars, meetings, documents, spreadsheets, messaging, tasks, approvals, and shared files.
claude-to-im
Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone. Use for: setting up, starting, stopping, or diagnosing the claude-to-im bridge daemon; forwarding Claude replies to a messaging app; any phrase like "claude-to-im", "bridge"…
messages
Retrieve chat message history, send messages, and manage reactions in Lark - get messages from group chats, private chats, threads, send messages to users or chats, and add/list/remove reactions. Use when user asks about chat messages, conversation history, what was discussed in a group, or wants to send a message or…
Read and search emails from Lark Mail via IMAP with local caching. Use when user asks about email, inbox, or messages.
minutes
Access Lark Minutes recordings - get metadata, export transcripts, download audio/video. Use when user asks about meeting recordings, transcripts, or minutes.
anycross-creator
Build, validate, and package AnyCross workflow files (the Lark/Feishu automation platform) — produces an importable .zip via a Python generator script. Covers the real flow.json schema (structure/steps, operation objects, the four spel types), connector/operation IDs harvested from verified exports, LarkBase field…