Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/alextangson/feishu_skillsnpx agentmods add skills/alextangson/feishu_skills/feishu-imWrote 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/alextangson/feishu_skills/feishu-im)<a href="https://agentmods.dev/skills/alextangson/feishu_skills/feishu-im"><img src="https://agentmods.dev/badge/skills/alextangson/feishu_skills/feishu-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/alextangson/feishu_skills/feishu-im"><img src="https://agentmods.dev/badge/skills/alextangson/feishu_skills/feishu-im.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00033 | $0.01206 |
| Opus 5.5 | $0.00013 | $0.00482 |
| Sonnet 5.5 | $0.00007 | $0.00241 |
| Haiku 4.5 | $0.00003 | $0.00121 |
Grade A, and why
feishu-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 2mo 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 — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.
飞书消息与群管理
通过 IM API 发送消息、管理群聊和配置群功能。
Base URL: https://open.feishu.cn/open-apis/im/v1
认证与 Token 获取
从 feishu_skills 根目录执行共享脚本:
TOKEN="$(./scripts/get_feishu_token.sh)"
请求头统一使用 Authorization: Bearer ${TOKEN}。
如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求:
TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"
环境变量:
FEISHU_APP_IDFEISHU_APP_SECRET
本地缓存: ./.feishu_token_cache.json(未过期直接复用,默认提前 5 分钟刷新)
消息操作
| API | 端点 | 说明 |
|---|---|---|
| 发送消息 | POST /messages?receive_id_type=open_id |
支持文本/卡片/图片/文件 |
| 批量发送 | POST /messages/batch_send |
最多 200 人 |
| 回复消息 | POST /messages/{message_id}/reply |
- |
| 撤回消息 | DELETE /messages/{message_id} |
24 小时内 |
| 加急消息 | PATCH /messages/{message_id}/urgent_app |
- |
| 置顶消息 | POST /pins |
- |
| 添加表情 | POST /messages/{message_id}/reactions |
- |
发送文本消息:
{
"receive_id": "ou_xxx",
"msg_type": "text",
"content": "{\"text\":\"Hello\"}"
}
⚠️ content 必须是字符串化的 JSON。
receive_id_type: open_id / user_id / email / chat_id
交互卡片
发送卡片:
{
"receive_id": "ou_xxx",
"msg_type": "interactive",
"content": "<card_json_string>"
}
卡片结构:
{
"config": {"wide_screen_mode": true},
"header": {
"title": {"tag": "plain_text", "content": "标题"},
"template": "blue"
},
"elements": [
{"tag": "div", "text": {"tag": "lark_md", "content": "**加粗**"}},
{"tag": "action", "actions": [
{"tag": "button", "text": {"tag": "plain_text", "content": "确认"}, "type": "primary"}
]}
]
}
常用元素:
div: 文本块(支持lark_md/plain_text)hr: 分割线action: 按钮组img: 图片note: 备注
群聊管理
| API | 端点 | 说明 |
|---|---|---|
| 创建群聊 | POST /chats |
- |
| 获取群信息 | GET /chats/{chat_id} |
- |
| 更新群信息 | PUT /chats/{chat_id} |
修改群名/描述/头像 |
| 解散群聊 | DELETE /chats/{chat_id} |
- |
| 搜索群聊 | GET /chats/search |
- |
创建群聊:
{
"name": "项目群",
"description": "项目讨论",
"user_id_list": ["ou_xxx", "ou_yyy"]
}
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.
- 2mo ago First seen · 164 lines · 33 tokens per session scan A 2717cdd598bd
feishu-im is a skill published in the GitHub repository alextangson/feishu_skills (64 stars, last pushed 7mo ago), licensed MIT. It adds 33 tokens to every session and 1,206 once invoked, about $0.0001 per session on Opus 5.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-30.
feishu-im compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| feishu-imalextangson/feishu_skills | Skill | 64 | 7mo ago | MIT | A | 33 | Claude Code, Codex |
| orbit-notionnexu-io/open-design | Skill | 106k | yesterday | Apache-2.0 | A | 117 | Claude Code, Codex |
| agentmailpaperclipai/paperclip | Skill | 111k | yesterday | MIT | A | 30 | Claude Code, Codex |
| Cortexdanielmiessler/LifeOS | Skill | 20k | yesterday | MIT | A | 184 | Claude Code |
| rowboat-spacesrowboatlabs/rowboat | Skill | 18k | yesterday | Apache-2.0 | A | 60 | Claude Code, Codex |
| feishuHmbown/CodeWhale | Skill | 41k | 5d ago | MIT | A | 33 | Claude Code, Codex |
| pinchtab-mcppinchtab/pinchtab | Skill | 11k | 10d ago | MIT | A | 52 | Claude Code, Codex |