Agent skill

Excel Workbook Editor

by TokenRhythm in TokenRhythm/opensquilla

Inspects, edits in place or creates Microsoft Excel .xlsx workbooks with openpyxl, treating each cell as a typed number, string, datetime or formula value.

Apache-2.0Auto-check passedDocuments & Office

Install Excel Workbook Editor

skills CLI
$ npx skills add TokenRhythm/opensquilla --skill xlsx -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TokenRhythm/opensquilla xlsx --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TokenRhythm/opensquilla.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/opensquilla/skills/bundled/xlsx .claude/skills/xlsx && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
xlsx
GitHub stars
7.1k
Token cost
~1.6k tokens
SKILL.md length
528 words
Files
6 (incl. scripts, references)
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Inspects, edits in place or creates Microsoft Excel .xlsx workbooks with openpyxl, treating each cell as a typed number, string, datetime or formula value.

  • Reading the sheets and cell values out of an existing .xlsx file
  • SKILL.md covers Decide the path first, Execution and delivery, Path A: Inspect and Path B: Edit in place, plus 3 more sections
  • Runs Python scripts from its folder; calls python
  • Editing specific cells or formulas in an existing workbook

What it does

The skill picks one of three paths based on what you have: inspecting an existing workbook's sheets and cells, editing specific cells in place, or building a new workbook from scratch or a brief; when the user supplies a workbook to update, the existing file's formatting is treated as the baseline by default, and a fresh build is only chosen if the user explicitly says to start fresh. Inspection reads with openpyxl's load_workbook and a bundled script, returning each cell's type using openpyxl's letter codes for number, string, datetime, formula, bool, error or inline string, with a data-only flag switching from the literal formula text to its cached computed result.

Editing in place loads the workbook, sets specific cells such as a formula string, and can also run through a bundled script driven by a JSON list of operations, with rows and columns addressed in Excel's 1-based convention. The skill runs its Python examples through a code-execution tool when available, keeping input and output files in the active workspace and publishing the finished workbook as an artifact; in a restricted channel without that tool it falls back to openpyxl directly rather than trying to bypass a missing shell.

When your agent uses it

  • Reading the sheets and cell values out of an existing .xlsx file
  • Editing specific cells or formulas in an existing workbook
  • Building a new Excel workbook from scratch or from a data brief

Example prompts

  • “Read every sheet in this workbook and list the formula cells.”
  • “Set cell B2 on the Q3 sheet to sum B3 through B10.”
  • “Build a new workbook from this list of rows with a header row.”

Requirements

  • Python with openpyxl

What it can do on your machine

Read from SKILL.md and the folder at commit 4494195. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Excel Workbook Editor loads about 1.6k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 42 tokens; SKILL.md has 528 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from TokenRhythm/opensquilla at commit 4494195, republished under its Apache-2.0 licence (© TokenRhythm). 528 words, ~1,608 tokens.

Download SKILL.mdSave it as .claude/skills/xlsx/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
xlsx
description
Read, inspect, edit, or create Microsoft Excel `.xlsx` workbooks, including structured data extraction, formula-aware cell edits, and workbook generation from rows.
visibility
public
invocation
direct
description_zh
读取、编辑或创建Microsoft Excel .xlsx 工作簿。当用户提到电子表格、.xlsx文件、工作簿、工作表、公式、数据透视表,或要求提取表格数据、修改工作表或从行数据构建工作簿时触发。支持三种执行路径:结构化检查、就地单元格编辑,以及用openpyxl从零创建。以 =…
homepage
https://openpyxl.readthedocs.io/
provenance.origin
clawhub-mit0
provenance.license
MIT-0
provenance.upstream_url
https://clawhub.ai/excel-xlsx
provenance.maintained_by
OpenSquilla

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 haveGoalPath
Existing .xlsxRead sheets and cellsA. Inspect
Existing .xlsxModify specific cellsB. Edit-in-place
Nothing or a briefBuild a new workbookC. 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".

Execution and delivery

Use execute_code with the Python examples below when it is available. Keep all input and output files in the active workspace, then call publish_artifact(path="out.xlsx") to deliver the finished workbook. In a restricted channel, use openpyxl directly; the shell commands below are optional shortcuts for sessions that expose exec_command. Do not use Python subprocesses to bypass an unavailable shell tool or request host execution when the sandbox fails. If execution or a required library is unavailable, report that limitation and keep the session read-only.


Path A: Inspect

With execute_code:

python
from openpyxl import load_workbook
wb = load_workbook("book.xlsx", data_only=False)
for ws in wb.worksheets:
    print(ws.title, list(ws.values))
wb.close()
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_only=False so formula expressions are returned literally; pass --data-only to get the cached computed result instead.


Path B: Edit in place

With execute_code:

python
from openpyxl import load_workbook
wb = load_workbook("book.xlsx")
wb["Q3"]["B2"] = "=SUM(B3:B10)"
wb.save("edited.xlsx")
wb.close()
bash
python {baseDir}/scripts/edit_xlsx.py book.xlsx ops.json --out edited.xlsx

