npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

microsoft-excel

v0.2.3

Published

Agent skill for Microsoft Excel for Claude Code, Cursor, Codex and other SKILL.md agents: read, edit and verify .xlsx/.xlsm/.csv with openpyxl, recalculate with LibreOffice, automate with Office.js, VBA or Graph.

Readme

Microsoft Excel agent skill

TL;DR: microsoft-excel is a free, MIT-licensed agent skill that teaches AI agents (Claude Code, Cursor, Codex, Gemini CLI and other agents that read SKILL.md skills) to read, create, edit, recalculate and verify Excel workbooks without breaking them, with openpyxl, xlsxwriter, pandas, Office.js, Office Scripts, VBA and Microsoft Graph. Install: npx skills add skillsaas/microsoft-excel or npm install microsoft-excel.

microsoft-excel is an Agent Skills skill that teaches AI coding agents (Claude Code, Cursor, Codex, Gemini CLI and others) to read, create, edit, recalculate and verify Excel workbooks without breaking them.

Unofficial. Microsoft and Excel are trademarks of Microsoft Corporation. This project is not affiliated with or endorsed by Microsoft.

Use it when

  • Writing or debugging Excel formulas (XLOOKUP, dynamic arrays, LAMBDA, SUMIFS).
  • Creating or editing .xlsx, .xlsm or .csv files with openpyxl, xlsxwriter or pandas when Excel is not installed.
  • Getting calculated values without Excel (forced LibreOffice recalculation).
  • Automating Excel with Office.js, Office Scripts, VBA, COM/xlwings or Microsoft Graph.
  • Fixing wrong totals, lost leading zeros, shifted dates, CSV import damage, #NAME? or #SPILL!.
  • Handling workbooks from untrusted sources safely.

Install

npx skills add skillsaas/microsoft-excel            # vercel-labs skills CLI, reads SKILL.md at the repo root
npm install microsoft-excel              # files land in node_modules/microsoft-excel/
# Planned, not yet published: npx @skillsaas/cli add microsoft-excel --claude

Manual: copy SKILL.md, references/ and scripts/ into your agent's skills folder, for example ~/.claude/skills/microsoft-excel/. Keep the folder name microsoft-excel. Typical locations: Claude Code ~/.claude/skills/, other agents in their own skills folder (check your agent's docs). SKILL.md calls scripts as python <skill-dir>/scripts/NAME.py, so they work whatever the agent's working directory is.

What it does

  • inspect_xlsx.py: read-only workbook inventory with --json (defusedxml, size cap, sanitized output).
  • recalc.py: forced LibreOffice recalculation in a throwaway profile (macros off, link updates never, no network), then a check of the results.
  • csv_to_xlsx.py: CSV to .xlsx with text-safe columns (leading zeros kept) and formula-injection protection.
  • References for formulas by Excel version, error codes, pivots, charts, validation, Office.js, Office Scripts, VBA, Power Query and OOXML repair.
  • Python 3.9+ with openpyxl and defusedxml; Excel itself is optional.

FAQ

What is the microsoft-excel skill? An Agent Skills package (a SKILL.md plus references and Python scripts) that tells an AI agent how to work with Excel files and automation correctly. It is unofficial and not affiliated with Microsoft.

Why does openpyxl return None for formula cells? openpyxl reads the value cached by the last app that calculated the file; a file written by openpyxl has none. recalc.py recalculates it with LibreOffice so the values can be read.

How do I stop Excel losing leading zeros in a CSV? Convert it with csv_to_xlsx.py, which writes every cell as text unless its column is listed as a number or date column, instead of opening the CSV directly.

Do I need Excel installed? No. The scripts use Python; recalc.py needs LibreOffice. Excel is only needed for features LibreOffice does not calculate the same way.

How do I install it in Claude Code? npx skills add skillsaas/microsoft-excel, or copy SKILL.md, references/ and scripts/ to ~/.claude/skills/microsoft-excel/.

Is it safe with workbooks from strangers? The inspector only reads. references/security.md covers macros, external data links and formula injection, and recalc.py runs LibreOffice with macros and link updates off and no network.

Contents

| Path | Purpose | | :--- | :--- | | SKILL.md | Decision guide, workflow, security rules, hard limits, verification checklist, symptom table | | references/formulas.md | Function choice by Excel version, error codes with fixes, input and expected output | | references/recipes.md | Pivots, charts, data validation, conditional formatting, names, merged cells, protection, encryption, pandas, xlsxwriter | | references/automation.md | Office.js, Office Scripts, Graph, COM/xlwings, VBA, Power Query | | references/security.md | Untrusted files, macros, external data, formula injection, parsing safety | | references/ooxml.md | .xlsx internals and repair | | scripts/inspect_xlsx.py | Read-only inventory, --json, hardened (defusedxml, size cap, sanitized output) | | scripts/recalc.py | Forced LibreOffice recalculation in a throwaway profile (macros off, link updates never, no network), then verification | | scripts/csv_to_xlsx.py | CSV to .xlsx with text-safe columns and formula-injection protection |

Script dependencies: Python 3.9+, pip install -r scripts/requirements.txt (openpyxl, defusedxml), plus LibreOffice for recalc.py. The tests in tests/smoke_test.py are in the repo only, not in the npm package; run python tests/smoke_test.py (it prints PASS, FAIL and SKIP lines and a summary).

Discovery metadata

  • Skill name: microsoft-excel (same as the folder, the GitHub repo skillsaas/microsoft-excel and the npm package microsoft-excel).
  • Formats: xlsx, xlsm, xlsb, xls, csv. Tested with openpyxl 3.1.5, xlsxwriter 3.2.9, LibreOffice 25.2, Python 3.13; pandas 3.0.
  • Catalog of all skillsaas skills (planned, not yet published): https://github.com/skillsaas/index
  • recalc.py --sandboxed is for operators only: agents must never pass it themselves (references/security.md).
  • GitHub topics: agent-skill, agent-skills, skill-md, claude-code-skill, excel, xlsx, openpyxl and more.

License

MIT