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.
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.
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.
How to use
- 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}}'
- Register the skill with the Lark CLI:
lark-cli skill register ./create-project-channel.yaml
- Invoke the skill:
lark-cli skill run create-project-channel \
--project_name 'Q2 Launch' \
--member_ids '["user1", "user2"]'
- Share the skill with your team for reuse.
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"]}')
Related on TokRepo
- AI Tools for Automation — Workflow automation tools and platforms
- AI Tools for Task Management — Task and project management tools
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
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.
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.
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.
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.
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)
- Lark Developer Documentation— Lark/Feishu platform APIs for enterprise collaboration
- Lark API Reference— Workflow automation patterns for enterprise platforms
- Anthropic Agent Documentation— Skill-based automation architecture for AI agents
Related on TokRepo
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
Related Assets
Claude-Flow — Multi-Agent Orchestration for Claude Code
Layers swarm and hive-mind multi-agent orchestration on top of Claude Code with 64 specialized agents, SQLite memory, and parallel execution.
SuperClaude — Workflow Framework for Claude Code
Adds 16+ slash commands, 9 cognitive personas, and a smart flag system to Claude Code in one pipx install.
Claudia — Tauri Desktop GUI for Claude Code
Open-source Tauri/Rust desktop app for managing Claude Code sessions, custom agents, sandboxed execution, and checkpoints.