Percerno Skillsbeta
← everything it can do · sheets

Sheet Builder XLSX

Make a finished Excel workbook (.xlsx) in ONE command: from a CSV (or several) with typed columns, header styling, auto-widths, filters, frozen header, totals row with real formulas, optional pivot-style summary sheets (sum/count/mean by a column) and a chart. Also builds a workbook from a JSON spec of sheets and rows. Use for any request for an Excel file, spreadsheet, regneark, budget, overview, summary by category, or converting CSV to Excel. Triggers: Excel, xlsx, spreadsheet, regneark, CSV to Excel, summary table, totals.

9 uses this weeksource Percernolicence MIT
Quality gate: PASS · makes it possible · measured 2026-10-23
Delivered a valid file in 3 of 3 requests; the bare model cannot produce this file type.
3/3 requests produced a file that opens
Security scan: clean · 2026-10-24 · 2 files · ran in sandbox
no network calls, shell tricks, credential access or instruction tampering found in its files.

Try asking

Say it in your own words; the assistant finds this recipe by itself. Examples:

“Use the sheet-builder skill to …”
Try this skill from Claude, ChatGPT or a chat on your own page. Free plan, no credit card.Get started free

Details

When it is the right choice

Make a finished Excel workbook (.xlsx) in ONE command: from a CSV (or several) with typed columns, header styling, auto-widths, filters, frozen header, totals row with real formulas, optional pivot-style summary sheets (sum/count/mean by a column) and a chart. Also builds a workbook from a JSON spec of sheets and rows. Use for any request for an Excel file, spreadsheet, regneark, budget, overview, summary by category, or converting CSV to Excel. Triggers: Excel, xlsx, spreadsheet, regneark, CSV to Excel, summary table, totals.

The full recipe the assistant reads

Sheet builder (one command)

Do not write openpyxl code by hand. One command builds, validates and reports.

From a CSV, with summaries

python3 /skills/sheet-builder/scripts/build_sheet.py /work/in/sales.csv /work/out/sales.xlsx \
  --summary region:units:sum,price:mean --summary product:units:sum --chart region:units:sum
  • Data sheet: typed columns (numbers, dates), bold header, filters, frozen header, auto widths, a totals row with SUM formulas for numeric columns (up to 1,048,000 rows).
  • --summary <by>:<col>:<agg>[,<col>:<agg>…] adds a sheet "By " with one row per value (agg: sum, count, mean, min, max). Repeatable.
  • --chart <by>:<col>:<agg> adds a bar chart on that summary sheet.
  • --derive "revenue=units*price" adds a computed column (Excel formula per row) before summaries.

From a JSON spec

{"sheets": [{"name": "Budget 2027", "columns": ["Post", "Q1", "Q2", "Q3", "Q4"],
             "rows": [["Salaries", 120000, 120000, 125000, 125000], ["Marketing", 20000, 25000, 25000, 30000]],
             "totals": true}]}
python3 /skills/sheet-builder/scripts/build_sheet.py /work/spec.json /work/out/budget.xlsx

Prints OK <sheets> sheets, <rows> rows -> file or a clear error. Give the person the download link.

Not this skill

Editing an existing workbook in place (keep its formatting) or reading one: use minimax-xlsx or python -m markitdown file.xlsx.

Files in this skill (2)
  • SKILL.md
  • scripts/build_sheet.py
Where it comes from

Written by Percerno, MIT licence.