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- 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
How to use lark-skill-maker
- 1.Run lark-cli <service> --help to discover registered APIs and shortcuts for the target service
- 2.Use lark-cli schema <service.resource.method> to inspect parameter definitions
- 3.Test the required API calls with lark-cli api <METHOD> <path> --params/--data
- 4.If the API is not registered, use lark-openapi-explorer to find the raw OpenAPI path and parameters
- 5.Create the file at skills/lark-<name>/SKILL.md using the provided template
- 6.Write a description field that includes functional keywords and a 'when the user needs...' trigger phrase
- 7.Document all required scopes in a permissions table within the new SKILL.md
- 8.For multi-step skills, document data passing between steps, failure rollback, and parallelisable steps
Use cases
- 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
- 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
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.
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.
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'.
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.
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.
lark-doc
Read and edit Lark/Feishu Docx & Wiki documents via CLI — fetch, create, update, and manage media attachments.
lark-base
Manage Lark Base (multi-dimensional tables): create tables, fields, records, views, formulas, forms, dashboards, workflows, and roles.
lark-im
Lark/Feishu IM skill: send messages, manage group chats, download files, and handle interactive cards via lark-cli
lark-drive
Manage Lark/Feishu Drive files and folders: upload, download, import, organize, comment, and control permissions.
lark-shared
Manage Lark CLI auth, identity, permissions, and scopes for coding agents like Claude Code and Cursor
lark-calendar
Manage Lark calendar events and meeting rooms: view, create, update events, check availability, and book rooms.