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.
npx skills add Cloudgeni-ai/opengeni --skill spreadsheetsgit clone --depth 1 https://github.com/Cloudgeni-ai/opengeniWrote 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.
[](https://agentmods.dev/skills/cloudgeni-ai/opengeni/spreadsheets)<a href="https://agentmods.dev/skills/cloudgeni-ai/opengeni/spreadsheets"><img src="https://agentmods.dev/badge/skills/cloudgeni-ai/opengeni/spreadsheets/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.
<a href="https://agentmods.dev/skills/cloudgeni-ai/opengeni/spreadsheets"><img src="https://agentmods.dev/badge/skills/cloudgeni-ai/opengeni/spreadsheets.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.01258 |
| Opus 5.5 | $0.00024 | $0.00503 |
| Sonnet 5.5 | $0.00012 | $0.00252 |
| Haiku 4.5 | $0.00006 | $0.00126 |
Grade A, and why
spreadsheets 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spreadsheets
The durable artifact is the default working workbook. It is the same live object the user sees in the Artifacts dock and grid. Never maintain a mutable XLSX shadow or publish a sandbox workbook over user edits. The exception is a file the user sends to be changed, or a requested file format the artifact cannot export; see "Requested Excel or CSV files" below.
Read references/api.md before editing a workbook artifact; a
sent or requested file (below) does not need it.
When using skill_read, request that relative path from this Skill; reading
does not materialize a local folder. Use an existing local copy only when the
Skill was installed or explicitly checked out to the filesystem.
Choose the canonical object
- If the user means “this workbook” or a visible workbook, call
opengeni__editable_artifact_list, thenopengeni__editable_artifact_getwhen needed. Do not guess from chat text. - To begin empty, call
opengeni__editable_artifact_createwith modalityspreadsheet. - To begin from a ready workspace XLSX, call
opengeni__editable_artifact_importwith itsfileId. The source file remains immutable provenance; the returned artifact becomes the working workbook. - Use a standalone local XLSX/CSV only when the user explicitly asks to
manipulate sandbox-local bytes and the pinned local runtime is actually
available. Normal import/export uses workspace
fileIdboundaries without local bytes.
Requested Excel or CSV files
When the user sends an Excel or CSV file to be changed and returned, or asks for
a new Excel or CSV file while opengeni__editable_artifact_export is
unavailable or does not list that format, the file itself is the deliverable:
- Make or edit it in the sandbox with ordinary tools (
openpyxlfor a new workbook, thecsvmodule for CSV). openpyxl drops charts and images when it saves an existing workbook, so for a sent workbook that has them, edit the cell XML inside the .xlsx package directly. Install a missing package withpip install <package>if needed. - When editing a sent file, open the original and change only what was asked, keeping its other content, formatting and objects.
- Read the result back to check the content.
- Publish the file with
sandbox_file_publishand reply with a short summary and its link. If that tool is not loaded yet, load it withtool_searchin the same batch as your first command. Do not also build a native artifact of the same content.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- today Changed · +25 lines 5cde1a047717
- yesterday First seen · 77 lines · 59 tokens per session scan A 44eef491ca29
spreadsheets is a skill published in the GitHub repository Cloudgeni-ai/opengeni (205 stars, last pushed today), licensed Apache-2.0. It adds 59 tokens to every session and 1,258 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-10-21.
Other skills, from other repositories
documents
Create, read, edit, and verify PDFs, scanned documents, PowerPoint, Word, and spreadsheet files.
office-docs
Extract text and tables from .docx and .xlsx using local scripts (no external deps).
pn-financial-model-audit
Audit a financial model (spreadsheet, structured table, or agent-produced model) for hardcoded values, broken formula logic, balance-sheet balance, circular references, and missing cross-checks. Use after any DCF, LBO, comps, or 3-statement model is built before it is used in a deliverable.
bilig-workpaper
Use @bilig/workpaper WorkPaper state for workbook formulas, MCP editing, and tool integrations without driving spreadsheet UI.
surfsense-documents
Make or change a Word document (.docx), a PDF, a PowerPoint deck (.pptx) or an Excel workbook (.xlsx) by writing a Python script that surfsenserenderdocument runs, optionally starting from a source's own Word or PowerPoint file. Load it whenever the user asks for one of these, or for a change to one you made.
csv-workbench
Analyze CSV files in /mnt/data and return concise numeric summaries.