xlsx · Spreadsheet Creation & Editing

Read, write, and fix Excel workbooks: new spreadsheets, bulk data processing, formula computation, formatting, data cleaning, and format conversion.
openpyxl handles formulas and formatting, pandas handles bulk data, markitdown gives quick previews. Hard output standards: professional fonts, formulas (never hardcoded results), zero formula errors (recalc-verified), literal spec compliance, and every assumption and hardcoded number documented with its source. Financial models follow color and number-format conventions.
Example invocation: "Make me a budget sheet with formulas."
Full brief
Positioning
xlsx is the creation, editing, and analysis tool for spreadsheet files: any task whose primary input or output is a spreadsheet goes through it. The deliverable is the spreadsheet file itself — not a report or a script.
Core capabilities
- Create & edit: openpyxl writes formulas/formatting (
=SUM(B2:B9), never hardcoded totals); pandas moves bulk data in and out. - Quick look: markitdown previews by sheet (no cell coordinates — not for planning edits).
- Model reading: reading formulas and values needs two
load_workbookpasses (both data_only modes). - Mandatory recalc: any file with formulas must pass
recalc.py(real LibreOffice evaluation); no delivery whileerrors_found. - Formula selection: prefer Excel-2007-era functions (SUMIFS/INDEX/MATCH/IFERROR); six newer functions need the
_xlfn.prefix; XLOOKUP/SORT/FILTER/UNIQUE/SEQUENCE are banned (the runtime LibreOffice can't evaluate them). - Financial-model conventions: colors (blue=hardcoded input, black=formula, green=cross-sheet link, red=cross-file, yellow fill=key assumptions) and number formats (currency / percentages stored as fractions / multiples / years as text).
- Structural discipline: every assumption in its own labeled cell, referenced by formulas; row-consistent formulas; guard zero denominators.
- Literal spec compliance: exact tab names, column headers, and user-spelled formulas; a redesign that computes something else fails.
- Assumption documentation: every assumption and hardcoded number sourced where the reader can see it (cell comment or adjacent cell).
Workflow
- Confirm the need: create / edit / clean / convert; preview existing files with markitdown first
- Write the script: openpyxl formulas + pandas bulk data
- Run
recalc.py; fix and re-run on errors - Write 2-3 formulas and verify values before building the full grid (prevents grid-wide misalignment)
- Deliver the spreadsheet file
Inputs & outputs
| Input | Required | Notes |
|---|---|---|
| Spreadsheet file / need | Yes | Existing .xlsx/.xlsm/.xltx/.csv/.tsv, or a new-build description |
Output: the processed spreadsheet file (formulas recalc-verified).
Boundaries with adjacent skills
| Skill | Lane |
|---|---|
| xlsx (this) | Deliverable is a spreadsheet file |
| Report-type tools | Deliverable is a report/HTML (spreadsheet is just intermediate data) |
Fit
- New budget/model sheets with formulas
- Column adds, formula computation, formatting, charts on existing sheets
- Cleaning and structuring messy tabular data
- Format conversion (csv/tsv/xlsx)
Before you start
- openpyxl / pandas / markitdown preinstalled, no pip needed; LibreOffice powers formula recalculation.
- Delivery red lines: no delivery while recalc reports
errors_found; formulas must recalculate, numbers must never be hardcoded. - Editing existing files: find its input-cell conventions first (color/shading markers), write only to input cells, leave existing formulas untouched;
.xlsmneedskeep_vba=Trueto keep macros.
xlsx is part of the Aiglade Skill library. Invoke it from the Aiglade chat box in plain language.