Agent skill

PipesHub Excel Spreadsheet Builder

by pipeshub-ai in pipeshub-ai/pipeshub-ai

Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check.

Apache-2.0Auto-check passedDocuments & Office

Install PipesHub Excel Spreadsheet Builder

skills CLI
$ npx skills add pipeshub-ai/pipeshub-ai --skill xlsx -a claude-code

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

GitHub CLI
$ gh skill install pipeshub-ai/pipeshub-ai 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/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/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
3.8k
Token cost
~1.8k tokens
SKILL.md length
780 words
Files
3 (incl. scripts)
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check.

  • Creating a new Excel workbook with formulas, multiple sheets or pivot-style summaries
  • SKILL.md covers Quick Reference, The one rule that matters…, Creating / editing with exceljs and Reading a workbook, plus 2 more sections
  • Runs Python and TypeScript scripts from its folder; calls node, python and npx
  • Editing an existing .xlsx file while keeping its totals and lookups as live formulas

What it does

The skill's central rule is that any cell whose value is a calculation the user will keep updating, such as a total, percentage or lookup, must be written as an actual Excel formula rather than the number the generating code computed, because a hardcoded number looks right today but silently goes stale the moment an input cell changes; raw input data the user supplied is the one exception and stays hardcoded. In exceljs, a formula is set as an object like { formula: "SUM(B2:B9)" } rather than a string starting with an equals sign.

A quick-reference table sets exceljs in TypeScript as the default for creating or editing a workbook and for bulk tabular data, reaching for openpyxl or pandas only when the workbook is a genuine byproduct of Python-side data analysis already underway, not as a first choice; both are pre-installed in the sandbox. A static formula sanity-check script ships in both a TypeScript and a Python version, run against a finished file to check formulas without actually recalculating them, since the skill notes formulas are not recalculated in this environment.

When your agent uses it

  • Creating a new Excel workbook with formulas, multiple sheets or pivot-style summaries
  • Editing an existing .xlsx file while keeping its totals and lookups as live formulas
  • Checking a generated workbook's formulas for static errors before delivery

Example prompts

  • “Create a budget spreadsheet with a formula-driven total row, not hardcoded numbers.”
  • “Add a running balance column to this workbook using real Excel formulas.”
  • “Run the formula safety check on the report I just generated.”

Requirements

  • Node.js with exceljs, or Python with openpyxl or pandas

What it can do on your machine

