AI Skill
Review
Audit score 70

lark-skill-maker

larksuite/cli

Create reusable Lark (Feishu) API Skills for lark-cli by wrapping atomic APIs or orchestrating multi-step workflows

What is lark-skill-maker?

lark-skill-maker is a skill that guides AI agents in authoring new SKILL.md packages for lark-cli. It covers how to research available Feishu OpenAPI endpoints using lark-cli commands, discover parameters and scopes, and produce a correctly structured SKILL.md file that other agents can install and invoke. The output skill can wrap a single API call or coordinate multi-step flows with data passing between steps.

  • Provides a SKILL.md authoring template for creating new lark-cli skills
  • Guides API research using lark-cli help, schema inspection, and raw api calls
  • Explains priority order: Shortcut > registered API > raw lark-cli api call
  • Covers multi-step workflow orchestration with data passing and rollback notes
  • Defines required frontmatter fields including description trigger phrasing and scope declarations
  • Integrates with lark-openapi-explorer when CLI coverage is insufficient

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 relevant OAuth scopes configured via lark-cli auth login
  • Familiarity with Feishu OpenAPI concepts (services, resources, methods, scopes)
  • Optional: lark-openapi-explorer skill for discovering undocumented or unregistered endpoints
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.Use lark-cli schema <service.resource.method> to inspect parameter definitions
  3. 3.Test the required API calls with lark-cli api <METHOD> <path> --params/--data
  4. 4.If the API is not registered, use lark-openapi-explorer to find the raw OpenAPI path and parameters
  5. 5.Create the file at skills/lark-<name>/SKILL.md using the provided template
  6. 6.Write a description field that includes functional keywords and a 'when the user needs...' trigger phrase
  7. 7.Document all required scopes in a permissions table within the new SKILL.md
  8. 8.For multi-step skills, document data passing between steps, failure rollback, and parallelisable steps

Use cases

Good for
  • Packaging a frequently used Feishu API sequence into a reusable skill
  • Creating a skill that orchestrates multi-step Feishu operations (e.g., create + configure + notify)
  • Wrapping an unregistered Feishu OpenAPI endpoint for repeated use
  • Standardising scope and auth requirements for a team's Feishu automation
  • Building a skill library on top of lark-cli for a specific Feishu service
Who it's for
  • Developers building internal tools on top of the Feishu (Lark) platform
  • Teams wanting reusable, agent-invokable wrappers around Feishu APIs
  • AI agent workflow authors using lark-cli as a Feishu automation backend
  • Platform engineers standardising Feishu API access patterns across projects

lark-skill-maker FAQ

What is a Skill in this context?

A Skill is a SKILL.md file that teaches an AI agent how to accomplish a task using lark-cli commands. It is not executable code but structured instructions the agent follows.

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

Use lark-cli api <METHOD> <path> when the target Feishu endpoint is not registered as a named resource or shortcut in lark-cli. Registered commands and shortcuts take priority when available.

How does the agent know when to invoke a skill?

The description field in the SKILL.md frontmatter controls triggering. It must contain relevant functional keywords and a phrase like 'when the user needs X, use this'.

What should I do if lark-cli has no coverage for the API I need?

Use the lark-openapi-explorer skill to browse the official Feishu API documentation, find the correct method, path, parameters, and required scopes, then call it via lark-cli api.

Where should the new SKILL.md file be placed?

Place it at skills/lark-<name>/SKILL.md relative to your skills directory, where <name> describes the skill's function.

Full instructions (SKILL.md)

Source of truth, from larksuite/cli.


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 larksuite/cli and the wider catalog.

LA

lark-doc

larksuite/cli

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

293k installs
LA

lark-base

larksuite/cli

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

292k installs
LA

lark-im

larksuite/cli

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。

292k installs
LA

lark-drive

larksuite/cli

飞书云空间(云盘/云存储):管理 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)。

292k installsAudited
LA

lark-shared

larksuite/cli

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling _notice JSON.

291k installsAudited
LA

lark-calendar

larksuite/cli

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

291k installsAudited