ops.json:

json
[
  {"op": "set_cell", "sheet": "Q3", "row": 2, "col": 2, "value": "=SUM(B3:B10)"},
  {"op": "set_cell", "sheet": "Q3", "row": 5, "col": 1, "value": "Net margin"},
  {"op": "rename_sheet", "old": "Sheet1", "new": "Summary"}
]

Rules:

  • Rows and columns are 1-based (Excel convention).
  • Strings starting with = are written as formulas (cell.value = "=..."), matching openpyxl behavior. To write a literal =hello use '=hello (Excel's leading-apostrophe escape) or pass an explicit as_text: true.
  • Datetimes go in as ISO 8601 strings ("2026-05-06T09:00:00"); the helper parses them back to datetime objects so Excel renders the cell with date format.
  • Editing a cell does not recalculate dependent formulas. Excel and LibreOffice recalculate on open. If you need cached values immediately, use a calculation engine (out of scope here).

Show full SKILL.md (191 more words)Show less

Path C: Create from scratch

bash
python {baseDir}/scripts/create_xlsx.py spec.json --out out.xlsx

Spec:

json
{
  "sheets": [
    {
      "name": "Sales",
      "rows": [
        ["Region", "Revenue", "Growth"],
        ["NA", 1200000, "=B2/SUM($B$2:$B$4)"],
        ["EU", 850000, "=B3/SUM($B$2:$B$4)"]
      ],
      "merged": [{"range": "A1:C1"}],
      "freeze": "A2"
    }
  ]
}

For programmatic use:

python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Sales"
ws.append(["Region", "Revenue"])
ws.append(["NA", 1_200_000])
ws["C2"] = "=B2*1.05"          # formula
ws.merge_cells("A1:B1")
ws.freeze_panes = "A2"
wb.save("out.xlsx")

See references/openpyxl.md for styles, conditional formatting, charts, and formula references.


Common pitfalls

SymptomCauseFix
Cell shows =SUM(...) as text, not the resultWrote the string with as_text: true or workbook lacks cached valuesOpen in Excel and save once; or use a calc engine
Date renders as a serial number (45000)Wrote int instead of datetimePass an ISO string and let the helper parse; or set cell.number_format
Merged range loses bordersBorders apply to the top-left cell only after mergeApply border to the top-left cell post-merge
Workbook breaks Excel after editRemoved a defined name without updating dependent formulasAudit defined_names before delete
Pivot tables disappearopenpyxl drops pivot caches on saveEdit pivots in Excel; programmatic edit is not supported

Boundaries

  • This skill handles .xlsx (OOXML SpreadsheetML). It does not handle .xls (legacy binary), .xlsm (macro-enabled), or Google Sheets. Convert via Excel or LibreOffice export first.
  • Pivot tables, slicers, and pivot caches are read-only here.
  • For datasets larger than ~100k rows or 50MB workbooks, prefer pandas + to_excel with the xlsxwriter engine; openpyxl loads the whole workbook into memory.

© TokenRhythm, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in src/opensquilla/skills/bundled/xlsx of TokenRhythm/opensquilla.

  • SKILL.md
  • THIRD_PARTY_NOTICES.md
  • references/openpyxl.md
  • scripts/create_xlsx.py
  • scripts/edit_xlsx.py
  • scripts/inspect_xlsx.py

Open the folder on GitHubat commit 4494195

Compare with similar skills

Excel Workbook Editor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Excel Workbook Editor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Excel Workbook Editor this skillTokenRhythm/opensquilla7.1k—~1.6kAutomated safety check: PassApache-2.0
Kimi XLSXthvroyal/kimi-skills238—~9.5kAutomated safety check: PassNone
Office XLSXopen-octo/octo-agent125—~1.8kAutomated safety check: NotesMIT
Cc Streaming Export Safetydoccker/cc-use-exp1.1k—~2.2kAutomated safety check: PassCustom licence
XLSXnexus-research-lab/nexus150—~501Automated safety check: PassApache-2.0
Office XLSXsingula-ai/alego1091 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Kimi XLSX

    thvroyal/kimi-skills

    Specialized utility for advanced manipulation, analysis, and creation of spreadsheet files, including (but not limited to) XLSX, XLSM, CSV formats.

    238 GitHub stars~9.5k tokensUpdated 6 mo ago
    Documents & OfficeAuto-check passed
  • Office XLSX

    open-octo/octo-agent

    Create, read, and edit Excel (.xlsx) spreadsheets programmatically with openpyxl — cell values, formulas, styling (fonts/fills/borders/alignment/number formats), merged cells, multiple sheets…

    125 GitHub stars~1.8k tokensUpdated 2 days ago
    Documents & OfficeAuto-check: notes
  • Cc Streaming Export Safety

    doccker/cc-use-exp

    当实现用户驱动的大文件导出或批量序列化(Excel/CSV/JSON/JSONL/PDF,数据量未知或超过 1 万行/10 MB)时触发;普通小文件下载、静态资源下载、非导出 Writer/Report 类不触发。防止 OOM、临时文件残留、同步导出阻塞 HTTP 线程和表格公式注入。

    1.1k GitHub stars~2.2k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • XLSX

    nexus-research-lab/nexus

    只要电子表格文件(.xlsx、.xlsm、旧版 .xls、.csv、.tsv)是任务的主要输入或输出,或者需要 被打开、读取、创建、修改,就使用本 Skill。也适用于公式、格式、图表、数据清洗和表格格式转换。

    150 GitHub stars~501 tokensUpdated today
    Documents & OfficeAuto-check passed
  • Office XLSX

    singula-ai/alego

    Read, create, and modify Excel workbooks (.xlsx), including data, formulas, formatting, and pandas analysis.

    109 GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed
  • Create Spreadsheet

    theexperiencecompany/gaia

    Generate an Excel (.xlsx) workbook or a CSV file — tables, financial models, data exports, formatted reports with charts.

    308 GitHub stars~804 tokensUpdated today
    Documents & OfficeAuto-check passed

