xlsx

xlsx is a skill for Claude Code, Codex from EldanRing/qubicl. It costs 48 tokens per session (1,624 once invoked), scanned A, original, Apache-2.0.

A workflow for creating, inspecting, editing, restructuring, converting, and checking Excel workbooks and CSV files with local spreadsheet tools. CSV is a simple text format for table data.

In plain words
What is it for?
Use it to edit or create XLSX files, convert between XLSX and CSV, update formulas or tables, change rows and columns, and validate results.
Why use it?
It helps handle spreadsheet changes while checking formulas, tables, formatting, and workbook structure.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to edit or create XLSX files, convert between XLSX and CSV, update formulas or tables, change rows and columns, and validate results.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/eldanring/qubicl/xlsx
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add EldanRing/qubicl --skill xlsx
Clone the repo
git clone --depth 1 https://github.com/EldanRing/qubicl

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for xlsx

README.md
[![agentmods](https://agentmods.dev/badge/skills/eldanring/qubicl/xlsx/github.svg)](https://agentmods.dev/skills/eldanring/qubicl/xlsx)
Your own site
<a href="https://agentmods.dev/skills/eldanring/qubicl/xlsx"><img src="https://agentmods.dev/badge/skills/eldanring/qubicl/xlsx/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for xlsx

Your own site · 80×15
<a href="https://agentmods.dev/skills/eldanring/qubicl/xlsx"><img src="https://agentmods.dev/badge/skills/eldanring/qubicl/xlsx.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 48 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,624 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00048 $0.01624
Opus 5.5 $0.00019 $0.00650
Sonnet 5.5 $0.00010 $0.00325
Haiku 4.5 $0.00005 $0.00162

Measured 8d ago against content hash ba51f1fc8f73, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

xlsx scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 9 executable files (scripts/csv_to_xlsx.py, scripts/xlsx_create.py, scripts/xlsx_edit.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/core/xlsx/SKILL.md · 93 lines

How it starts

The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Spreadsheet workflows

Keep workbook artifacts under /home/qubicl. Obtain this skill's resourceRoot from skill_view and run its helpers with /opt/qubicl/skills-venv/bin/python. The computer and workstation presets contain the pinned spreadsheet libraries; do not install packages during a task.

Useful helpers beneath <resourceRoot>/scripts/:

  • xlsx_read.py FILE --sheets|--json|--cells|--csv|--formulas|--notes|--names
  • xlsx_create.py SPEC.json OUTPUT.xlsx
  • xlsx_edit.py FILE for values, rows, sheets, tables, names, links, notes, and protection
  • xlsx_restructure.py FILE for reference-aware row or column changes
  • csv_to_xlsx.py INPUT.csv OUTPUT.xlsx
  • xlsx_to_csv.py INPUT.xlsx OUTPUT.csv
  • xlsx_recalc.py FILE when LibreOffice is available

Read references/restructuring.md before inserting or deleting rows or columns in a formula-heavy workbook.

Inspect workbook structure and formulas before editing. Preserve formulas unless replacement is intentional, use a new output for risky transformations, and read the result back afterward. LibreOffice recalculation is available only on workstation computers; explain that limitation rather than manufacturing cached formula values.

xlsx_read.py --formulas includes normal, array and what-if data-table formulas. Typed entries include formula_type and their result ref; array entries include the expression in formula, while data-table entries include all input references and flags in attributes. JSON/CSV sheet dumps represent typed formulas as JSON objects rather than Python object names; standalone xlsx_to_csv.py uses the same typed-formula and duration serialization. Elapsed-time values such as [h]:mm use signed ISO 8601 durations (P1DT3H15M for 27 hours 15 minutes), preserving days and fractional seconds. Dates and times retain their ISO date/time format.

For a typed client-facing read, use --cells (active sheet by default, or --sheet NAME). Each stored cell includes its coordinate, normalized value, type, original OOXML rawValue/storageType, numberFormat, and formula metadata with its result range. rawValue is storage data, including shared-string indexes, not display text. Both --cells and --formulas explicitly report cachedValueAvailable, cacheStatus and per-cell missing-cache warnings; a present empty-string, zero or error result remains distinct from a missing cache. The reader never recalculates or invents display values. Use the existing render workflow on a copy when appearance matters; recalculated render results do not establish that the original file contained those caches. Literal strings starting with = remain text and are not listed as formulas.

Use the common rendering receipt for PDF, DOCX, XLSX and PPTX: /opt/qubicl/skills-venv/bin/python /opt/qubicl/artifact-render.py FILE --outdir DIR. Each invocation captures its source, uses an isolated Office profile, and writes a unique run directory with PDF, exact numbered PNGs and manifest.json. Read sourceSha256, pages, warnings and validation, then inspect the generated pages. Old previews are never returned as this run's outputs. visuallyInspected: false is intentional: the tool renders; the agent performs visual review. Office rendering needs workstation.

Rendering and xlsx_recalc.py report formula errors, missing cached results and changed OOXML package parts. recalculated: true does not mean error-free, correct formulas, or perfect Excel fidelity. Preserve the source and review formulas, formats, charts, print areas and the rendered pages before delivering converted workbooks.

CSV imports preserve leading-zero/long identifiers and mixed-type columns; strings beginning with = stay literal by default, including headers. Default UTF-8 decoding accepts an initial BOM and preserves noninitial U+FEFF characters. Use --column-types '{"A":"text","B":"number"}' for deliberate types or --allow-formulas only when formulas are intended. Explicit typed empty cells become blanks; --empty-cells reject requires nonempty typed values. Numeric overflow/nonfinite values and invalid typed conversions fail with CSV row, column and cell context before saving. Imports preflight Excel's 1,048,576-row, 16,384-column, 32,767-character cell and 8,192-character formula limits; oversized input fails instead of silently truncating. The saved archive is reopened to verify dimensions and text/formulas before atomically replacing the destination, so a failed conversion preserves an existing output. Review the conversion report. xlsx_to_csv.py --data-only refuses missing formula caches before writing; --allow-missing-results explicitly permits them and reports affected cells. Restructuring supports native table column insertion/deletion, unique generated headers, calculated/totals formulas, filter criteria and sort ranges. It updates structured references throughout the workbook; deleted columns/tables become #REF!, while partially deleted column ranges retain surviving endpoints. Inserted table rows receive calculated-column formulas, and removing a header preserves the surviving data as a headerless table. Read the JSON transformation report and inspect the saved workbook.

Read the full file on GitHub · 93 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed · +14 lines ba51f1fc8f73
  2. 9d ago Changed · +56 lines 9b189c882335
  3. 2mo ago First seen · 23 lines · 48 tokens per session scan A 1db74b08246e

Subscribe to this mod's changes

xlsx is a skill published in the GitHub repository EldanRing/qubicl (13 stars, last pushed 8d ago), licensed Apache-2.0. It adds 48 tokens to every session and 1,624 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

xlsx compared with skills from other repositories

xlsx next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
xlsxEldanRing/qubiclSkill138d agoApache-2.0A48Claude Code, Codex
site-reportPavloSEO/seohead-seotoolsSkill02mo agoMITA134Claude Code
lark-basePinvou/pinvou-agentSkill2.9ktodayMITA174Claude Code, Codex
tencent-docsPinvou/pinvou-agentSkill2.9ktodayMITA233Claude Code, Codex
gog-workspaceAtomicBot-ai/atomic-agentSkill3.4k2d agoMITA68Claude Code, Codex
xlsxAtomicBot-ai/atomic-agentSkill3.4k2d agoMITA44Claude Code, Codex
visualizerPinvou/pinvou-agentSkill2.9ktodayMITA113Claude Code, Codex