agent-xlsx

apetta/agent-xlsx · updated Apr 8, 2026

$npx skills add https://github.com/apetta/agent-xlsx --skill agent-xlsx
0 commentsdiscussion
summary

XLSX CLI for AI agents. JSON to stdout by default (raw text for --format csv|markdown). Polars+fastexcel for data reads (7-10x faster than openpyxl), openpyxl for metadata/writes, three rendering engines for visual capture (Aspose → Excel → LibreOffice), oletools for VBA.

skill.md

agent-xlsx

XLSX CLI for AI agents. JSON to stdout by default (raw text for --format csv|markdown). Polars+fastexcel for data reads (7-10x faster than openpyxl), openpyxl for metadata/writes, three rendering engines for visual capture (Aspose → Excel → LibreOffice), oletools for VBA.

Running

If agent-xlsx is not already installed, use uvx for zero-install execution:

uvx agent-xlsx probe report.xlsx

All examples below use agent-xlsx directly — prefix with uvx if not globally installed.

This file is a quick-start summary. Before constructing any command beyond the basic examples shown here, you must read commands.md for the full flag reference (types, defaults, edge cases, output schemas). For screenshot/recalc engine setup, read backends.md. Guessing at flags leads to errors — the reference is the source of truth.

Workflow: Progressive Disclosure

Start lean, opt into detail:

probe (fast)  →  screenshot (visual)  →  read (data)  →  inspect (metadata)

Always start with probe:

agent-xlsx probe <file>                        # Sheet names, dims, headers, column_map
agent-xlsx probe <file> --types                # + column types, null counts
agent-xlsx probe <file> --brief                # Condensed: headers + column_map + types + nulls (minimal tokens)
agent-xlsx probe <file> --full                 # + types, sample(3), stats, date_summary
agent-xlsx probe <file> -s "Sales" --full      # Single-sheet deep-dive
agent-xlsx probe <file> --no-header            # Non-tabular: P&L, dashboards (cols as A,B,C)
agent-xlsx probe <file> --types --no-header    # + potential_headers auto-detection

Tabular probes return column_map — map headers to column letters for building ranges:

{ "column_map": { "user_id": "A", "amount": "E" }, "last_col": "W" }

Non-tabular probes (--no-header) with --types return potential_headers — auto-detected header rows:

{
  "potential_headers": [
    { "row": 6, "values": { "I": "Dec", "J": "% sales", "L": "Nov" } }
  ]
}

Essential Commands

Data (Polars — fast)

# Read
agent-xlsx read <file> "A1:F50"                    # Range (positional arg)
agent-xlsx read <file> -s Sales "B2:G100"          # Sheet + range
agent-xlsx read <file> --limit 500 --offset 100    # Pagination
agent-xlsx read <file> --sort amount --descending  # Sorted
agent-xlsx read <file> --formulas                  # Formula strings (slower, openpyxl)
agent-xlsx read <file> "H54:AT54" -s 2022 --no-header            # Non-tabular (compact by default)
agent-xlsx read <file> "H54:AT54,H149:AT149" -s 2022             # Multi-range (1 call)
agent-xlsx read <file> "H54:AT54" --all-sheets                    # Same range, every sheet (1 call)
agent-xlsx read <file> "H54:AT54,H149:AT149" --all-sheets         # Multi-range × all sheets
agent-xlsx read <file> "A1:F50" --precision 2                     # Round floats to 2 decimal places

# Search
agent-xlsx search <file> "revenue"                 # Substring match, all sheets
agent-xlsx search <file> "rev.*" --regex           # Regex
agent-xlsx search <file> "stripe" --ignore-case    # Case-insensitive
agent-xlsx search <file> "SUM(" --in-formulas      # Inside formula strings
agent-xlsx search <file> "GDP" --columns "C"       # Search only column C
agent-xlsx search <file> "GDP" --columns "Indicator Name"  # By header name
agent-xlsx search <file> "^ARG$" --regex --limit 1 # First match only
agent-xlsx search <file> "code" --range "A100:D200"  # Scoped to row range
agent-xlsx search <file> "GDP" -c C --range "Series!A1:Z1000" -l 5  # All combined