More from TokenRhythm/opensquilla

All 8 skills in this repo
  • Deep Research Workflow

    TokenRhythm/opensquilla

    Runs multi-round research in three stages with a persisted state file, evidence tracking and a long-form report with per-claim citations.

    7.1k GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • PDF Toolkit

    TokenRhythm/opensquilla

    Deterministic PDF operations through bundled scripts: extract text and tables, merge files or page ranges, split by range, fill form fields and build PDFs from data.

    7.1k GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Word DOCX Toolkit

    TokenRhythm/opensquilla

    Inspects, edits in place or creates Word .docx files with bundled Python scripts, keeping existing styles intact when content changes.

    7.1k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • HTML Coder

    TokenRhythm/opensquilla

    Guides semantic, accessible HTML work: pages, forms, media and HTML5 APIs, plus how to deliver a runnable webpage project with a preview.

    7.1k GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • PowerPoint Reader and Builder

    TokenRhythm/opensquilla

    Reads, edits in place, or creates PowerPoint .pptx decks, picking one of three paths based on what tools and files are available.

    7.1k GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check: notes
  • Sub-Agent Delegation

    TokenRhythm/opensquilla

    Hands a self-contained coding task to Codex, Claude Code, OpenCode or Pi as a non-interactive background process, using OpenSquilla's exec_command and process tools.

    7.1k GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed

Questions about Excel Workbook Editor

What does Excel Workbook Editor do?

Inspects, edits in place or creates Microsoft Excel .xlsx workbooks with openpyxl, treating each cell as a typed number, string, datetime or formula value. The skill picks one of three paths based on what you have: inspecting an existing workbook's sheets and cells, editing specific cells in place, or building a new workbook from scratch or a brief; when the user supplies a workbook to update, the existing file's formatting is treated as the baseline by default, and a fresh build is only chosen if the user explicitly says to start fresh. Inspection reads with openpyxl's load_workbook and a bundled script, returning each cell's type using openpyxl's letter codes for number, string, datetime, formula, bool, error or inline string, with a data-only flag switching from the literal formula text to its cached computed result.

When should I use Excel Workbook Editor?

Excel Workbook Editor fits situations like: reading the sheets and cell values out of an existing .xlsx file; editing specific cells or formulas in an existing workbook; building a new Excel workbook from scratch or from a data brief.

How do I install Excel Workbook Editor in Claude Code?

Run `npx skills add TokenRhythm/opensquilla --skill xlsx -a claude-code`. Or copy the skill folder (src/opensquilla/skills/bundled/xlsx in TokenRhythm/opensquilla) into .claude/skills/xlsx in your project. Claude Code loads it when a task matches its description.

How do I install Excel Workbook Editor in Codex?

Run `npx skills add TokenRhythm/opensquilla --skill xlsx -a codex`. Or copy the skill folder (src/opensquilla/skills/bundled/xlsx in TokenRhythm/opensquilla) into .agents/skills/xlsx in your project. Codex loads it when a task matches its description.

Can I use Excel Workbook Editor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TokenRhythm/opensquilla --skill xlsx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/xlsx, .gemini/skills/xlsx, .github/skills/xlsx and .opencode/skills/xlsx in your project.

What does Excel Workbook Editor need to run?

Going by SKILL.md and its folder, Excel Workbook Editor needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python with openpyxl.

Does Excel Workbook Editor access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Excel Workbook Editor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Excel Workbook Editor use?

Excel Workbook Editor is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Excel Workbook Editor use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.

What are the alternatives to Excel Workbook Editor?

Skills that share tags, products or a category with Excel Workbook Editor: Kimi XLSX (thvroyal/kimi-skills, 238 stars), Office XLSX (open-octo/octo-agent, 125 stars), Cc Streaming Export Safety (doccker/cc-use-exp, 1.1k stars) and XLSX (nexus-research-lab/nexus, 150 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Excel Workbook Editor?

TokenRhythm (a GitHub organization) maintains it in TokenRhythm/opensquilla, which has 7,087 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 4, 2026.

Source: TokenRhythm/opensquilla on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.