Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bighardperson avatar

Lark Unified

  • 8 installs
  • 33 repo stars
  • Updated April 26, 2026
  • bighardperson/computer-science-skills-collection

lark-unified is a Claude skill that wraps the Lark/Feishu CLI (lark-cli) to give agents access to messaging, documents, spreadsheets, calendars, tasks, and wikis across 11 business domains.

About

lark-unified gives an agent access to the Lark (Feishu) collaboration platform through the lark-cli command-line tool. It exposes over 200 commands across 11 domains including instant messaging, cloud documents, spreadsheets, base tables, calendars, mail, tasks, and wikis. A developer uses it to send messages, manage documents, or build custom Lark workflows without hand-writing API calls. It documents a strict non-interactive setup path so an agent never triggers the TTY-only config wizard.

  • Unified Lark/Feishu CLI wrapper with 200+ commands across 11 business domains
  • Covers messaging, cloud docs, spreadsheets, base/tables, calendars, mail, tasks, wikis, and video conferences
  • Ships 19 AI-agent-optimized skills; installs via npm i -g @larksuite/cli

Lark Unified by the numbers

  • 8 all-time installs (skills.sh)
  • Ranked #1,522 of 2,719 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
At a glance

lark-unified capabilities & compatibility

Free tool; requires a configured Lark app_id and credentials.

Capabilities
send message · manage documents · manage calendar · manage tasks
Works with
teams · slack
Use cases
orchestration · project management · documentation
Pricing
Free
From the docs

What lark-unified says it does

Unified Lark/Feishu CLI suite covering messaging, documents, collaboration, scheduling, and more.
SKILL.md
Provides 200+ commands across 11 business domains including instant messaging (IM), cloud documents, spreadsheets, base/tables, calendars, mail, tasks, wikis, video conferences, and custom integration
SKILL.md
along with 19 AI Agent-optimized skills.
SKILL.md
npx skills add https://github.com/bighardperson/computer-science-skills-collection --skill lark-unified

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars33
Last updatedApril 26, 2026
Repositorybighardperson/computer-science-skills-collection

What it does

Automate Lark/Feishu messaging, documents, spreadsheets, calendars, and tasks from an agent using the lark-cli command-line suite.

Who is it for?

Agents that need to send messages, manage docs, or drive workflows inside a Lark/Feishu workspace.

Skip if: Teams not using Lark/Feishu, or setups without the lark-cli binary configured.

When should I use this skill?

Working with Lark/Feishu through the CLI or needing Lark API capabilities for messages, docs, sheets, calendars, or tasks.

What you get

The agent can send messages, manage documents, and build Lark workflows through a single CLI.

  • Lark messages
  • Lark documents and spreadsheets
  • calendar and task entries

By the numbers

  • 200+ CLI commands
  • 11 business domains
  • 19 AI-agent-optimized skills

Files

SKILL.mdMarkdownGitHub ↗

Lark Unified

Lark (飞书) is a comprehensive collaboration platform combining messaging, documents, spreadsheets, tables, calendars, and more. This skill provides unified access to the Lark CLI (lark-cli), a production-grade command-line tool with 200+ commands across 11 integrated business domains, along with 19 AI Agent-optimized skills.

⚠️ SETUP RULES — READ BEFORE DOING ANYTHING

FORBIDDEN — never run these commands under any circumstances:

  • lark-cli config init --new
  • lark-cli config init (interactive)
  • lark-cli config set-default

These require a TTY, output a broken QR code in WorkBuddy, and must never be used.

REQUIRED setup procedure — follow exactly:

# Step 1: install lark-cli if missing
lark-cli --version 2>/dev/null || npm install -g @larksuite/cli

# Step 2: check if already configured (look for "app_id" in output, NOT exit code)
lark-cli config show 2>&1 | grep -q "app_id" && echo "CONFIG_OK" || echo "NOT_CONFIGURED"

If step 2 prints NOT_CONFIGURED, run the setup script:

SETUP=$(find ~/.workbuddy/skills -name lark_setup.py 2>/dev/null | head -1)
python3 "$SETUP"

# Lark (international) users:
python3 "$SETUP" --brand lark

# If browser cannot open automatically:
python3 "$SETUP" --no-browser

