OfficeCLI gives AI agents eyes for Word, Excel & PowerPoint

2 months ago

Your AI agent can write a Word doc, a spreadsheet, or a slide deck. But it's doing it blind. OfficeCLI is one binary that gives it eyes for all three.

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00Slide 1
  2. 0:08One binary: read, edit, create .docx / .xlsx / .pptx
  3. 0:23The old way was one blind library per format
  4. 0:41A rendering engine, so the agent can see its own output
  5. 1:00Three ways to render
  6. 1:13Excel that computes on write
  7. 1:29Publication-ready Word, not a rough draft
  8. 1:43Start cheap, escalate only when you must
  9. 2:03One line to install
  10. 2:16OfficeCLI
Show transcript

Slide 1

GitHub Trending · Ep 05 · Jul 10, 2026
OfficeCLI gives AI agents eyes for Word, Excel & PowerPoint
One self-contained binary · .NET embedded
C# Apache-2.0 macOS · Linux · Windows

Your AI agent can write a Word doc, a spreadsheet, or a slide deck. But it's doing it blind. OfficeCLI is one binary that gives it eyes for all three.

One binary: read, edit, create .docx / .xlsx / .pptx

A sales dashboard spreadsheet built by an agent with OfficeCLI: KPI row and a Q1 to Q4 revenue-by-region bar chart
An agent-built spreadsheet, made with OfficeCLI (Excel)
Self-contained · .NET embedded · no Office, no Python

Here's a spreadsheet an agent built with it. Point OfficeCLI at a Word, Excel, or PowerPoint file, and it reads, edits, or creates the whole thing. It's one self-contained binary with dot-NET baked in. No Office, no Python, and it runs on Mac, Linux, and Windows.

The old way was one blind library per format

Capability OfficeCLI python-docx / openpyxl per-format Python libs
Word + Excel + PowerPoint ✓ one binary Separate libs
Zero install, single binary ✓ ✗ (Python + pip)
Call from any language ✓ (CLI) Python only
Built-in rendering engine ✓ ✗
Path-based element access ✓ ✗
AI-native CLI + JSON ✓ ✗
Template merge {{key}} ✓ ✗

So why does this matter? The old way to give an agent an Office file was a separate Python library per format, Python only. And blind: it writes the XML and can't tell if the title overflowed or two shapes overlap. OfficeCLI folds all three into one command you call from any language, and adds the missing sense.

A rendering engine, so the agent can see its own output

1 · writeagent writes the OOXML
↓
2 · renderrender to PNG (view screenshot)
↓
3 · fixagent reads the image, fixes overlap / overflow
↺ repeat until it looks right · headless, no display
An agent driving a live PowerPoint build with OfficeCLI
AionUi driving a live PowerPoint build with OfficeCLI

And here's the clever part. Built in, from scratch, is a rendering engine. It turns any document into an image, so a multimodal agent can look at the rendered page instead of guessing from the XML. The agent writes, renders a picture, reads it back, and fixes what's off. Render, look, fix. And because it's in the binary, that loop runs headless, no display required.

Three ways to render

view html One standalone file, assets inlined
view screenshot A per-page PNG a multimodal agent can read
watch Live preview at localhost:26315, refreshes on every edit

You get that sight three ways. View html gives you one standalone file. View screenshot hands a multimodal agent a per-page picture to read. And watch runs a live local preview that refreshes the moment you change anything.

Excel that computes on write

A budget tracker spreadsheet: total budget, spent and remaining, a department table, and a quarterly spending chart
350+ functions dynamic arrays · XLOOKUP financial · statistical native pivot tables

The Excel side actually computes. Write a formula, read the cell, and the value is already there. Over three hundred fifty built-in functions evaluate on write, from dynamic arrays to XLOOKUP to financial and statistical. And it builds real pivot tables from a range in one command, no round trip through Office.

Publication-ready Word, not a rough draft

An academic paper laid out in Word: heading hierarchy, justified body text, and citations
Heading hierarchy · justified body · citations
A project proposal in Word with a real revision-history table
Real tables (Revision History)
equations: OMML → LaTeX (KaTeX) finished, not a first draft

The same engine drives Word. Headings, body text, tables, even real equations, converted to LaTeX and rendered cleanly. What comes out is a finished, publication-ready document, not a rough first draft you still have to lay out.

Start cheap, escalate only when you must

L1 · read officecli view report.docx annotated
L2 · DOM officecli add budget.xlsx / --type sheet
L3 · raw officecli raw deck.pptx '/slide[1]'
Template merge {{key}} → JSON, fill one layout N times
Built-in MCP officecli mcp claude|cursor|vscode|lmstudio

Under the hood, three choices make it agent-native. The API has three layers: read with view, edit by path, drop to raw XML only when needed, so it starts cheap and escalates only when it must. Template merge fills one layout with JSON, deterministic and nearly free. And a built-in MCP server wires it into agents like Claude Code, Cursor, and Codex.

One line to install

brew install officecli
scoop install officecli
npm install -g @officecli/officecli
or one-line curl | bash / irm | iex
v1.0.135 Apache-2.0 macOS · Linux · Windows (arm64 + x64)
Not a coder? AionUi is a desktop app from the same team that drives it for you.

Getting it is one line. Brew, scoop, or npm, or a curl script, with prebuilt binaries for Mac, Linux, and Windows. It's Apache licensed and free. And if you'd rather skip the terminal, AionUi is a desktop app that drives it for you.

OfficeCLI

One binary that gives your agent eyes for Office
github.com/iOfficeAI/OfficeCLI
New repo tomorrow.

So that's OfficeCLI. One binary that gives your agent eyes for Office. If your agent builds documents, this is worth a look. The link's on screen, and there's a new repo tomorrow.