lark-openapi-explorer

SkillCommunityTranslated from Chinese

This 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.

Install:
npx skills add open.feishu.cn/lark-openapi-explorer

OpenAPI Explorer

Prerequisites: Read ../lark-shared/SKILL.md first 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:

BrandEntry URL
Feishu (Feishu)https://open.feishu.cn/llms.txt
Larkhttps://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:

  1. API Name and Function: A one-sentence description
  2. HTTP Method and Path: METHOD /open-apis/...
  3. Key Parameters: List required and commonly used optional parameters
  4. Required Permissions: List of scopes
  5. Call Example: Provide the full lark-cli api command
  6. 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-run first (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

Share:
Details:
  • Installs


    201,676
  • First seen


    Jun 10, 2026
View Repository

Auto-fetched from GitHub .

Stats via skills.sh.

Skills similar to lark-openapi-explorer:

 

 
 
  • Installs


 

 
 
  • Installs


 

 
 
  • Installs