Skip to content
Back to skills

Lark Im

ASecurity

Send, read, update, and withdraw Feishu or Lark messages and cards; manage reactions, chats, and attachments.

  • 179 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsshellreact

Works with

  • mcp

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add AgentBull/ankole --skill lark-im --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lark Im?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lark Im
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/agentbull-lark-im/badge)](https://www.skillsdirectory.com/skills/agentbull-lark-im)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lark-im
description: "Send, read, update, and withdraw Feishu or Lark messages and cards; manage reactions, chats, and attachments."
---

# lark-im

Send, read, update, and withdraw Feishu or Lark messages and cards; manage reactions, chats, and attachments.

Find the operation in [the operation index](references/index.md), then read only its linked JSON contract for inputs, outputs, and retry annotations.

Write the JSON argument object to a temporary file, then pass it over stdin so quotes and shell metacharacters remain data:

```sh
mcporter call 'lark_im.<tool-name>' --json - --output json --timeout 360000 < /absolute/path/arguments.json
```

After the call finishes, delete the temporary argument file and check the process exit code before parsing stdout.

Run `mcporter list` to discover the available connections. The default server is `lark_im`. Select `lark_im@<connection-slug>` for a particular application, or copy the exact `lark_im@<connection-slug>@<account-key>` server name from the list to select one application account. Account keys in server names are URL-encoded. If the intended workspace is unclear, ask the user to choose; do not switch accounts to work around an authorization failure.

Applet routes and Actions use `await AnkoleRuntime.mcp.call(tool, args, { server: "lark_im", connection, account })` with the same contract. Omit connection/account only when the intended default is unambiguous. `AnkoleRuntime.admin.mcp.call` represents the current page owner; it does not select an application account.

Use stable user_id for people across the tenant's applications. Supply principal_uid when addressing a known Ankole colleague. Use file_ref in the form `pages/<page-id>/<path>` for files; attachments stream through the control plane. Message content accepts a structured object. im_send_message and im_reply_message have optional uuid; reuse it if the caller already has a stable request ID.

If no suitable connection or application account is listed, direct the user to the tenant’s Connectors page; a tenant administrator connects an application workspace, and members connect their own personal accounts.

For a file created in the Worker workspace, use the Pod `files.upload` operation with the target page ID, `local_path`, and role before calling an upload tool. Follow the `pod-content` Skill to choose or create that page and handle file versions. Use the returned `page_id` and `file.path` as `pages/<page-id>/<path>` in `file_ref`; a Worker filesystem path is not a Pod file reference.

An `oauth_consent_required` result identifies a missing personal authorization. Present the returned consent link, then repeat the intended operation after authorization. `upstream_outcome_unknown` means a write may have completed; inspect its result before repeating it. Respect `retryAfterSeconds` and use `continueSlice` for long waits in Applet Actions. In Applet error handlers, read recovery metadata such as `authorization_url`, `retryAfterSeconds`, and a partially created `resource_id` from `error.details`; `error.code` identifies the failure.

Files in this skill

  • SKILL.md3 KB
  • agents/openai.yaml635 B
  • references/im_add_reaction.json1.1 KB
  • references/im_delete_message.json470 B
  • references/im_delete_reaction.json1 KB
  • references/im_download_resource.json1.4 KB
  • references/im_get_chat.json3.2 KB
  • references/im_get_message.json3.7 KB
  • references/im_list_chat_members.json1.4 KB
  • references/im_list_chats.json1.9 KB
  • references/im_list_messages.json4.1 KB
  • references/im_list_thread_messages.json4.1 KB
  • references/im_pin_message.json897 B
  • references/im_reply_message.json3 KB
  • references/im_search_chats.json1.9 KB
  • references/im_send_message.json3.2 KB
  • references/im_update_message.json2.9 KB
  • references/im_upload_file.json765 B
  • references/im_urgent_message.json908 B
  • references/index.md1.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.