Agent skill

Brigade Spreadsheet Builder

by spinabot in spinabot/brigade

Builds and edits Excel workbooks for the Brigade agent, with live formulas, formatting, dropdowns and multiple sheets, plus an optional recalculation check.

MITAuto-check passedDocuments & Office

Install Brigade Spreadsheet Builder

skills CLI
$ npx skills add spinabot/brigade --skill xlsx -a claude-code

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

GitHub CLI
$ gh skill install spinabot/brigade 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/spinabot/brigade.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/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
11k
Token cost
~1.4k tokens
SKILL.md length
430 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Builds and edits Excel workbooks for the Brigade agent, with live formulas, formatting, dropdowns and multiple sheets, plus an optional recalculation check.

  • Works in 2 steps: Formulas, never hardcoded results. Write… → Numbers are numbers. Store 1200000,…
  • Creating a spreadsheet or simple financial model with live formulas
  • SKILL.md covers Path 1 — quick table…, Path 2 — full power: script…, Path 3 — edit an existing… and Path 4 — recalc-verify loop…, plus 2 more sections
  • Calls soffice

What it does

Spreadsheet work in the Brigade runtime follows four routes. A quick table or multi-sheet dump goes through the make_document tool; live formulas, styling, conditional formatting, dropdowns, named ranges, frozen panes and merged cells go through a script using the exceljs library run with brigade exec-node; edits to an existing workbook use the edit_document tool; and an optional recalculation loop checks for formula errors.

Two rules apply throughout. Totals, percentages, ratios and growth are written as Excel formulas rather than computed values pasted in, so the sheet stays live when inputs change. Numbers are stored as numbers and shaped with a number format, never as text such as a currency string, because text will not sum or sort.

When editing someone else's workbook, the agent matches its column order, units and formats instead of the defaults here. The edit tool offers set_cells for targeted changes and append_rows for growing a table, and dates are passed as real date values with a date format rather than as strings.

When your agent uses it

  • Creating a spreadsheet or simple financial model with live formulas
  • Making targeted edits to a workbook without disturbing its other sheets
  • Adding dropdown validation, conditional formatting or frozen headers to a sheet

Example prompts

  • “Build a three-year revenue model workbook with an assumptions sheet and growth formulas.”
  • “Append this month's expenses to the Expenses sheet in budget.xlsx and keep its formats.”
  • “Add a status dropdown and conditional formatting to the task tracker workbook.”

