What it does
Turns Claude into a working spreadsheet engineer for .xlsx, .xlsm, .csv, and .tsv files. When you reference a spreadsheet by name or path, Claude picks between pandas (bulk data work) and openpyxl (formulas, formatting, multiple sheets), writes real Excel formulas rather than hardcoded Python results, and runs a bundled LibreOffice script to recalculate and scan for #REF!, #DIV/0!, #VALUE!, and #NAME? errors before handing the file back. Best fit when the deliverable itself has to be a spreadsheet file you can open in Excel or Google Sheets.
Use cases
- Clean a messy CSV into a proper workbook — fix misplaced headers, drop junk rows, coerce column types, and export a formatted .xlsx with a summary sheet.
- Build a financial model from a 10-K — layer assumptions, projection formulas, and industry-standard color coding (blue inputs, black formulas, green cross-sheet links) into a new workbook.
- Edit an existing template in place — add columns, insert rows, or update figures in a client-supplied .xlsx while preserving the original fonts, formats, and formula conventions.
When to use it
- The user hands you a spreadsheet file or path and wants something changed, computed, or extracted.
- You need a workbook with live formulas that will keep recalculating when inputs change.
- You are converting between tabular formats (CSV → XLSX, TSV → XLSX, or multi-sheet consolidation).
- You are producing a financial model or analytical report where the output must open in Excel.
When NOT to use it
- The final deliverable is a Word doc, PDF, HTML report, or slide deck — even if the source data is tabular.
- You need a Google Sheets integration via the Sheets API rather than a local file.
- The task is really a data pipeline into a database or a standalone Python script the user will run themselves.
- The file is a legacy .xls (binary format) — openpyxl only handles the XML-based formats.
Installation
Install in Claude Code
/plugin install xlsx@anthropic-agent-skills If you haven’t added the Anthropic marketplace yet, run this first:
Add Marketplace
/plugin marketplace add anthropics/skills After install, just mention it in conversation:
Prompt
Open the sales.xlsx in my downloads, clean up the header rows, add a monthly totals column with a SUM formula, and save it as sales_clean.xlsx. Troubleshooting
Formulas show as text strings when I open the file Files written by openpyxl store formulas but not their computed values. Run python scripts/recalc.py output.xlsx (bundled with the skill) to have LibreOffice evaluate every formula and populate cached values so Excel and previewers display numbers instead of =SUM(...).
Recalculation reports #REF! or #DIV/0! errors The recalc script returns JSON with an error_summary listing each error type and its cell locations. Fix the underlying references (column letters vs. indices are a common cause — column 64 is BL, not BK) or guard denominators with IFERROR or IF(x=0,0,...), then run the script again until status is success.
Editing an existing template wipes out its formatting Load the workbook with openpyxl.load_workbook (not pandas, which discards styles) and never open it with data_only=True before saving — that flag replaces formulas with their cached values permanently. Match the template’s existing fonts and number formats instead of applying the skill’s default financial-model conventions.
Calculated values are hardcoded instead of formulas The skill explicitly forbids computing totals or ratios in Python and writing the number to a cell. Assign formula strings like sheet['B10'] = '=SUM(B2:B9)' so the workbook stays dynamic when the user edits source data.