# Read — column letter → header name resolution
agent-xlsx read <file> "A500:D500" --headers       # Resolve A,B,C,D to row-1 names

# Export
agent-xlsx export <file> --format csv              # CSV to stdout (compact by default)
agent-xlsx export <file> --format markdown          # Markdown table
agent-xlsx export <file> --format csv -o out.csv -s Sales
agent-xlsx export <file> --format markdown --no-header -s 2022  # Non-tabular export

Metadata (openpyxl)

# Overview — structural summary
agent-xlsx overview <file>
agent-xlsx overview <file> --include-formulas --include-formatting

# Inspect — comprehensive single-pass metadata
agent-xlsx inspect <file> -s Sales                 # Everything: formulas, merges, tables, charts, comments, cond. formatting, validation, hyperlinks, freeze panes
agent-xlsx inspect <file> -s Sales --range A1:C10  # Scoped
agent-xlsx inspect <file> --names                  # Named ranges
agent-xlsx inspect <file> --charts                 # Chart metadata
agent-xlsx inspect <file> --vba                    # VBA modules
agent-xlsx inspect <file> --format "A1" -s Sales   # Cell formatting detail
agent-xlsx inspect <file> --comments               # Cell comments

# Format — read/write cell formatting
agent-xlsx format <file> "A1" --read -s Sales      # Read formatting
agent-xlsx format <file> "A1:D1" --font '{"bold": true, "size": 14}'
agent-xlsx format <file> "B2:B100" --number-format "#,##0.00"
agent-xlsx format <file> "A1:D10" --copy-from "G1" # Copy all formatting
agent-xlsx format <file> "A1:D1" --horizontal center --bold  # Alignment shorthands
agent-xlsx format <file> "A1:D1" --batch '[{"range": "A1:L1", "bold": true, "fill_color": "4472C4"}, {"range": "A2:L50", "number_format": "#,##0.00"}]'  # Batch: different styles per range, one save

Write (openpyxl)

agent-xlsx write <file> "A1" "Hello"                               # Single value
agent-xlsx write <file> "A1" "=SUM(B1:B100)" --formula             # Formula
agent-xlsx write <file> "A1:C3" --json '[[1,2,3],[4,5,6],[7,8,9]]' # 2D array
agent-xlsx write <file> "A1" --from-csv data.csv                   # CSV import
agent-xlsx write <file> "A1" "Hello" -o new.xlsx -s Sales          # Copy to new file
agent-xlsx write new.xlsx "A1" --json '[[1,2],[3,4]]'              # Auto-creates new.xlsx
agent-xlsx write <file> "A1:B2" --json '[["=SUM(C1:C10)","=AVERAGE(D1:D10)"]]' --formula  # Batch formulas

# Sheet management
agent-xlsx sheet <file> --list
agent-xlsx sheet <file> --create "New Sheet"
agent-xlsx sheet <file> --rename "Old" --new-name "New"
agent-xlsx sheet <file> --delete "Temp"
agent-xlsx sheet <file> --copy "Template" --new-name "Q1"
agent-xlsx sheet <file> --h

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.670 reviews
  • Ganesh Mohane· Dec 28, 2024

    I recommend agent-xlsx for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Shikha Mishra· Dec 24, 2024

    agent-xlsx has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Naina Sethi· Dec 20, 2024

    Registry listing for agent-xlsx matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Advait Nasser· Dec 16, 2024

    agent-xlsx fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Soo Jackson· Dec 16, 2024

    agent-xlsx fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Ava Bhatia· Dec 12, 2024

    I recommend agent-xlsx for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Sakshi Patil· Nov 19, 2024

    Useful defaults in agent-xlsx — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Hana Park· Nov 11, 2024

    Solid pick for teams standardizing on skills: agent-xlsx is focused, and the summary matches what you get after install.

  • Advait Chen· Nov 7, 2024

    We added agent-xlsx from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Omar Thompson· Nov 7, 2024

    We added agent-xlsx from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

showing 1-10 of 70

1 / 7