Agent skill · Data & Analytics

xlsx

Read, edit, or create Microsoft Excel `.xlsx` workbooks. Trigger this skill whenever the user mentions a spreadsheet, .xlsx file, workbook, sheet, formula, pivot table, or asks to extract tabular data, modify a sheet, or build a workbook from rows. Three execution paths: structured inspection, in-place cell edits, and create-from-scratch via openpyxl. Values starting with `=` are written as formulas; everything else is a literal value with type preserved (int / float / str / datetime).

opensquilla6,385★ · +160/wk · 1 repos on radarProfile →
claude-codeships scriptsApache-2.0
Install
npx skills add opensquilla/opensquilla --skill xlsx --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 6
SKILL.md size: 6 KB
Bundled scripts: yes
Path: src/opensquilla/skills/bundled/xlsx/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 6,515 · +130 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# xlsx Work with `.xlsx` workbooks. The format is OOXML SpreadsheetML — a zip container of XML parts. Treat each cell as a typed value: a number, a string, a datetime, or a formula. Mixing the four causes Excel to flag the workbook or compute incorrect totals. ## Decide the path first | You have | Goal | Path | |---|---|---| | Existing `.xlsx` | Read sheets and cells | A. Inspect | | Existing `.xlsx` | Modify specific cells | B. Edit-in-place | | Nothing or a brief | Build a new workbook | C. Create from scratch | If the user provides a workbook to update, default to path B and treat the input as the formatting baseline. Choose path C only when the user says "start fresh". --- ## Path A: Inspect ```bash python {baseDir}/scripts/inspect_xlsx.py /path/to/book.xlsx ``` Output: ```json { "sheets": [ { "name": "Q3", "max_row": 10, "max_col": 5, "rows": [ [ {"value": "Metric", "type": "s"}, {"value": "Value", "type": "s"} ], [ {"value": "Revenue", "type": "s"}, {"value": 2100000, "type": "n"} ] ] } ] } ``` `type` follows openpyxl conventions: `n` (number), `s` (string), `d` (datetime), `f` (formula), `b` (bool), `e` (error), `inlineStr` (inline string). The helper script reads with `data

What's inside
Steps it walks through
  1. Decide the path first
  2. Path A: Inspect
  3. Path B: Edit in place
  4. Path C: Create from scratch
  5. Common pitfalls
  6. Boundaries
Ships with 5 files
  • THIRD_PARTY_NOTICES.md
  • references/openpyxl.md
  • scripts/create_xlsx.py
  • scripts/edit_xlsx.py
  • scripts/inspect_xlsx.py
Commands it runs
python {baseDir}/scripts/inspect_xlsx.py /path/to/book.xlsx
python {baseDir}/scripts/edit_xlsx.py book.xlsx ops.json --out edited.xlsx
python {baseDir}/scripts/create_xlsx.py spec.json --out out.xlsx
More from opensquilla
All skills →
About this skill
What does the xlsx skill do?

Read, edit, or create Microsoft Excel `.xlsx` workbooks. Trigger this skill whenever the user mentions a spreadsheet, .xlsx file, workbook, sheet, formula, pivot table, or asks to extract tabular data, modify a sheet, or build a workbook from rows. Three execution paths: structured inspection, in-place cell edits, and create-from-scratch via openpyxl. Values starting with `=` are written as formulas; everything else is a literal value with type preserved (int / float / str / datetime).

How do I install it?

Run `npx skills add opensquilla/opensquilla --skill xlsx --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From opensquilla/opensquilla, a repository with 6,515 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going