Questions? hello@viberation.devGet supportBlogDocsChangelog
Get started

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 xlsx

Runs 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-code

    Add -g to 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 docs
  • Claude.ai

    Upload the ZIP

    1. In Settings > Capabilities, turn on Code execution and file creation.
    2. Go to Customize > Skills, press +, then Create skill.
    3. 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 docs
  • ChatGPT

    Upload the ZIP

    1. Open Skills in ChatGPT and select Create.
    2. Select Upload from your computer and pick the ZIP you downloaded.
    3. 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 docs
  • Codex

    Run this in your project

    npx skills add https://github.com/anthropics/skills --skill xlsx -a codex

    Add -g to 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 docs
  • Cursor

    Run this in your project

    npx skills add https://github.com/anthropics/skills --skill xlsx -a cursor

    Add -g to 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 docs
  • GitHub Copilot

    Run this in your project

    npx skills add https://github.com/anthropics/skills --skill xlsx -a github-copilot

    Add -g to 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 docs
  • Antigravity

    Run this in your project

    npx skills add https://github.com/anthropics/skills --skill xlsx -a antigravity

    Add -g to 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.

    Or copy the folder yourself

    Unzip the download into .agents/skills/ for this project, or ~/.gemini/config/skills/ for all your projects.

    Antigravity skills docs
  • Gemini CLI

    Run this in your project

    npx skills add https://github.com/anthropics/skills --skill xlsx -a gemini-cli

    Add -g to 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
Last updated
10 Sept 2026

Security checks

Run by independent scanners and published on skills.sh. Their results, not a Viberation review.

  • 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.

    17 Feb 2026
  • Socket Pass

    No alerts

    31 Jul 2026
  • Snyk Pass

    Risk: LOW · No issues

    17 Feb 2026
  • Runlayer Pass

    6/53 files flagged

    26 Feb 2026
  • ZeroLeaks Pass

    Score: 93/100 · 2 sections analyzed

    16 Apr 2026
What's inside (53 files)
  • LICENSE.txt1.5K chars
  • scripts/office/helpers/__init__.py3.4K chars
  • scripts/office/helpers/pptx_chart.py5.9K chars
  • scripts/office/helpers/pptx_slide.py1.7K chars
  • scripts/office/helpers/pptx_theme.py3.5K chars
  • scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd2K chars
  • scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd2.5K chars
  • scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd2.9K chars
  • scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd1.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd75K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd7K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd51.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd624 chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd152K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd1.2K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd8.9K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd14.8K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd83.6K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd1.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd7.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd6.4K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd1.2K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd880 chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd2.6K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd3.5K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd7.5K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd23.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd1.4K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd242.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd26.1K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd25.3K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd535 chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd5.7K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd4K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd171.4K chars
  • scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd4.6K chars
  • scripts/office/schemas/mce/mc.xsd3.1K chars
  • scripts/office/schemas/microsoft/wml-2010.xsd26.5K chars
  • scripts/office/schemas/microsoft/wml-2012.xsd3.7K chars
  • scripts/office/schemas/microsoft/wml-2018.xsd901 chars
  • scripts/office/schemas/microsoft/wml-cex-2018.xsd1.8K chars
  • scripts/office/schemas/microsoft/wml-cid-2016.xsd1K chars
  • scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd600 chars
  • scripts/office/schemas/microsoft/wml-symex-2015.xsd745 chars
  • scripts/office/soffice.py5.9K chars
  • scripts/office/validate.py6.1K chars
  • scripts/office/validators/__init__.py336 chars
  • scripts/office/validators/base.py33.8K chars
  • scripts/office/validators/docx.py17.5K chars
  • scripts/office/validators/pptx.py16K chars
  • scripts/office/validators/redlining.py11.2K chars
  • scripts/recalc.py10.7K chars
  • SKILL.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

More in Skills