IMPORTANT: The setup script is a multi-step device flow.

  • Step 1 (begin): The script requests a device code from Feishu. This call may return HTTP 400 transiently — this is normal, just retry.
  • Step 2 (browser): The script opens a browser URL for the user to authorize.
  • Step 3 (poll): The script polls until the user completes authorization in the browser. The poll API returns authorization_pending (as HTTP 400) while waiting — this is expected, NOT an error. Keep polling.
  • Step 4 (save): Once authorized, the script saves the config.

If the setup script fails or you ran the begin step manually: 1. You already have the device_code — just keep polling with it until the user confirms in the browser. 2. Do NOT re-run the begin step unnecessarily. Reuse the existing device_code. 3. The authorization_pending response during polling is normal — it means the user hasn't finished yet. Wait and retry.

Getting Started

# Verify setup is complete
lark-cli config view

All commands:

lark-cli <domain> <resource> <method> [flags]
lark-cli <domain> +<shortcut> [flags]  # shortcuts preferred

Default identity: --as bot. Use --as user for personal operations.

Core Capability Domains

Lark has 11 primary business domains. Each has dozens of commands, with high-level shortcuts for common operations:

✉️ Instant Messaging (lark-im)

Send/receive messages, search chat history, manage groups, download files, and manage reactions.

Common shortcuts: +messages-send, +messages-search, +chat-messages-list, +chat-create

Use when: Messaging users, retrieving conversations, building chat-based workflows, downloading attachments

For detailed API reference, shortcuts, and permission requirements: See references/lark-im.md

📄 Cloud Documents (lark-doc)

Create and edit documents, insert media, manage document permissions, and link to wikis.

Common shortcuts: +documents-create, +documents-list

Use when: Creating documents programmatically, building document workflows, embedding content

For full reference: See references/lark-doc.md

💾 Cloud Drive & Files (lark-drive)

Upload/download files, manage file permissions, share links, and add comments on files.

Common shortcuts: +files-upload, +files-download

Use when: Managing file storage, automating uploads/downloads, sharing files

For full reference: See references/lark-drive.md

📊 Spreadsheets (lark-sheets)

Read/write/append to spreadsheets, query data, and manage sheet permissions.

Common shortcuts: +spreadsheets-read, +spreadsheets-append, +spreadsheets-find

Use when: Automating spreadsheet operations, reading/updating sheet data, building data workflows

For full reference: See references/lark-sheets.md

🗂️ Base & Multi-Dimensional Tables (lark-base)

Query and manage multi-dimensional table records, fields, views, dashboards, and run workflows.

Common shortcuts: +tables-records-list, +tables-records-create, +fields-list

Use when: Managing relational data, querying tables, automating base operations, triggering workflows

For full reference: See references/lark-base.md

📅 Calendar (lark-calendar)

Query events, check availability, suggest meeting times, and manage calendar settings.

Common shortcuts: +calendars-list, +events-list, +events-search-freebusy

Use when: Checking schedules, coordinating meetings, finding available time slots

For full reference: See references/lark-calendar.md

📋 Tasks & To-Do (lark-task)

Create tasks, organize into lists, manage reminders, and track subtasks.

Common shortcuts: +tasks-create, +tasks-list, +task-lists-list

Use when: Creating tasks, building task workflows, managing team task lists

For full reference: See references/lark-task.md

📧 Mail (lark-mail)

Compose emails, manage drafts, search messages, reply/forward, and send emails.

Common shortcuts: +messages-send, +messages-search, +drafts-create

Use when: Building email workflows, automating mail operations, searching email history

For full reference: See references/lark-mail.md

📚 Wiki & Knowledge Spaces (lark-wiki)

Create knowledge spaces, organize pages into hierarchies, and manage wiki permissions.

Common shortcuts: +spaces-create, +wiki-pages-create, +wiki-pages-list

Use when: Building knowledge bases, organizing documentation, creating wikis

For full reference: See references/lark-wiki.md

🎥 Video Conference & Meetings (lark-vc)

Search meeting recordings, retrieve meeting notes, and manage VC settings.

Use when: Accessing meeting data, retrieving recordings and notes, managing video settings

For full reference: See references/lark-vc.md

👥 Contacts & Directory (lark-contact)

Search users, fetch contact profiles, and query user directory.

