xlsxlisted
Install: claude install-skill MatrixFounder/Universal-skills
# xlsx skill
**Purpose**: Give the agent a deterministic, script-first path for
creating and sanity-checking `.xlsx` workbooks. The core operations
(CSV → styled .xlsx, force formula recalculation, scan for formula
errors, structural OOXML validation) are wrapped in small CLIs so the
agent does not have to rewrite openpyxl boilerplate on every task and
is never surprised by "formulas are stored but not calculated" (the
single most common xlsx bug).
## 1. Red Flags (Anti-Rationalization)
**STOP and READ THIS if you are thinking:**
- "I'll just call `DataFrame.to_excel` and ship it." → **WRONG**. `to_excel` writes no styles, no frozen header, and no auto-filter. The result looks amateur. Use `csv2xlsx.py`.
- "I'll just call `pd.DataFrame.from_records(rows).to_excel(out)` on my LLM JSON output." → **WRONG**. Same `to_excel` styling gap, plus pandas' `infer_objects` heuristics silently promote mixed-type columns to `object`/`float64` (an `int` column with one `null` becomes `float64`). Use `json2xlsx.py` — preserves native JSON types, ISO-date auto-coercion, csv2xlsx-style header.
- "I wrote formulas with openpyxl, so the numbers are there." → **WRONG**. `openpyxl` stores formulas as strings with no cached value. Every downstream consumer (pandas, charts, external apps) sees `None`. Run `xlsx_recalc.py` before shipping.
- "Validation says OK, the formulas must be fine." → **WRONG**. `xlsx_validate.py` scans for cached error values. If there are no cached values at all (fresh o