AI Skill

lark-skill-maker

open.feishu.cn

Create reusable lark-cli Skills that wrap Feishu API calls into composable, documented packages

What is lark-skill-maker?

lark-skill-maker is a skill for building new lark-cli Skills. It guides an AI agent through discovering Feishu OpenAPI endpoints, determining required parameters and scopes, and producing a correctly structured SKILL.md file. The output skill can wrap a single atomic API call or orchestrate multi-step workflows with data passing between steps.

  • Guides discovery of available lark-cli registered APIs, Shortcuts, and raw OpenAPI endpoints
  • Provides CLI commands to inspect parameter schemas for any registered service/resource/method
  • Supports raw OpenAPI calls via `lark-cli api` for endpoints not yet registered in lark-cli
  • Defines a standard SKILL.md template and file location convention for new skills
  • Specifies how to document required OAuth scopes per operation
  • Covers multi-step orchestration patterns including data passing, rollback, and parallelism

How to install lark-skill-maker

npx skills add null --skill lark-skill-maker
Prerequisites
  • lark-cli must be installed and available in PATH
  • Feishu app credentials and appropriate OAuth scopes for the target API operations
  • Familiarity with Feishu OpenAPI concepts (services, resources, methods, scopes)
  • lark-openapi-explorer skill available if target API is not registered in lark-cli
Claude Code
Cursor
Windsurf
Cline

How to use lark-skill-maker

  1. 1.Run `lark-cli <service> --help` to discover registered APIs and Shortcuts for the target service
  2. 2.Run `lark-cli schema <service.resource.method>` to inspect parameter definitions for a specific method
  3. 3.If the needed API is not registered, use `lark-cli api GET|POST <path>` to call it directly
  4. 4.If lark-cli has no coverage at all, use lark-openapi-explorer to find the official endpoint details
  5. 5.Identify all required parameters and OAuth scopes from the above research
  6. 6.Create the file at `skills/lark-<name>/SKILL.md` using the provided template structure
  7. 7.Fill in the description field with functional keywords and a 'when user needs X' trigger phrase
  8. 8.Document multi-step data passing, failure rollback, and any write-operation confirmation requirements

Use cases

Good for
  • Packaging a frequently used Feishu API call into a reusable, triggerable skill
  • Building a multi-step workflow skill (e.g., create resource then configure it) with clear data-passing instructions
  • Wrapping an unregistered Feishu OpenAPI endpoint discovered via lark-openapi-explorer
  • Standardizing how a team's AI agents interact with Feishu by codifying operations as skills
  • Documenting required scopes and auth steps alongside the API logic in one place
Who it's for
  • Developers building or maintaining a library of lark-cli skills
  • Teams that repeatedly perform the same Feishu API operations and want to automate them
  • AI agent operators who need to extend lark-cli with custom Feishu workflows
  • Engineers integrating Feishu APIs who want structured, discoverable skill packages

lark-skill-maker FAQ

What is a Skill in this context?

A Skill is a SKILL.md file that instructs an AI agent how to use lark-cli commands to complete a specific task. It is not executable code itself.

When should I use `lark-cli api` instead of a registered command?

Use `lark-cli api` for any Feishu OpenAPI endpoint that is not yet registered as a named resource/method in lark-cli. Registered commands and Shortcuts take priority when available.

What is lark-openapi-explorer and when is it needed?

It is a separate skill that browses Feishu's official API documentation. Use it when lark-cli has no registered API or Shortcut covering your need, to find the correct path, method, parameters, and scopes.

How does the description field affect skill behavior?

The description field controls when the skill is triggered by an AI agent. It must include functional keywords and a 'when user needs ... use this' phrase so the agent can match it to user intent.

Are there safety guidelines for write operations?

Yes. The template recommends confirming user intent before any write operation and suggests using a --dry-run preview where available.

Full instructions (SKILL.md)

Source of truth, from open.feishu.cn.


name: lark-skill-maker version: 1.0.0 description: "创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。" metadata: requires: bins: ["lark-cli"]

Skill Maker

基于 lark-cli 创建新 Skill。Skill = 一份 SKILL.md,教 AI 用 CLI 命令完成任务。

CLI 核心能力

lark-cli <service> <resource> <method>          # 已注册 API
lark-cli <service> +<verb>                      # Shortcut(高级封装)
lark-cli api <METHOD> <path> [--data/--params]  # 任意飞书 OpenAPI
lark-cli schema <service.resource.method>       # 查参数定义

优先级:Shortcut > 已注册 API > api 裸调。

调研 API

# 1. 查看已有的 API 资源和 Shortcut
lark-cli <service> --help

# 2. 查参数定义
lark-cli schema <service.resource.method>

# 3. 未注册的 API,用 api 直接调用
lark-cli api GET /open-apis/vc/v1/rooms --params '{"page_size":"50"}'
lark-cli api POST /open-apis/vc/v1/rooms/search --data '{"query":"5F"}'

如果以上命令无法覆盖需求(CLI 没有对应的已注册 API 或 Shortcut),使用 lark-openapi-explorer 从飞书官方文档库逐层挖掘原生 OpenAPI 接口,获取完整的方法、路径、参数和权限信息,再通过 lark-cli api 裸调完成任务。

通过以上流程确定需要哪些 API、参数和 scope。

SKILL.md 模板

文件放在 skills/lark-<name>/SKILL.md

---
name: lark-<name>
version: 1.0.0
description: "<功能描述>。当用户需要<触发场景>时使用。"
metadata:
  requires:
    bins: ["lark-cli"]
---


# <标题>

> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md)。

## 命令

\```bash
# 单步操作
lark-cli api POST /open-apis/xxx --data '{...}'

# 多步编排:说明步骤间数据传递
# Step 1: ...(记录返回的 xxx_id)
# Step 2: 使用 Step 1 的 xxx_id
\```

## 权限

| 操作 | 所需 scope |
|------|-----------|
| xxx | `scope:name` |

关键原则

  • description 决定触发 — 包含功能关键词 + "当用户需要...时使用"
  • 认证 — 说明所需 scope,登录用 lark-cli auth login --domain <name>
  • 安全 — 写入操作前确认用户意图,建议 --dry-run 预览
  • 编排 — 说明数据传递、失败回滚、可并行步骤

Related skills

More from open.feishu.cn and the wider catalog.

LA

lark-approval

open.feishu.cn

飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。

320k installs
LA

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki 文档):读取和编辑飞书文档内容。当用户给出文档 URL 或 token,或需要查看、创建、编辑文档、插入或下载文档图片附件时使用。文档中嵌入的电子表格、多维表格、画板,先用本 skill 提取 token 再切到对应 skill。当用户给出 doubao.com 的 /docx/ 或 /wiki/ URL/token 时,也应直接使用本 skill;路由依据是 URL 路径模式和 token,而不是域名。不负责文档评论管理,也不负责表格或 Base 的数据操作。

320k installs
LA

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、workflow、角色权限;遇到 Base/多维表格/bitable 或 /base/ 链接时使用。文件导入转 lark-drive,认证/授权转 lark-shared。

320k installs
LA

lark-calendar

open.feishu.cn

飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-vc)、待办任务(走 lark-task)。

320k installs
LA

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、评论/权限/订阅、标题、版本和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

320k installs
LA

lark-contact

open.feishu.cn

飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。当用户提到某人姓名要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。

320k installs