Skip to content

XLSX

Anthropic skill that makes Claude read, edit, and create .xlsx, .xlsm, .csv, and .tsv files using pandas and openpyxl with live formulas.

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.