SkillsMar 30, 2026·1 min read

Lark CLI Skill: Skill Maker — Create Custom Skills

Lark/Feishu CLI skill for creating reusable custom skills. Wrap atomic APIs or orchestrate multi-step workflows.

TL;DR
Lark/Feishu CLI skill that creates reusable custom skills by wrapping atomic APIs or orchestrating multi-step workflows.
§01

What it is

The Lark CLI Skill Maker is a skill for creating reusable custom skills on the Lark (Feishu) platform. It enables developers to wrap atomic API calls or orchestrate multi-step workflows into shareable skill definitions that other users and AI agents can invoke.

The skill targets teams building automation on Lark/Feishu who want to encapsulate common operations (sending messages, creating documents, managing calendars) into reusable, composable building blocks.

§02

How it saves time or tokens

Instead of writing the same Lark API integration code for every project, the Skill Maker packages it into a reusable skill definition. Other developers or AI agents can invoke the skill by name without understanding the underlying API details.

The composable skill architecture means complex multi-step workflows (like 'create a project channel, invite members, and post a kickoff message') become single skill invocations.

Additionally, the project's well-structured documentation and active community mean developers spend less time troubleshooting integration issues. When AI coding assistants generate code for this tool, they can reference established patterns from the documentation, producing correct implementations with fewer iterations and lower token costs.

§03

How to use

  1. Define a skill by specifying the API calls and parameters:
name: create-project-channel
description: Create a Lark group chat for a new project
parameters:
  - name: project_name
    type: string
    required: true
  - name: member_ids
    type: array
    required: true
steps:
  - action: create_group_chat
    params:
      name: '{{project_name}} Channel'
  - action: add_members
    params:
      chat_id: '{{steps[0].result.chat_id}}'
      members: '{{member_ids}}'
  1. Register the skill with the Lark CLI:
lark-cli skill register ./create-project-channel.yaml
  1. Invoke the skill:
lark-cli skill run create-project-channel \
  --project_name 'Q2 Launch' \
  --member_ids '["user1", "user2"]'
  1. Share the skill with your team for reuse.
§04

Example

# Programmatic skill invocation
from lark_cli import SkillRunner

runner = SkillRunner()
result = runner.run('create-project-channel', {
    'project_name': 'Q2 Launch',
    'member_ids': ['user1', 'user2']
})
print(f'Channel created: {result["chat_id"]}')
§05

Related on TokRepo

§06

Common pitfalls

  • Creating skills that are too specific. Design skills with configurable parameters so they can be reused across different projects and contexts.
  • Not handling API rate limits in multi-step skills. Lark APIs have rate limits. Add delays or retry logic between steps to avoid throttling.
  • Skipping error handling in skill definitions. Multi-step skills should define rollback behavior when intermediate steps fail.
  • Failing to review community discussions and changelogs before upgrading. Breaking changes in major versions can disrupt existing workflows. Pin versions in production and test upgrades in staging first.

Frequently Asked Questions

What is Lark/Feishu?+

Lark (known as Feishu in China) is ByteDance's enterprise collaboration platform. It provides messaging, video conferencing, document editing, project management, and API-driven automation. The CLI skill system enables programmatic interaction with Lark services.

Can skills call multiple Lark APIs?+

Yes. Skills can orchestrate multiple API calls in sequence, passing results from one step to the next. This enables complex workflows like creating a document, sharing it with a group, and posting a notification, all in a single skill invocation.

Are skills shareable across teams?+

Yes. Skill definitions are YAML files that can be version-controlled and shared. Teams can maintain a library of reusable skills for common operations, reducing duplication across projects.

Can AI agents invoke these skills?+

Yes. The skill definitions are designed to be invocable by AI agents. An agent can discover available skills, understand their parameters from the YAML description, and invoke them programmatically.

Does the Skill Maker require coding knowledge?+

Basic YAML knowledge is sufficient for simple skills. Complex skills with conditional logic or error handling benefit from programming experience. The YAML-based approach makes skill creation accessible to non-developers for straightforward workflows.

Citations (3)
🙏

Source & Thanks

Created by LarkSuite. Licensed under MIT. larksuite/cli — 4,100+ GitHub stars

Part of the Lark CLI Official Skills Collection on TokRepo.

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets