4 releases

Uses new Rust 2024

0.1.6 Apr 14, 2026
0.1.5 Apr 14, 2026
0.1.2 Apr 13, 2026
0.1.0 Apr 13, 2026

#426 in Parser implementations

MIT license

61KB
1.5K SLoC

Rust 816 SLoC // 0.0% comments Python 487 SLoC // 0.0% comments Shell 98 SLoC // 0.2% comments

agent-xlsx

A small CLI for reading and editing .xlsx files, designed for agents. JSON in, JSON out; A1 range notation everywhere; structured JSON errors on stderr.

📖 Full usage docs live in skills/agent-xlsx/SKILL.md. That file is the skill definition consumed by npx skills add and by Claude agents; it doubles as the human-readable reference.

Install

# Latest release, to a dir on PATH
curl -fsSL https://raw.githubusercontent.com/carderne/agent-xlsx/main/install.sh \
    | bash -s -- ~/.local/bin

Supported targets: Apple Silicon macOS, x86_64 Linux, x86_64 Windows.

As a Claude skill

npx skills add carderne/agent-xlsx

As a pi package

pi install npm:agent-xlsx

Quick taste

agent-xlsx create book.xlsx
agent-xlsx edit   book.xlsx A1:C1 '["name","age","city"]'
agent-xlsx edit   book.xlsx A2:C3 '[["Alice",30,"Berlin"],["Bob",42,"Paris"]]'
agent-xlsx read   book.xlsx A1:C3
# [["name","age","city"],["Alice",30.0,"Berlin"],["Bob",42.0,"Paris"]]

Evals

Currently... it's mostly worse than just Python. Did Anthropic try this already?

task model py-fail cli-fail py-time cli-time py-tokens cli-tokens py-turns cli-turns
bulk_filter_bold claude-haiku-4-5 0 0 11.2s +81% 914 +146% 3 +67%
conditional_color claude-haiku-4-5 0 0 9.1s +20% 741 +51% 2 +50%
edit_formula_totals claude-haiku-4-5 0 0 8.2s -4% 593 -10% 2 0%
edit_sparse claude-haiku-4-5 0 0 15.0s -26% 858 -14% 4 0%
moving_avg claude-haiku-4-5 3 0 11.5s +100% 947 +123% 2 +250%
reorder_cols claude-haiku-4-5 0 0 12.0s +23% 1076 +13% 2 +150%
style_header claude-haiku-4-5 0 0 7.7s +13% 529 +16% 2 0%

Building from source

cargo build --release
cargo test

Dependencies

~30MB
~467K SLoC