lark-sheets

Create and edit Feishu online spreadsheets via the lark-cli command-line interface.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/TrayMachi/dotfiles --skill lark-sheets-traymachi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lark-sheets
Source: https://github.com/TrayMachi/dotfiles/tree/main/agents/skills/lark-sheets
Command: npx skills add https://github.com/TrayMachi/dotfiles --skill lark-sheets-traymachi

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Working with Feishu (Lark) online spreadsheets programmatically requires navigating dozens of API operations for sheets, cells, charts, pivot tables, filters, and conditional formats. This Skill gives an AI agent a complete, verified command vocabulary and workflow rules so it can read, write, format, and visualize spreadsheet data without guessing command names or corrupting existing content. ## Core Features & Use Cases - Full spreadsheet CRUD: create workbooks, manage sheets, read/write cell values, formulas, styles, comments, and embedded images, plus search and replace. - Structural and batch operations: insert/delete/hide/freeze rows and columns, merge cells, resize dimensions, and combine multiple writes into one atomic batch update. - Data objects and visualization: create and maintain charts, pivot tables, conditional formats, filters, filter views, sparklines, and floating images, with mandatory read-back verification. - Formula migration: translate Excel formulas into Feishu-executable formulas, handling ARRAYFORMULA semantics, native array functions, and unsupported function replacements. - Use Case: A user pastes a Feishu sheet URL and asks to group sales by region, chart the result, and highlight overdue rows. The agent reads the workbook structure, creates a real pivot table on a new sheet, builds a chart excluding total rows, and adds a conditional format rule, verifying each object afterward. ## Quick Start Give the agent a Feishu spreadsheet URL and ask it to summarize the data by category and add a chart to the sheet.

Frequently Asked Questions about lark-sheets

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

FAQPage Schema
How do I read and write data in a Feishu spreadsheet from the command line?

Use lark-cli sheets shortcuts: +csv-get or +cells-get to read values, formulas, and styles, and +csv-put or +cells-set to write. Every call needs a spreadsheet locator (--url or --spreadsheet-token) plus a sheet locator (--sheet-id or --sheet-name).

How do I create a pivot table or chart in a Feishu sheet?

Use +pivot-create with a --source range that includes the header row, letting it auto-create a new sheet for the output. For charts, use +chart-create with a --properties JSON defining position, size, and data refs, then verify with +chart-list.

Can this skill edit local Excel files?

No. It only operates on Feishu online spreadsheets located by URL or spreadsheet token. Local Excel files are explicitly out of scope, though Excel formulas can be translated into Feishu-executable formulas for online sheets.

Why does my Feishu sheet command fail with a sheet not found error?

The sheet name was likely guessed instead of verified. Run +workbook-info first to list actual sheet IDs and titles, since sheets are often named differently than the assumed Sheet1, then pass the real value to --sheet-id or --sheet-name.

How do I migrate Excel formulas to Feishu spreadsheets?

Rewrite rather than copy: Feishu does not spill arrays by default, so wrap range arithmetic in ARRAYFORMULA, use native array functions like FILTER or MAP where possible, and replace unsupported functions such as STOCKHISTORY or CUBE functions with alternatives.

When should I use batch update instead of individual write commands?

Use +batch-update whenever multiple regions need the same operation or several writes must happen in sequence, such as inserting rows then filling data. It executes atomically so a mid-way failure does not leave the sheet half-modified.