lark-openapi-explorer
SkillCommunityTranslated from ChineseThis skill enables agents to discover and invoke native Lark or Feishu OpenAPI endpoints that are not covered by existing CLI commands. It follows a structured process to fetch documentation from official sources, extract API specifications, and execute requests using the lark-cli api command.
npx skills add open.feishu.cn/lark-openapi-explorerOpenAPI Explorer
Prerequisites: Read
../lark-shared/SKILL.mdfirst to understand authentication, identity switching, and security rules.
When a user's request cannot be covered by existing skills or registered CLI APIs, use this skill to dig into the official Feishu markdown documentation layer by layer, and then complete the task by calling the raw API via lark-cli api.
Documentation Structure
Feishu OpenAPI documentation is organized in a markdown hierarchy:
llms.txt ← Top-level index, lists all module documentation links
└─ llms-<module>.txt ← Module documentation, contains functional overview + links to underlying API docs
└─ <api-doc>.md ← Full description of a single API (method/path/parameters/response/error codes)
Documentation Entry Points:
| Brand | Entry URL |
|---|---|
| Feishu (Feishu) | https://open.feishu.cn/llms.txt |
| Lark | https://open.larksuite.com/llms.txt |
All documentation is written in Chinese. If the user communicates in English, translate the content into English before outputting.
Mining Process
Follow these steps strictly to search layer by layer. Do not skip steps or guess APIs:
Step 1: Confirm Existing Capabilities are Insufficient
# First check if there is a corresponding skill or registered API
lark-cli <potential-service> --help
If a corresponding command or shortcut already exists, use it directly. Do not continue mining.
Step 2: Locate the Module from the Top-level Index
Use WebFetch to retrieve the top-level index and find the module documentation link related to the request:
WebFetch https://open.feishu.cn/llms.txt
→ Extraction question: "List all module documentation links and find the link related to <user request keywords>"
- For the Feishu brand, use
open.feishu.cn - For the Lark brand, use
open.larksuite.com - If the user's brand is uncertain, default to Feishu
Step 3: Locate the Specific API from Module Documentation
Use WebFetch to retrieve the module documentation and find the specific API documentation link:
WebFetch https://open.feishu.cn/llms-docs/zh-CN/llms-<module>.txt
→ Extraction question: "Find the API description and documentation link related to <user request>"
Step 4: Obtain the Full API Specification
Use WebFetch to retrieve the specific API documentation and extract the full call specification:
WebFetch https://open.feishu.cn/document/server-docs/.../<api>.md
→ Extraction question: "Return the full API specification: HTTP method, URL path, path parameters, query parameters, request body fields (name/type/required/description), response fields, required permissions, and error codes"
Step 5: Call the API via CLI
Use lark-cli api for raw calls:
# GET request
lark-cli api GET /open-apis/<path> --params '{"key":"value"}'
# POST request
lark-cli api POST /open-apis/<path> --data '{"key":"value"}'
# PUT request
lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'
# DELETE request
lark-cli api DELETE /open-apis/<path>
Output Specification
When presenting mining results to the user, organize them in the following format:
- API Name and Function: A one-sentence description
- HTTP Method and Path:
METHOD /open-apis/... - Key Parameters: List required and commonly used optional parameters
- Required Permissions: List of scopes
- Call Example: Provide the full
lark-cli apicommand - Notes: Rate limits, special constraints, etc.
If the user communicates in English, translate all the above content into English.
Security Rules
- Write/Delete APIs (POST/PUT/DELETE) must be confirmed with the user before calling.
- It is recommended to preview the request with
--dry-runfirst (if supported). - Do not guess API paths or parameters. You must obtain confirmation from the documentation.
- When involving sensitive operations (deleting groups, removing members, etc.), explain the scope of impact to the user.
Usage Scenario Examples
Scenario 1: User needs to add people to a group (not encapsulated by CLI)
# Step 1: Confirm CLI is not encapsulated
lark-cli im --help
# → Found no create command related to chat_members
# Step 2-4: Obtain API specification via documentation mining
# → POST /open-apis/im/v1/chats/:chat_id/members
# Step 5: Call
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"}'
Scenario 2: User needs to set a group announcement
# Step 1: Confirm CLI is not encapsulated
lark-cli im --help
# → No command related to announcement
# Step 2-4: Mine documentation
# → PATCH /open-apis/im/v1/chats/:chat_id/announcement
# Step 5: Call
lark-cli api PATCH /open-apis/im/v1/chats/oc_xxx/announcement \
--data '{"revision":"0","requests":["<html>Announcement content</html>"]}'
References
- lark-shared, Authentication and global parameters
- lark-skill-maker, If you need to solidify the mined API into a new Skill
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
Installs
201,676First seen
Jun 10, 2026
Auto-fetched from GitHub .
Stats via skills.sh.
Skills similar to lark-openapi-explorer:
Installs
Installs
Installs