lark-base

Operate Lark Base tables, records, views, dashboards, workflows, and roles via lark-cli.

Updated May 22, 2026
One-click install
npx skills add https://github.com/CalWade/aigc-creator --skill lark-base-calwade
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: lark-base
Source: https://github.com/CalWade/aigc-creator/tree/main/.agents/skills/lark-base
Command: npx skills add https://github.com/CalWade/aigc-creator --skill lark-base-calwade

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires lark-cli, and includes references (resource) components.

What problem does it solve? Managing Feishu (Lark) Bitable data through raw APIs is error-prone: field JSON shapes, formula syntax, dashboard data_config, and workflow steps are complex and easy to get wrong. This Skill routes every Base operation through the correct lark-cli base +... command with the right reference documentation, so records, fields, views, forms, dashboards, workflows, and role permissions are created and queried correctly the first time. ## Core Features & Use Cases - Full Base CRUD: create and copy Bases, manage tables, fields, records, views, and resource directories via +base-*, +table-*, +field-*, and +record-* shortcuts. - Analytics & Aggregation: run cloud-side filtered queries, Top N, and grouped aggregations with +record-search and +data-query instead of pulling raw rows locally. - Formula & Lookup Fields: build cross-table computed fields using the formula and lookup guides with mandatory read-before-write confirmation flags. - Dashboards, Forms, Workflows, Roles: create chart blocks with validated data_config, submit and manage forms, configure workflow steps, and manage advanced permissions and custom roles. - Use Case: A user pastes a /base/{token} link and asks for a monthly sales dashboard. The Skill resolves the token, reads the real table and field names, creates a dashboard, then serially adds a statistics card, a line chart, and a pie chart using templates from the data_config reference. ## Quick Start Ask the assistant to list all tables and their fields in the Lark Base at your /base/ link using the lark-base skill.

Frequently Asked Questions about lark-base

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create records in a Lark Base table from the CLI?▼

Use lark-cli base +record-upsert for single writes or +record-batch-create / +record-batch-update for bulk writes, passing a JSON object of field names to CellValues. First run +field-list to confirm field types, and keep batches under 200 records per call.

How do I run aggregation or Top N queries on Lark Bitable data?▼

Use lark-cli base +data-query for grouped aggregations and +record-list or +record-search with filter and sort for row-level queries. Do not pull raw pages locally for global statistics, since paginated results cannot support full-table conclusions.

How do I create a formula field in Lark Base?▼

Read the formula-field-guide reference first, then call +field-create with --json containing type formula and the expression, plus the --i-have-read-guide confirmation flag. Table and field names in the expression must exactly match +table-list and +table-get output.

Can I import an Excel or CSV file into Lark Base with this skill?▼

No, file import is out of scope for this skill. Use lark-cli drive +import --type bitable from the lark-drive skill to convert Excel, CSV, or .base files into a Base, then return to base commands for further operations.

Why does my Lark Base command fail with base_token invalid?▼

The error usually means a wiki token, workspace token, or full URL was passed as --base-token. Extract the token after /base/ in the link, or resolve wiki links with wiki +node-get and use the returned obj_token when obj_type is bitable.

What are the limitations of dashboard block updates in Lark Base?▼

The +dashboard-block-update command cannot change a block's chart type, only its name and data_config, and each passed top-level key is fully replaced. Blocks must be created serially, and table_name in data_config uses the table name, not the table ID.