SuperAPI AI Directory

lark-openapi-explorer

Coding & development

View repository

Updated 10-13 19:21

About this skill

OpenAPI Explorer

Prerequisites: First read ../lark-shared/SKILL.md to learn about authentication, identity switching, and security rules.

When the user's needscannot be covered by existing skills or APIs already registered in the CLI, use this skill to mine native OpenAPI interfaces layer by layer from the official Feishu markdown documentation library, then use lark-cli api for raw calls to complete the task.

Documentation library structure

Feishu OpenAPI documentation is organized in markdown hierarchy:

llms.txt                          ← 顶层索引,列出所有模块文档链接
  └─ llms-<module>.txt            ← 模块文档,包含功能概述 + 底层 API 文档链接
       └─ <api-doc>.md            ← 单个 API 的完整说明(方法/路径/参数/响应/错误码)

Documentation entry points:

Brand Entry URL
Feishu https://open.feishu.cn/llms.txt
Lark https://open.larksuite.com/llms.txt

All documentation is written inChinese. If the user communicates in English, translate the document content into English before outputting it.

Mining process

Retrieve strictly layer by layer according to the following steps,do not skip steps or guess APIs:

Step 1: Confirm existing capabilities are insufficient

# 先检查是否已有对应的 skill 或已注册 API
lark-cli <可能的service> --help

If a corresponding command or shortcut already exists, use it directly,no need to continue mining。

Step 2: Locate the module from the top-level index

Use WebFetch to retrieve the top-level index and find module documentation links related to the need:

WebFetch https://open.feishu.cn/llms.txt
  → 提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"
  • Feishu brand uses open.feishu.cn
  • Lark brand uses open.larksuite.com
  • If unsure about the user's brand, use Feishu by default

Step 3: Locate the specific API from the module documentation

Use WebFetch to retrieve the module documentation and find the documentation link for the specific API:

WebFetch https://open.feishu.cn/llms-docs/zh-CN/llms-<module>.txt
  → 提取问题:"找出与 <用户需求> 相关的 API 说明和文档链接"

Step 4: Obtain the complete API specification

Use WebFetch to retrieve the specific API documentation and extract the complete call specification:

WebFetch https://open.feishu.cn/document/server-docs/.../<api>.md
  → 提取问题:"返回完整 API 规范:HTTP 方法、URL 路径、路径参数、查询参数、请求体字段(名称/类型/必填/说明)、响应字段、所需权限、错误码"

Step 5: Call the API through the CLI

Use lark-cli api raw call:

# 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>

Output specification

When presenting the mining results to the user, organize them in the following format:

  1. API name and function: one-sentence description
  2. HTTP method and path:METHOD /open-apis/...
  3. Key parameters: list required and commonly used optional parameters
  4. Required permissions: scope list
  5. Call example: provide lark-cli api complete command
  6. Notes: rate limits, special constraints, etc.

If the user communicates in English, translate all of the above content into English.

Security rules

  • Write/delete APIs(POST/PUT/DELETE) must confirm the user's intent before calling
  • It is recommended to first use --dry-run to preview the request (if supported)
  • Do not guess API paths or parameters—they must be confirmed from the documentation
  • For sensitive operations (deleting groups, removing members, etc.), explain the scope of impact to the user

Usage scenario examples

Scenario 1: The user needs to add people to a group (not wrapped by the 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"}'

Scenario 2: The user needs to set a group announcement

# 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>"]}'

Reference