lark-openapi-explorer
open.feishu.cn
Discover and call native Feishu/Lark OpenAPIs not covered by existing CLI commands or skills
What is lark-openapi-explorer?
lark-openapi-explorer is a skill for coding agents that enables step-by-step discovery and invocation of native Feishu/Lark OpenAPI endpoints. When existing lark-* skills or lark-cli registered commands cannot satisfy a user's requirement, this skill guides the agent to crawl the official Feishu/Lark markdown documentation hierarchy (llms.txt → module docs → individual API specs) and then call the discovered endpoint using `lark-cli api` raw calls.
- Checks existing lark-cli commands before attempting raw API discovery
- Fetches and parses the Feishu/Lark official OpenAPI documentation hierarchy (llms.txt, module docs, individual API markdown files)
- Locates the correct HTTP method, URL path, parameters, and required permissions for any native API
- Calls discovered endpoints via `lark-cli api` with GET, POST, PUT, PATCH, or DELETE
- Enforces confirmation before executing write or delete operations
- Translates Chinese API documentation to English when the user communicates in English
How to install lark-openapi-explorer
npx skills add null --skill lark-openapi-explorer- lark-cli must be installed and available in PATH
- lark-shared skill should be read first for authentication and identity-switching rules
- Network access to open.feishu.cn or open.larksuite.com for WebFetch calls
- Valid Feishu/Lark app credentials configured via lark-cli
How to use lark-openapi-explorer
- 1.Run `lark-cli <service> --help` to confirm no existing command covers your need
- 2.Use WebFetch on `https://open.feishu.cn/llms.txt` to find the relevant module documentation link
- 3.Use WebFetch on the module doc (llms-<module>.txt) to locate the specific API link
- 4.Use WebFetch on the individual API markdown file to extract method, path, parameters, permissions, and error codes
- 5.Construct the lark-cli api call: e.g. `lark-cli api POST /open-apis/<path> --data '{...}'`
- 6.For write/delete operations, confirm intent with the user before executing
- 7.Review the response and handle errors using the error codes from the API doc
- 8.Optionally pass the discovered API to lark-skill-maker to create a reusable skill
Use cases
- Adding members to a group chat when lark-cli has no chat_members command
- Setting a group announcement via PATCH on an uncovered endpoint
- Querying any Feishu/Lark resource not wrapped by existing skills
- Exploring available API surface across all Feishu/Lark modules
- Prototyping raw API calls before formalizing them into a new skill with lark-skill-maker
- Developers building on Feishu/Lark who need APIs beyond what lark-cli exposes
- Coding agents (Claude Code, Cursor) automating Feishu/Lark workflows
- Teams that need occasional one-off API calls without writing custom integrations
- Engineers evaluating Feishu/Lark API coverage before committing to a full integration
lark-openapi-explorer FAQ
Use this skill only after confirming that no existing lark-* skill or lark-cli registered command covers your requirement. Run `lark-cli <service> --help` first.
Use open.feishu.cn for Feishu (China) and open.larksuite.com for Lark (international). If unsure, default to Feishu.
No. POST, PUT, PATCH, and DELETE calls must be confirmed with the user before execution. Sensitive operations like deleting groups or removing members require explaining the impact scope first.
No. The skill instructs the agent to translate all extracted API documentation content into English when the user communicates in English.
Yes. Use the lark-skill-maker skill to formalize a discovered API into a reusable, registered lark-cli skill.
Full instructions (SKILL.md)
Source of truth, from open.feishu.cn.
name: lark-openapi-explorer version: 1.0.0 description: "飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。" metadata: requires: bins: ["lark-cli"]
OpenAPI Explorer
前置条件: 先阅读
../lark-shared/SKILL.md了解认证、身份切换和安全规则。
当用户的需求无法被现有 skill 或 CLI 已注册 API 覆盖时,使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口,然后通过 lark-cli api 裸调完成任务。
文档库结构
飞书 OpenAPI 文档以 markdown 层级组织:
llms.txt ← 顶层索引,列出所有模块文档链接
└─ llms-<module>.txt ← 模块文档,包含功能概述 + 底层 API 文档链接
└─ <api-doc>.md ← 单个 API 的完整说明(方法/路径/参数/响应/错误码)
文档入口:
| 品牌 | 入口 URL |
|---|---|
| 飞书 (Feishu) | https://open.feishu.cn/llms.txt |
| Lark | https://open.larksuite.com/llms.txt |
所有文档以中文编写。如果用户使用英文交流,需将文档内容翻译为英文后输出。
挖掘流程
严格按以下步骤逐层检索,不要跳步或猜测 API:
Step 1:确认现有能力不足
# 先检查是否已有对应的 skill 或已注册 API
lark-cli <可能的service> --help
如果已有对应命令或 shortcut,直接使用,不需要继续挖掘。
Step 2:从顶层索引定位模块
用 WebFetch 获取顶层索引,找到与需求相关的模块文档链接:
WebFetch https://open.feishu.cn/llms.txt
→ 提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"
- 飞书品牌使用
open.feishu.cn - Lark 品牌使用
open.larksuite.com - 如不确定用户品牌,默认使用飞书
Step 3:从模块文档定位具体 API
用 WebFetch 获取模块文档,找到具体 API 的文档链接:
WebFetch https://open.feishu.cn/llms-docs/zh-CN/llms-<module>.txt
→ 提取问题:"找出与 <用户需求> 相关的 API 说明和文档链接"
Step 4:获取 API 完整规范
用 WebFetch 获取具体 API 文档,提取完整的调用规范:
WebFetch https://open.feishu.cn/document/server-docs/.../<api>.md
→ 提取问题:"返回完整 API 规范:HTTP 方法、URL 路径、路径参数、查询参数、请求体字段(名称/类型/必填/说明)、响应字段、所需权限、错误码"
Step 5:通过 CLI 调用 API
使用 lark-cli api 裸调:
# GET 请求
lark-cli api GET /open-apis/<path> --params '{"key":"value"}'
# POST 请求
lark-cli api POST /open-apis/<path> --data '{"key":"value"}'
# PUT 请求
lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'
# DELETE 请求
lark-cli api DELETE /open-apis/<path>
输出规范
向用户呈现挖掘结果时,按以下格式组织:
- API 名称与功能:一句话描述
- HTTP 方法与路径:
METHOD /open-apis/... - 关键参数:列出必填和常用可选参数
- 所需权限:scope 列表
- 调用示例:给出
lark-cli api的完整命令 - 注意事项:频率限制、特殊约束等
如果用户使用英文交流,将以上所有内容翻译为英文。
安全规则
- 写入/删除类 API(POST/PUT/DELETE)调用前必须确认用户意图
- 建议先用
--dry-run预览请求(如支持) - 不要猜测 API 路径或参数——必须从文档中获取确认
- 涉及敏感操作(删除群、移除成员等)时,向用户说明影响范围
使用场景示例
场景 1:用户需要拉人进群(未被 CLI 封装)
# Step 1: 确认 CLI 没有封装
lark-cli im --help
# → 发现没有 chat_members 相关的 create 命令
# Step 2-4: 通过文档挖掘获得 API 规范
# → POST /open-apis/im/v1/chats/:chat_id/members
# Step 5: 调用
lark-cli api POST /open-apis/im/v1/chats/oc_xxx/members \
--data '{"id_list":["ou_xxx","ou_yyy"]}' \
--params '{"member_id_type":"open_id"}'
场景 2:用户需要设置群公告
# Step 1: 确认 CLI 没有封装
lark-cli im --help
# → 没有 announcement 相关命令
# Step 2-4: 挖掘文档
# → PATCH /open-apis/im/v1/chats/:chat_id/announcement
# Step 5: 调用
lark-cli api PATCH /open-apis/im/v1/chats/oc_xxx/announcement \
--data '{"revision":"0","requests":["<html>公告内容</html>"]}'
参考
- lark-shared — 认证和全局参数
- lark-skill-maker — 如需将挖掘到的 API 固化为新 Skill
Related skills
More from open.feishu.cn and the wider catalog.
lark-approval
Query, process, and initiate Lark approval tasks via CLI — search definitions, manage instances, and handle approvals.
lark-doc
Read, create, and edit Feishu cloud documents (Docx/Wiki) with content manipulation and media handling.
lark-base
Operate Feishu Multidimensional Tables (Base): create tables, manage fields, records, views, formulas, forms, dashboards, workflows, and permissions.
lark-calendar
Manage Lark calendar events and meeting rooms: view, create, update, search events, check availability, and book rooms.
lark-drive
Manage Feishu Drive files and folders: upload, download, organize, and import local documents.
lark-contact
Resolve Lark/Feishu names & emails to open_id, or look up user details by open_id