Excel (xlsx)
Read, fix and build spreadsheets with formulas and charts.
Anthropic's spreadsheet skill, used whenever a spreadsheet is the input or output: opening and fixing .xlsx or .csv files, adding columns, computing formulas, formatting and charting. Source-available, not open source.
Install this skill
npx skills add https://github.com/anthropics/skills --skill xlsxRuns the open-source skills CLI in your own terminal. It asks which agents to add the skill to. Read what it tells your agent to do before you install it.
Install for your agent
Claude Code
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a claude-codeAdd
-gto install it for every project instead.Or ask Claude Code to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for Claude Code. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .claude/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.claude/skills/for this project, or~/.claude/skills/for all your projects.Picked up in the current session, no restart needed.
Claude Code skills docsClaude.ai
Upload the ZIP
- In Settings > Capabilities, turn on Code execution and file creation.
- Go to Customize > Skills, press +, then Create skill.
- Choose Upload a skill and pick the ZIP you downloaded.
Free, Pro and Max plans. On Team and Enterprise, an owner turns skills on in Organization settings first.
Claude.ai skills docsChatGPT
Upload the ZIP
- Open Skills in ChatGPT and select Create.
- Select Upload from your computer and pick the ZIP you downloaded.
- Wait for ChatGPT's safety scan. A skill marked Needs Review asks you to check it before use.
Skills that rely on scripts or a terminal may not work unchanged in ChatGPT.
ChatGPT skills docsCodex
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a codexAdd
-gto install it for every project instead.Or ask Codex to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for Codex. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .agents/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.agents/skills/for this project, or~/.agents/skills/for all your projects.Restart Codex if the skill does not show up.
Codex skills docsCursor
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a cursorAdd
-gto install it for every project instead.Or ask Cursor to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for Cursor. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .cursor/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.cursor/skills/for this project, or~/.cursor/skills/for all your projects.Run it by typing / and the skill name in chat.
Cursor skills docsGitHub Copilot
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a github-copilotAdd
-gto install it for every project instead.Or ask GitHub Copilot to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for GitHub Copilot. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .github/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.github/skills/for this project, or~/.copilot/skills/for all your projects.Works in Copilot CLI, the cloud agent and agent mode in VS Code and JetBrains.
GitHub Copilot skills docsAntigravity
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a antigravityAdd
-gto install it for every project instead.Or ask Antigravity to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for Antigravity. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .agents/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Antigravity skills docsOr copy the folder yourself
Unzip the download into
.agents/skills/for this project, or~/.gemini/config/skills/for all your projects.Gemini CLI
Run this in your project
npx skills add https://github.com/anthropics/skills --skill xlsx -a gemini-cliAdd
-gto install it for every project instead.Or ask Gemini CLI to do it
Install the "xlsx" skill from https://github.com/anthropics/skills for Gemini CLI. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .gemini/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.gemini/skills/for this project, or~/.gemini/skills/for all your projects.Run /skills to check it was found.
Gemini CLI skills docs
- Installs
- 167.7K via skills.sh
- GitHub
- 176.2K stars ↗
- Last updated
- 10 Sept 2026
Security checks
Run by independent scanners and published on skills.sh. Their results, not a Viberation review.
- 17 Feb 2026
Gen Agent Trust Hub Pass
This skill performs advanced Office document processing, including a high-risk mechanism that compiles C code at runtime and uses LD_PRELOAD to inject it into the LibreOffice process. It also modifies the local LibreOffice configuration by installing macros to facilitate Excel formula recalculation.
- 31 Jul 2026
Socket Pass
No alerts
- 17 Feb 2026
Snyk Pass
Risk: LOW · No issues
- 26 Feb 2026
Runlayer Pass
6/53 files flagged
- 16 Apr 2026
ZeroLeaks Pass
Score: 93/100 · 2 sections analyzed
What's inside (53 files)
LICENSE.txt1.5K charsscripts/office/helpers/__init__.py3.4K charsscripts/office/helpers/pptx_chart.py5.9K charsscripts/office/helpers/pptx_slide.py1.7K charsscripts/office/helpers/pptx_theme.py3.5K charsscripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd2K charsscripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd2.5K charsscripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd2.9K charsscripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd1.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd75K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd7K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd51.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd624 charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd152K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd1.2K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd8.9K charsscripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd14.8K charsscripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd83.6K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd1.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd7.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd6.4K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd1.2K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd880 charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd2.6K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd3.5K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd7.5K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd23.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd1.4K charsscripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd242.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd26.1K charsscripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd25.3K charsscripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd535 charsscripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd5.7K charsscripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd4K charsscripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd171.4K charsscripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd4.6K charsscripts/office/schemas/mce/mc.xsd3.1K charsscripts/office/schemas/microsoft/wml-2010.xsd26.5K charsscripts/office/schemas/microsoft/wml-2012.xsd3.7K charsscripts/office/schemas/microsoft/wml-2018.xsd901 charsscripts/office/schemas/microsoft/wml-cex-2018.xsd1.8K charsscripts/office/schemas/microsoft/wml-cid-2016.xsd1K charsscripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd600 charsscripts/office/schemas/microsoft/wml-symex-2015.xsd745 charsscripts/office/soffice.py5.9K charsscripts/office/validate.py6.1K charsscripts/office/validators/__init__.py336 charsscripts/office/validators/base.py33.8K charsscripts/office/validators/docx.py17.5K charsscripts/office/validators/pptx.py16K charsscripts/office/validators/redlining.py11.2K charsscripts/recalc.py10.7K charsSKILL.md8.5K chars
SKILL.md, first part. Shown as plain text.
--- name: xlsx description: "Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved." license: Proprietary. LICENSE.txt has complete terms --- # XLSX creation, editing, and analysis | 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`, and `markitdown` are preinstalled — do not run `pip install` first; write the script and import directly. Only if an import fails (or the `markitdown` command is missing): `pip install` the missing package. > Script paths below are relative to this skill's directory. ## Requirements for every output - **Professional font** (Arial, Times New Roman) throughout, unless the user says otherwise. - **Zero formula errors.** Never ship while `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. - **Use formulas, never hardcoded results.** Write `sheet['B10'] = '=SUM(B2:B9)'`, not the Python-computed total. The sheet must recalculate when its inputs change. - **Follow the user's spec literally.** Exact tab names, exact column headers, and the formula they spelled out. A redesign that computes something else fails, however elegant. - **Document every assumption and hardcoded number** where the reader will see it — a cell comment, or an adjacent cell at a table's end. Cite a real source when one exists (`Source: Company 10-K, FY2024, Page 45, Revenue Note, [SEC EDGAR URL]`); when the number came from the user, say so plainly. - **A workbook *you create* for someone to fill in** needs a short legend naming which cells to edit, and one example row of realistic values showing the expected format. Never add such a row to a file you were asked to edit. - **Editing an existing file: match its conventions exactly.** They override every guideline here. Find its designated input cells first — a distinct font color, fill, or shading marks them — write only there, and leave every existing formula untouched. ## Recalculate (mandatory whenever the file contains formulas) 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. ```bash 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
Key info
- Pricing
- Free
- Category
- Skills