Skip to main content

Spreadsheetsforagents

Agents work directly with formulas, ranges, pivots, and charts locally. Every change becomes a Git-style commit you can review, diff, merge, and roll back.

Run multiple agents alongside humans, all working on the same data, without losing control.

FOR HUMAN
npm install -g agent-sheet@latest
FOR AI AGENTS
Read https://github.com/dream-num/skills and follow the setup instructions

BUILT FOR

any agent and stack

How it works

A simple three-step workflow for agent-human collaboration on spreadsheets.

1

Agent creates or updates the workbook.

Including formulas, formatting, charts, conditional formatting, and pivot tables.

2

Review every change like a pull request.

Each spreadsheet action becomes a structured mutation, making diffs clear and reviewable.

3

Approve, reject, merge, or roll back changes.

Stay in control without losing work or breaking the workbook.

Core Capabilities

Fully Local by Default

Run core workbook workflows entirely on your machine, with no network, no login, and no cloud dependency.

Powered by Univer

Built on the most advanced spreadsheet engine with 12.6k+ GitHub stars, without requiring Excel, LibreOffice, or any cloud spreadsheet service.

Shell-Native by Design

Work seamlessly with awk, grep, sed, jq, Python, and compose spreadsheet workflows directly in your terminal.

Incremental Updates

Handle large datasets and complex spreadsheets by updating only what changed instead of rewriting the entire file.

Spreadsheet Capabilities

500+ formulas and real formula execution, conditional formatting, data validation, permissions, charts, pivot tables, rich cell formatting, comments, hyperlinks, and images.

Human Review for Agent Changes

Agents create and update the workbook. Every change is structured and reviewable, like a pull request. Humans can comment, approve, reject, merge, or roll back safely.

In Action

Real CLI workflows: inspect, read, transform, write, and script, all through one workbook-native surface.

INSPECT

inspect workbook

Before a broad edit, get the workbook's real shape: sheet index, used range, preview, and formula groups.

COMMAND
$ agent-sheet inspect workbook \
    --entry-id ei_3gu5q9e3
OUTPUT
Spreadsheet Overview
Total [1] Sheets: 'Renewals'

| # | Sheet    | Used Range | Tables | Groups |
|---|---------|------------|--------|--------|
| 1 | Renewals | A1:H6      | 1      | 2      |

G2:G6 <- G2 (5): =ROUND((F2*15)+(D2/2),0)
H2:H6 <- H2 (5): =IF(G2>55,"renew_now","monitor")
READ

read range

Pull exact workbook values into stdout when the next step belongs in a pipe, file, or downstream script.

COMMAND
$ agent-sheet read range \
    --entry-id ei_3gu5q9e3 \
    --range 'Renewals!A1:F6' \
    --type rawValue \
    --format csv \
    --to-stdout
OUTPUT
account_id,segment,csm,days_to_renewal,arr,open_tickets
ACC-0001,MidMarket,Bianca,13,8137,4
ACC-0002,Enterprise,Carter,41,18274,1
ACC-0003,SMB,Diego,8,2411,6
ACC-0004,SMB,Avery,32,6680,2
ACC-0005,Enterprise,Nora,5,22100,7
PIPE

read + awk + write

Read exact rows out, reshape them in the shell, then write a review table back into the workbook.

COMMAND 1
$ agent-sheet read range \
    --range 'Renewals!A1:F6' \
    --format csv --to-stdout \
  | awk -F, 'NR==1{print "id,csm,days"; next}
    ($4+0)<=15 {print $1","$3","$4}'
OUTPUT 1
id,csm,days_to_renewal
ACC-0001,Bianca,13
ACC-0003,Diego,8
ACC-0005,Nora,5
COMMAND 2
$ agent-sheet write table \
    --sheet Review --data-stdin
OUTPUT 2
{
  "status": "success",
  "updated": 1,
  "ranges": ["Review!A1:C4"]
}
WRITE

write table / write cells

Write cleaned results back into the workbook, then read them back through the same CLI surface.

COMMAND 1
$ agent-sheet write table \
    --entry-id ei_3gu5q9e3 \
    ./review-new.csv --sheet Review
OUTPUT 1
{
  "status": "success",
  "updated": 1,
  "ranges": ["Review!A1:C4"]
}
COMMAND 2
$ agent-sheet read range \
    --range 'Review!A1:C4' \
    --format csv --to-stdout
OUTPUT 2
owner,status,note
Lena,approved,carry forward
Mark,review,watch risk drift
Nora,renew_now,escalate this week
FALLBACK

script js

A bounded fallback when built-ins stop short. Keep scope explicit and return a structured summary.

COMMAND 1
$ agent-sheet script js \
    --entry-id ei_3gu5q9e3 \
    --file ./bounded-edit.js \
    --json
OUTPUT 1
{
  "method": "script.js",
  "success": true,
  "changed": "Review!D1:D4"
}
COMMAND 2
$ agent-sheet read range \
    --entry-id ei_3gu5q9e3 \
    --range 'Review!A1:D4' \
    --type rawValue \
    --format csv \
    --to-stdout
OUTPUT 2
owner,status,note,next_step
Lena,approved,carry forward,send quote
Mark,review,watch risk drift,double check
Nora,renew_now,escalate this week,call today

Benchmark & Reliability

Validated against real-world spreadsheet benchmarks and continuously evaluated across diverse occupational tasks.

#1 Leaderboard · Dec 2025

SpreadsheetBench

Real-world spreadsheet task accuracy

0.00%

Accuracy (%) · pass@1

Human
71.3%
Univer
68.86%
Bluebox
62.9%
Shortcut.ai
59.25%
copilot in Excel(Agent Mode)
57.2%
4.1× better than the nearest AI competitor

GDPval

0

real-world tasks

across 44 occupations

0

open tasks

including 75 spreadsheet-related cases

Used for continuous internal evaluation

Spreadsheets for Agents.
Multi-Agent Collaboration.
Humans in the Loop.

Run multiple agents alongside humans, all working on the same data, without losing control.