Open, edit, clean, convert, or create spreadsheet files and tabular data.
This xlsx skill appears to be an open-source, prompt-only skill specification with no stated secrets, remote endpoints, or extra system privileges. Based on the provided material, overall risk is low, with the main consideration being ordinary local spreadsheet file handling.
The material explicitly states there are no required keys or environment variables, and the documentation does not request API tokens, account credentials, or other sensitive authentication data, so credential exposure and abuse risk is low.
The material declares no remote endpoints, and the description focuses on creating, editing, cleaning, and converting local .xlsx/.xlsm/.csv/.tsv files, with no stated transfer of user data to external services.
The system marks it as prompt-only, and the material reads like workflow/output guidance rather than an executable program or installer; while it mentions assuming LibreOffice is installed, the skill itself does not show a request for additional execution privileges.
The skill is intended to handle spreadsheet files, so it would ordinarily involve reading, modifying, creating, and converting local tabular data files; this is normal for this type of skill, and no overbroad access beyond the stated purpose is evident, but file scope should still be limited by least privilege.
The source is an open-source GitHub repository under anthropics/skills, making the contents auditable; although the license is undeclared, stars are 0, and maintenance status is unknown, these are governance gaps rather than high-risk red flags such as closed-source distribution, tampering, or suspicious injection, so overall supply-chain risk remains low.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "xlsx" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/skills/main/skills/xlsx/SKILL.md 2. Save it as ~/.claude/skills/xlsx/SKILL.md 3. Reload skills and tell me it's ready
| Task | Approach |
|---|---|
| Create or edit with formulas/formatting | openpyxl — see gotchas below |
| Bulk data in or out | pandas (read_excel, to_excel) |
| Quick look at a sheet | markitdown file.xlsx — ## SheetName per sheet; reads .xlsm too. No cell coordinates, so don't plan edits from it |
| Read a model (formulas and values) | two load_workbook passes — see gotchas |
openpyxl,pandas, andmarkitdownare preinstalled — do not runpip installfirst; write the script and import directly. Only if an import fails (or themarkitdowncommand is missing):pip installthe missing package.
Script paths below are relative to this skill's directory.
recalc.py reports errors_found. If you think an error predates you, prove it: load the original with data_only=True and look at that cell. An error you introduced looks exactly like one you inherited.sheet['B10'] = '=SUM(B2:B9)', not the Python-computed total. The sheet must recalculate when its inputs change.Source: Company 10-K, FY2024, Page 45, Revenue Note, [SEC EDGAR URL]); when the number came from the user, say so plainly.openpyxl writes formulas as strings with no cached values. Until you recalculate, every
formula cell reads back as None to anything reading cached values — pandas,
load_workbook(data_only=True), and most previewers.
python scripts/recalc.py output.xlsx [timeout_seconds] # default 30
LibreOffice computes every formula, the file is rewritten in place, and you get JSON:
status (success | errors_found), total_formulas, total_errors, and an
error_summary naming up to 100 cells per error type (locations_truncated says how many it
withheld — trust total_errors, not the length of the list). Fix what it names and run it
again. JSON with an error key instead of a status means nothing was recalculated, and
only that case exits non-zero — errors_found exits 0, so never treat a clean exit as a clean
workbook.
A green recalc proves your formulas evaluate, not that they are right. An off-by-one range or a reference to the wrong row yields a clean, error-free file with wrong numbers. Write 2–3 formulas first and check they pull the values you expect, before building out a grid.
A workbook that links to another file loses those links if you re-save it with openpyxl and
then recalculate. Such a formula reads ='[1]Returns Analysis'!$B$2 — the [1] is an index
into the workbook's external-reference list, naming a separate file on disk, not a sheet.
That file is rarely present here, so the cell's cached value is the only thing holding its
data. openpyxl strips that value on save; LibreOffice then has to resolve the reference for
…
Create, refine, and evaluate AI skills for better performance and triggering accuracy.
Create, read, edit, and organize PPTX presentations, text, notes, and layouts.
Find matching Claude Academy courses, tutorials, and learning resources.
Build, debug, and optimize Claude API and Anthropic SDK applications.
Create, edit, and polish professional Word documents and .docx files.
Guide users to co-author docs, proposals, and specs through iterative refinement.
Create, edit, analyze, and visualize spreadsheets with formulas and formatting.
Read, write, and manipulate Excel spreadsheets programmatically in Go workflows.
Automate workbook creation, data updates, and spreadsheet formatting across Excel and Google Sheets.
Read, create, and update Excel files for automated spreadsheet workflows.
Query Excel and CSV data in natural language for fast analysis.
Lets AI read messy Excel files and extract clean tabular data.