Requirements

  • The Brigade agent runtime with its make_document and edit_document tools
  • soffice (LibreOffice) for the optional recalculation loop

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Formulas, never hardcoded results. Write the Excel formula string (=B5*(1+$B$6)), never compute the number in code and paste a literal…
  2. Numbers are numbers. Store 1200000, format for display ($#,##0) — never the string "$1.2M", or it won't sum or sort.

What it can do on your machine

Read from SKILL.md and the folder at commit 4c2a18f. 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

    Shell commands in SKILL.md call:

    • soffice

    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

Brigade Spreadsheet Builder loads about 1.4k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 430 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from spinabot/brigade at commit 4c2a18f, republished under its MIT licence (© spinabot). 430 words, ~1,359 tokens.

Download SKILL.mdSave it as .claude/skills/xlsx/SKILL.md (or your agent's skills folder).
name
xlsx
description
Build and edit professional Excel (.xlsx) spreadsheets, workbooks, and simple financial models — live formulas, number/date/currency formats, cell styling, conditional formatting, data-validation dropdowns, named ranges, frozen panes, merged cells, multi-sheet. Use when the user asks Brigade to make, fill, update, model, or edit a spreadsheet, workbook, or .xlsx file.

xlsx — professional spreadsheets & models

NeedPath
Simple table / multi-sheet dump (headers + rows, optional per-column number format)Path 1 — make_document tool
Live formulas, cell styling, conditional formatting, dropdowns, named ranges, freeze panes, merged cells, datesPath 2 — script the exceljs library via brigade exec-node
Surgical edits to an existing workbookPath 3 — edit_document tool
Guarantee no formula errors / get computed valuesPath 4 — recalc-verify loop (optional soffice)

The two non-negotiable rules (they separate a real model from a hack):

  1. Formulas, never hardcoded results. Write the Excel formula string (=B5*(1+$B$6)), never compute the number in code and paste a literal — so the sheet stays live when inputs change. This applies to every total, percentage, ratio, and growth.
  2. Numbers are numbers. Store 1200000, format for display ($#,##0) — never the string "$1.2M", or it won't sum or sort.

Path 1 — quick table (make_document tool)

make_document(format="xlsx", content={ sheets:[{ name, header, rows, numberFormats }] })

Cells may be string | number | {formula, numFmt}. Fine for a straight data table. For styling, validation, charts, or a model → Path 2.

Path 2 — full power: script the exceljs library

Brigade bundles exceljs. write a gen.cjs, then run brigade exec-node gen.cjs:

js
// gen.cjs — illustrative
const ExcelJS = require("exceljs");
const wb = new ExcelJS.Workbook();
const ws = wb.addWorksheet("Model", { views: [{ state: "frozen", ySplit: 1 }] });   // freeze header row

ws.columns = [
  { header: "Item", key: "item", width: 28 },
  { header: "FY24 ($)", key: "v", width: 16, style: { numFmt: "$#,##0" } },
];
ws.getRow(1).font = { bold: true };
ws.getRow(1).fill = { type: "pattern", pattern: "solid", fgColor: { argb: "FFD9E2F3" } };

// Assumptions block — blue font marks hardcoded INPUTS (banker convention)
ws.getCell("E1").value = "Growth"; ws.getCell("E2").value = 0.18;
ws.getCell("E2").numFmt = "0.0%"; ws.getCell("E2").font = { color: { argb: "FF0000FF" } };
wb.definedNames.add("Model!$E$2", "growth");                                        // named range

ws.addRow({ item: "Revenue", v: 1200000 });
ws.addRow({ item: "Next year", v: { formula: "B2*(1+growth)" } });                  // FORMULA, references the named input
ws.getCell("B3").font = { color: { argb: "FF000000" } };                            // black = formula

// dropdown + conditional formatting
ws.getCell("A6").dataValidation = { type: "list", allowBlank: false, formulae: ['"Low,Med,High"'] };
ws.addConditionalFormatting({ ref: "B2:B3", rules: [
  { type: "cellIs", operator: "lessThan", formulae: ["0"], style: { font: { color: { argb: "FFFF0000" } } } } ]});

wb.xlsx.writeFile(process.argv[2] || "out.xlsx").then(() => console.log("wrote"));

exceljs covers: number/date formats, font/fill/border/alignment, conditional formatting, data-validation dropdowns, named ranges, freeze panes, autofilter, merged cells, images, sheet protection, multi-sheet. Dates: pass a real new Date(...) and set a date numFmt (don't pass a string).

Path 3 — edit an existing workbook (edit_document tool)

  • set_cells {sheet?, cells:[{ref|row,col, value, numFmt?}]} — surgical edits; other sheets untouched.
  • append_rows {sheet?, rows} — grow a table. When editing someone's workbook, match its existing conventions exactly (column order, units, formats) — the template always wins over the defaults here.
Show full SKILL.md (167 more words)Show less

Path 4 — recalc-verify loop (the quality guarantee)

exceljs stores formula strings but does not evaluate them — a typo (#REF!, #DIV/0!) is invisible until the file is opened. If LibreOffice is present, force a recalc and inspect; otherwise hand-check ranges and keep formulas simple.

bash
command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf --outdir /tmp out.xlsx   # then read the PDF: no #REF!/#DIV/0! anywhere

Loop: build → recalc → if any error token appears, fix the formula → recalc again. Target: zero formula errors in the delivered file.

Conventions (banker-grade, optional but professional)

  • Cell-color convention: blue font = hardcoded inputs, black = formulas, green = links to other sheets, red = links to external files; yellow fill = key assumptions.
  • Isolate assumptions in their own cells and reference them absolutely ($B$6) or by named range; document any sourced hardcode in a cell comment ("Source: 10-K FY24 p.45").
  • Number formats: currency $#,##0 with units in the header; percentages 0.0%; multiples 0.0x; negatives in parentheses; years as text.

Verify (required)

Re-open with edit_document/read or confirm the file unzips with the expected sheet names; if you used formulas, run the Path-4 recalc and confirm zero errors before declaring done.

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

Files

Just SKILL.md in skills/xlsx of spinabot/brigade.

Open the folder on GitHubat commit 4c2a18f

Compare with similar skills

Brigade 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.

Brigade Spreadsheet Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Brigade Spreadsheet Builder this skillspinabot/brigade11k—~1.4kAutomated safety check: PassMIT
Officecli Commonly TemplatesTeam-Commonly/commonly1.4k—~1.7kAutomated safety check: PassApache-2.0
Open-Sheet Workbook Creatorlianghsun/open-sheet127—~1.4kAutomated safety check: PassMIT
Lark Sheetsrongxinzy/RongxinAI1542 repos~5.3kAutomated safety check: PassAGPL-3.0
Officecli Data DashboardFerroxLabs/wayland6084 repos~9.2kAutomated safety check: PassAGPL-3.0
XLSX Toolkitborghei/Claude-Skills886—~1.4kAutomated safety check: PassMIT

Similar skills

  • Officecli Commonly Templates

    Team-Commonly/commonly

    A skill your agent uses when producing a polished, Commonly-branded deliverable (.docx brief / memo, .xlsx data matrix, .pptx deck) and you do not have specific brand guidance from the user.

    1.4k GitHub stars~1.7k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Open-Sheet Workbook Creator

    lianghsun/open-sheet

    Walks an agent through building a new spreadsheet workbook in an open-sheet project, from choosing a theme to settling the real numbers and workbook type.

    127 GitHub stars~1.4k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Lark Sheets

    rongxinzy/RongxinAI

    飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作原子批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可视化、表格美化、公式计算(含 Excel…

    154 GitHub starsUsed in 2 repos~5.3k tokens
    Documents & OfficeAuto-check passed
  • Officecli Data Dashboard

    FerroxLabs/wayland

    A skill your agent uses to build a multi-element Excel dashboard - Dashboard sheet on open, multiple formula-driven KPI cards, multiple charts, sparklines, and conditional formatting - from CSV or…

    608 GitHub starsUsed in 4 repos~9.2k tokens
    Documents & OfficeAuto-check passed
  • XLSX Toolkit

    borghei/Claude-Skills

    Audit Microsoft Excel (.xlsx) workbooks for formula density, external references, named ranges, hidden sheets, and data validation.

    886 GitHub stars~1.4k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Financial Model

    CatCatUncle/openworkbuddy

    财务测算——收入/成本拆到能改的假设上,算单位经济,做敏感性,输出一份能自己改数的 Excel. An agent skill from CatCatUncle/openworkbuddy.

    278 GitHub stars~379 tokensUpdated today
    Documents & OfficeAuto-check passed

More from spinabot/brigade

All 11 skills in this repo
  • Canvas Display

    spinabot/brigade

    Shows HTML content such as games, dashboards, visualizations and demos on a connected Brigade node's canvas, using a local canvas host server and a node bridge.

    11k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Word Document Builder

    spinabot/brigade

    Creates and edits Word documents along four paths of rising capability, from a quick tool to the docx library, an OOXML round-trip and pandoc, then verifies the file.

    11k GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Writes HTML compositions with a GSAP timeline that the render_video tool turns into deterministic MP4 videos from data, text or layouts.

    11k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Diagnoses why a Brigade companion app can't pair or connect, by first identifying the real node-to-gateway route and then fixing auth.

    11k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • OAuth Account Setup

    spinabot/brigade

    Connects an OAuth 2.0 account such as Gmail with the built-in oauth_authorize tool: an authorization link, automatic code capture and sealed token storage.

    11k GitHub stars~878 tokensUpdated yesterday
    Auto-check passed
  • Brigade PDF Toolkit

    spinabot/brigade

    Creates and edits PDFs in Brigade through four paths: a quick content tool, an edit tool for forms and merging, a pdf-lib script for full control, and HTML-to-PDF for styled layouts.

    11k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Questions about Brigade Spreadsheet Builder

What does Brigade Spreadsheet Builder do?

Builds and edits Excel workbooks for the Brigade agent, with live formulas, formatting, dropdowns and multiple sheets, plus an optional recalculation check. Spreadsheet work in the Brigade runtime follows four routes. A quick table or multi-sheet dump goes through the make_document tool; live formulas, styling, conditional formatting, dropdowns, named ranges, frozen panes and merged cells go through a script using the exceljs library run with brigade exec-node; edits to an existing workbook use the edit_document tool; and an optional recalculation loop checks for formula errors.

When should I use Brigade Spreadsheet Builder?

Brigade Spreadsheet Builder fits situations like: creating a spreadsheet or simple financial model with live formulas; making targeted edits to a workbook without disturbing its other sheets; adding dropdown validation, conditional formatting or frozen headers to a sheet.

How do I install Brigade Spreadsheet Builder in Claude Code?

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

How do I install Brigade Spreadsheet Builder in Codex?

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

Can I use Brigade 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 spinabot/brigade --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 Brigade Spreadsheet Builder need to run?

Going by SKILL.md and its folder, Brigade Spreadsheet Builder needs the command-line tools its instructions call (soffice). Our summary lists: The Brigade agent runtime with its make_document and edit_document tools; soffice (LibreOffice) for the optional recalculation loop.

Does Brigade Spreadsheet Builder 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 Brigade 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. Review the folder before installing.

What licence does Brigade Spreadsheet Builder use?

Brigade Spreadsheet Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Brigade Spreadsheet Builder use?

About 1.4k tokens (SKILL.md is roughly 5.4k 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 Brigade Spreadsheet Builder?

Skills that share tags, products or a category with Brigade Spreadsheet Builder: Officecli Commonly Templates (Team-Commonly/commonly, 1.4k stars), Open-Sheet Workbook Creator (lianghsun/open-sheet, 127 stars), Lark Sheets (rongxinzy/RongxinAI, 154 stars) and Officecli Data Dashboard (FerroxLabs/wayland, 608 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Brigade Spreadsheet Builder?

spinabot (a GitHub organization) maintains it in spinabot/brigade, which has 11,299 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.

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