The xlsx skill: spreadsheets with formulas, not pasted numbers
An agent can total a column in Python and paste the result, but that sheet dies the moment an input changes. The xlsx skill insists on formulas over hardcoded values, a mandatory recalculation pass with recalc.py in LibreOffice and zero formula errors, and when the file is someone else's it follows their conventions exactly.
Creates and edits workbooks with openpyxl, moves bulk data through pandas and takes a quick look at sheets with markitdown.
Recalculates every formula with recalc.py, which rewrites the file and returns JSON naming the cells that hold errors.
Chooses functions that survive verification: SUMIFS, INDEX and MATCH, the _xlfn. prefix for six newer ones, never XLOOKUP or FILTER.
Knows the openpyxl traps: saving after data_only=True wipes formulas, and .xlsm macros survive only with keep_vba=True.
Formats financial models by convention: blue inputs, black formulas, green cross-sheet links, yellow fill for key assumptions.
When to use it
You need a five-year model or a budget where changing one assumption flows through every dependent cell.
A CSV export has malformed rows and misplaced headers, and it has to become a clean, usable spreadsheet.
A colleague's model needs a new column without touching their formulas or their input-cell colour coding.
Ask your agent
Build a five-year revenue model in Excel with inputs on their own tab and every total as a formula
Clean empty rows and junk headers out of sales.csv and save it as sales.xlsx
Add a variance-to-plan column to budget.xlsx without changing any existing formulas
Questions
How do I get the xlsx skill?
Run npx skills add anthropics/skills@xlsx. Claude Code users can also go through plugins: /plugin marketplace add anthropics/skills, then /plugin install document-skills@anthropic-agent-skills.
Why does the xlsx skill avoid XLOOKUP?
The LibreOffice used for verification cannot evaluate XLOOKUP, XMATCH, SORT, FILTER, UNIQUE or SEQUENCE, so they end up as errors. Lookups use INDEX and MATCH, and sorting or filtering happens in Python.
Does the xlsx skill work with Google Sheets?
No. Its description rules out Google Sheets API integrations; the deliverable must be a spreadsheet file such as .xlsx or .csv.