Read from SKILL.md and the folder at commit 18d929a. 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 2 files in scripts/ (Python and TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • python
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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

PipesHub Excel Spreadsheet Builder loads about 1.8k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 780 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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 pipeshub-ai/pipeshub-ai at commit 18d929a, republished under its Apache-2.0 licence (© pipeshub-ai). 780 words, ~1,800 tokens.

Download SKILL.mdSave it as .claude/skills/xlsx/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
xlsx
description
Use this skill whenever the user asks for an Excel spreadsheet, a .xlsx file, or a workbook with formulas/pivots/multiple sheets — creating one from scratch or editing an existing one. Covers the rule that computed values must be written as real Excel formulas (never hardcoded numbers), and a static formula-safety check. Formulas are NOT recalculated in this environment — see 'Not supported'.

Excel spreadsheets (.xlsx)

Quick Reference

TaskDefault (Node)Fallback (Python)
Create / edit a workbookexceljs — write a TypeScript program (packages: ["exceljs"]) and run it via your coding tool; pre-installed in the standard sandbox imageopenpyxl — reach for this only when the workbook is a byproduct of a larger pandas-based analysis already running in Python (see data-analysis), not as a first choice
Bulk tabular data in/outexceljs (worksheet.addRows(records))pandas (pd.read_excel/DataFrame.to_excel) when the data is already a DataFrame
Static formula sanity-checknode skills/xlsx/scripts/verify_formulas.ts <file.xlsx> (via tsx, already installed by the sandbox's TypeScript runtime)python skills/xlsx/scripts/verify_formulas.py <file.xlsx>

Default to exceljs in TypeScript for any new spreadsheet-creation task, per this environment's Node-first policy for office-document generation — reach for openpyxl/pandas only when the workbook is genuinely a byproduct of Python-side data work you're already doing (e.g. exporting a data-analysis result), not as a starting point. Both are already installed/allowlisted — no extra setup either way.

The one rule that matters most: write real formulas, not computed values

When a cell's value is the result of a calculation the user will want to keep updating (a total, a percentage, a lookup), write it as an actual Excel formula, never as the number your code computed on the JS/Python side. A hardcoded number looks correct today but silently goes stale the moment the user edits an input cell — which defeats the entire purpose of giving them a spreadsheet instead of a static table. This applies to totals, subtotals, percentages-of-total, running balances, and any lookup/reference between sheets.

In exceljs, a formula is a cell value shaped as an object, not a string prefixed with =:

typescript
worksheet.getCell("B10").value = { formula: "SUM(B2:B9)" };

Exception: raw input data (the numbers the user gave you, or that you extracted from a source document) should be hardcoded values — only derived values need to be formulas.

Creating / editing with exceljs

typescript
import ExcelJS from "exceljs";

const workbook = new ExcelJS.Workbook();
const sheet = workbook.addWorksheet("Report", {
  views: [{ state: "frozen", ySplit: 1 }], // freeze the header row
});

sheet.columns = [
  { header: "Item", key: "item", width: 32 },
  { header: "Amount", key: "amount", width: 14, style: { numFmt: "#,##0.00" } },
];

sheet.addRows([{ item: "Widgets", amount: 1200 }, { item: "Gadgets", amount: 830 }]);
sheet.getCell(`B${sheet.rowCount + 1}`).value = { formula: `SUM(B2:B${sheet.rowCount})` };

await workbook.xlsx.writeFile("report.xlsx");
  • Set explicit column widths (width in the columns definition, or worksheet.getColumn(n).width = ...) and number formats (cell.numFmt = "#,##0.00" / "0.0%") — an unformatted sheet of raw numbers reads as unfinished.
  • Freeze header rows for any sheet with more than ~15 data rows: worksheet.views = [{ state: "frozen", ySplit: 1 }] (add xSplit too to also freeze leading columns).
  • When writing a formula whose range depends on the data you just wrote (e.g. a SUM over however many rows got added), compute the range bounds from worksheet.rowCount/actualRowCount, never a hardcoded row count — otherwise the formula silently omits rows if the dataset grows.
  • Sheet/tab names: Excel forbids : \ / ? * [ ] and a 31-character limit — sanitize any user-provided sheet name before calling workbook.addWorksheet(name).
  • exceljs has no auto-fit for column widths — if content length varies a lot, compute a width from the max string length in that column yourself before setting it, rather than leaving a default that truncates.
Show full SKILL.md (337 more words)Show less

Reading a workbook

typescript
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile("input.xlsx");
const sheet = workbook.getWorksheet("Sheet1"); // or workbook.worksheets[0]
sheet.eachRow({ includeEmpty: false }, (row) => { /* row.values, row.getCell(n) */ });

For heavy tabular reshaping (multi-file joins, group-by/aggregate before writing the result out), it's reasonable to read via pandas.read_excel into a DataFrame instead — pandas' reshaping API is more ergonomic than hand-rolling the equivalent in exceljs, and the DataFrame can still be written out via pandas.DataFrame.to_excel (or handed to exceljs if you need formulas/styling on the way out that pandas doesn't support).

Verifying formulas without a recalculation engine

This environment cannot recalculate formulas (no LibreOffice/Excel to open the file and re-run its calculation engine), so a formula's result is never re-verified — only its shape. scripts/verify_formulas.ts (or the Python equivalent, scripts/verify_formulas.py — both inspect the same on-disk .xlsx format and produce equivalent results, so use whichever matches the sandbox session you already have open) does a best-effort static scan for the most common formula footguns:

  • Division formulas whose denominator cell reference is currently blank or 0 in the data you wrote — a likely future #DIV/0! the moment that cell is read.
  • A range reference (e.g. SUM(B2:B100)) that extends beyond the sheet's actual used range — usually a sign the range was hardcoded rather than computed from the data.
  • Any cell whose cached value (if the file was previously touched by a real spreadsheet app) is itself an Excel error token (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?, #NULL!, #NUM!).

Run it after writing the file, before handing it to the user: npx tsx skills/xlsx/scripts/verify_formulas.ts output.xlsx. It exits non-zero and prints every flagged cell if it finds anything.

Independently cross-check any number you report in your response (e.g. "the total is $45,230") by actually computing it in code — since the formula itself is never executed in this environment, the only way to be confident the number you're telling the user about is correct is to have actually computed it yourself, not just written a formula that should compute it.

Not supported in this environment

  • Formula recalculation via a LibreOffice macro (Anthropic's reference implementation's approach) — not available; formulas are written correctly but left uncalculated, and Excel/Google Sheets will calculate them on first open.

© pipeshub-ai, 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 2 other files (scripts) in backend/python/app/agents/agent_loop/skills/builtin_packs/xlsx of pipeshub-ai/pipeshub-ai.

  • SKILL.md
  • scripts/verify_formulas.py
  • scripts/verify_formulas.ts

Open the folder on GitHubat commit 18d929a

Compare with similar skills

PipesHub Excel Spreadsheet Builder 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.

PipesHub Excel Spreadsheet Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PipesHub Excel Spreadsheet Builder this skillpipeshub-ai/pipeshub-ai3.8k—~1.8kAutomated safety check: PassApache-2.0
XLSX Spreadsheet ToolkitXiaomiMiMo/MiMo-Code14k—~2.9kAutomated safety check: PassApache-2.0
Kimi XLSXthvroyal/kimi-skills238—~9.5kAutomated safety check: PassNone
Excel Spreadsheet Builderagentscope-ai/QwenPaw36k—~1.8kAutomated safety check: PassProprietary
Office XLSXsingula-ai/alego1091 repos~2.3kAutomated safety check: PassMIT
CSV and Excel MergerOneWave-AI/claude-skills336—~1.6kAutomated safety check: PassMIT

Similar skills

  • XLSX Spreadsheet Toolkit

    XiaomiMiMo/MiMo-Code

    Builds, edits, cleans, recalculates and reads Excel workbooks and CSV files with openpyxl and pandas, plus LibreOffice for recalculation and PDF export.

    14k GitHub stars~2.9k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • 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
  • Excel Spreadsheet Builder

    agentscope-ai/QwenPaw

    Creates, edits, cleans and analyzes Excel and CSV files with openpyxl and pandas, recalculating formulas through LibreOffice so files are delivered without formula errors.

    36k GitHub stars~1.8k 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
  • CSV and Excel Merger

    OneWave-AI/claude-skills

    Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.

    336 GitHub stars~1.6k tokensUpdated 8 days ago
    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~802 tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from pipeshub-ai/pipeshub-ai

All 9 skills in this repo
  • Office Open XML Utilities

    pipeshub-ai/pipeshub-ai

    Unpacks a .docx or .pptx into pretty-printed XML, lets you make small targeted edits, and repacks it into a file Office will open.

    3.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Picks the right library for generating a new PDF, filling an existing PDF form, or extracting text and tables, defaulting to Node where possible.

    3.8k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • PowerPoint Deck Builder

    pipeshub-ai/pipeshub-ai

    Creates new PowerPoint decks with pptxgenjs in TypeScript, reads existing decks with python-pptx, and applies a design-quality checklist so every slide has real visual hierarchy.

    3.8k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Verified Data Analysis with pandas

    pipeshub-ai/pipeshub-ai

    Loads, cleans, aggregates and joins tabular data with pandas under a verification rule: every number reported must be one that the code actually printed.

    3.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Chart Type Selection Guide

    pipeshub-ai/pipeshub-ai

    Picks the right chart type for a data question and applies readability rules like axis labels, colorblind palettes and legend restraint.

    3.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Word Document Creation And Editing

    pipeshub-ai/pipeshub-ai

    Routes a Word document request to the right approach: a TypeScript library for new files, XML editing for existing ones, and plain reading only.

    3.8k GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Questions about PipesHub Excel Spreadsheet Builder

What does PipesHub Excel Spreadsheet Builder do?

Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check. The skill's central rule is that any cell whose value is a calculation the user will keep updating, such as a total, percentage or lookup, must be written as an actual Excel formula rather than the number the generating code computed, because a hardcoded number looks right today but silently goes stale the moment an input cell changes; raw input data the user supplied is the one exception and stays hardcoded. In exceljs, a formula is set as an object like { formula: "SUM(B2:B9)" } rather than a string starting with an equals sign.

When should I use PipesHub Excel Spreadsheet Builder?

PipesHub Excel Spreadsheet Builder fits situations like: creating a new Excel workbook with formulas, multiple sheets or pivot-style summaries; editing an existing .xlsx file while keeping its totals and lookups as live formulas; checking a generated workbook's formulas for static errors before delivery.

How do I install PipesHub Excel Spreadsheet Builder in Claude Code?

Run `npx skills add pipeshub-ai/pipeshub-ai --skill xlsx -a claude-code`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/xlsx in pipeshub-ai/pipeshub-ai) into .claude/skills/xlsx in your project. Claude Code loads it when a task matches its description.

How do I install PipesHub Excel Spreadsheet Builder in Codex?

Run `npx skills add pipeshub-ai/pipeshub-ai --skill xlsx -a codex`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/xlsx in pipeshub-ai/pipeshub-ai) into .agents/skills/xlsx in your project. Codex loads it when a task matches its description.

Can I use PipesHub Excel Spreadsheet Builder 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 pipeshub-ai/pipeshub-ai --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 PipesHub Excel Spreadsheet Builder need to run?

Going by SKILL.md and its folder, PipesHub Excel Spreadsheet Builder needs Python and TypeScript for the scripts in its folder and the command-line tools its instructions call (node, python and npx). Our summary lists: Node.js with exceljs, or Python with openpyxl or pandas.

Does PipesHub Excel Spreadsheet Builder access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is PipesHub Excel Spreadsheet Builder 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 PipesHub Excel Spreadsheet Builder use?

PipesHub Excel Spreadsheet Builder 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 PipesHub Excel Spreadsheet Builder use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PipesHub Excel Spreadsheet Builder?

Skills that share tags, products or a category with PipesHub Excel Spreadsheet Builder: XLSX Spreadsheet Toolkit (XiaomiMiMo/MiMo-Code, 14k stars), Kimi XLSX (thvroyal/kimi-skills, 238 stars), Excel Spreadsheet Builder (agentscope-ai/QwenPaw, 36k stars) and Office XLSX (singula-ai/alego, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PipesHub Excel Spreadsheet Builder?

pipeshub-ai (a GitHub organization) maintains it in pipeshub-ai/pipeshub-ai, which has 3,825 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

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