xlsx-toolkit
Skill1 starsChanged 7 days agoMITView on GitHub
Create, edit, clean or analyze Excel/CSV files with live formulas and no errors. Use when a spreadsheet (.xlsx, .xlsm, .csv, .tsv) is the input or the deliverable.
In this repository7 other files it gives its agents.
- angular-conventionsSkill
- appstore-payouts-to-excelSkill
- clean-git-summarySkill
- conventional-commitSkill
- create-commitSkill
- invoice-processingSkill
- ksef-invoiceSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Start: python scripts/inspect_xlsx.py FILE — sheets, size, first rows, formula and error counts.
- Very specific: line 15
Use functions every Excel and LibreOffice has: SUMIFS, COUNTIFS, INDEX/MATCH, IFERROR, ROUND.
- Distinctive: line 22
Verify before handing over:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
XLSX Toolkit
Tools: openpyxl for cells, formulas and formatting; csv/pandas for bulk data. Install only if the import fails.
Script paths are relative to this skill's folder.
Start: python scripts/inspect_xlsx.py FILE — sheets, size, first rows, formula and error counts. Plan edits from cell coordinates, not from a text dump.
Rules for every output:
- Formulas, not computed results:
=SUM(B2:B13), not the number Python summed. Inputs live in their own labeled cells; formulas reference them (=B5*(1+$B$2), never=B5*1.05). - Use functions every Excel and LibreOffice has:
SUMIFS,COUNTIFS,INDEX/MATCH,IFERROR,ROUND. AvoidXLOOKUP,FILTER,UNIQUE,SORT,LET,LAMBDA— sort/filter/dedupe in Python first. - Guard every division:
=IFERROR(B2/C2,0). - Quote sheet names with spaces:
='Raw Data'!A1. - Editing an existing file: keep its layout, styles, names and formulas. Write only into its input cells. Never save a workbook loaded with
data_only=True(formulas become values)..xlsm: load withkeep_vba=True. - New file: header row bold and frozen (
ws.freeze_panes = "A2"), column widths set, one data table per sheet, no merged cells inside data, number formats set (#,##0.00,0.0%stored as fractions, dates as real dates). - State assumptions and hardcoded numbers next to them (note cell or comment) with their source.
Verify before handing over:
- Re-run
inspect_xlsx.pyon the output.errorsmust be empty (exit code 1 means errors). formulas_without_cached_valueis normal for files written by openpyxl — Excel computes them on open. If LibreOffice is installed,soffice --headless --convert-to xlsx --outdir checked FILEand inspect the copy to see real values.- Spot-check 2–3 formulas against values you compute by hand — no errors does not mean correct ranges.
Report: file path, sheets, what changed, any assumption the user must confirm.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