Use when: Searching for users, building user lookups, retrieving contact information

For full reference: See references/lark-contact.md

Core Concepts & Common Patterns

Identity & Authentication

  • User identity (--as user): Operations run as the authenticated user. Uses user_access_token. Permissions depend on the user's own access.
  • Bot identity (--as bot): Operations run as the app's bot. Uses tenant_access_token. Permissions depend on the bot's scopes and membership.

Most APIs support both modes, but behavior differs based on the caller's role and access.

Common Entity IDs

  • User: open_id, user_id, email
  • Chat: chat_id (oc_xxx)
  • Message: message_id (om_xxx)
  • Thread: thread_id
  • Document: document_id
  • File: file_key or file_id
  • Table/Base: base_id, table_id
  • Event: event_id

Working with the CLI

Using Shortcuts (Recommended)

Shortcuts are high-level wrappers around common operations. Always use shortcuts when available:

lark-cli im +messages-send --chat-id oc_xxx --text "Hello"
lark-cli sheets +spreadsheets-read --spreadsheet-id spr_xxx
Using Raw APIs

For operations without shortcuts, use raw API commands with schema inspection:

lark-cli schema im.messages.create       # View parameter structure
lark-cli im messages create --data '{...}'  # Call with structured data

Important: Always run schema before calling raw APIs to understand the exact parameter format.

Pagination & Filtering

Most list operations support:

  • --limit: Number of records to return (default varies by API)
  • --offset / --page-token: Pagination cursor
  • --filter: Server-side filtering (format varies by resource)
Output Formatting

By default, commands return JSON. Common options:

  • --table: Format output as ASCII table
  • --csv: Export as CSV
  • --yaml: YAML format
  • --raw: Unformatted raw output

Workflows

Lark offers two built-in workflow skills:

  • Meeting Summary Workflow (lark-workflow-meeting-summary): Aggregate meeting notes
  • Standup Report Workflow (lark-workflow-standup-report): Generate daily standup summaries

See references/workflows.md for details.

Advanced Features

Custom Skills & Integrations

Use lark-skill-maker to create custom skills by wrapping Lark APIs. See references/skill-maker.md.

OpenAPI Discovery

Use lark-openapi-explorer to discover and test Lark APIs directly. See references/openapi.md.

Event Subscriptions

Subscribe to real-time events via WebSocket with lark-event. See references/events.md.

Other Domains

  • Minutes: Meeting minutes metadata (lark-minutes)
  • Whiteboard: Drawing/diagram creation with DSL (lark-whiteboard)
  • Shared: Core authentication rules and identity management (lark-shared)

See references/other-domains.md for details.

Quick Example

Send a message to a chat

# First, find the chat
lark-cli im +chat-search --keyword "engineering"

# Then send a message
lark-cli im +messages-send --chat-id oc_xxx --text "Hello team!"

Search past messages

lark-cli im +messages-search --query "deadline" --from-user ou_xxx --start-time 2024-01-01 --end-time 2024-01-31

Create a spreadsheet and add data

lark-cli sheets +spreadsheets-create --title "Q1 Data"
lark-cli sheets +spreadsheets-append --spreadsheet-id spr_xxx --range "Sheet1!A1" --values "[[1,2,3]]"

Query a base table

lark-cli base +tables-records-list --base-id app_xxx --table-id tbl_xxx --limit 100

Need Help?

  • View all domains: lark-cli --help
  • Domain-specific help: lark-cli <domain> --help
  • Inspect API schema: lark-cli schema <domain>.<resource>.<method>
  • Permission requirements: Check the permission tables in each domain's reference file

Next Steps

1. Choose your domain from the list above 2. Read the domain reference (linked in each section) 3. Use shortcuts for common operations 4. Inspect schemas if using raw APIs 5. Check permissions in the reference documentation

Related skills

FAQ

Which platform does lark-unified target?

It targets Lark (Feishu), covering messaging, docs, spreadsheets, base tables, calendars, mail, tasks, wikis, and video conferences.

How is lark-cli installed?

If lark-cli is missing, install it globally with npm install -g @larksuite/cli.

Are there commands the agent must avoid?

Yes; the interactive config init and set-default commands are forbidden because they require a TTY and produce a broken QR code.

Automation & Workflowsworkflownotespm

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.