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 agentmods add skills/lianghsun/open-sheet/create-sheetnpx skills add lianghsun/open-sheet --skill create-sheetgit clone --depth 1 https://github.com/lianghsun/open-sheetWrote 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/lianghsun/open-sheet/create-sheet)<a href="https://agentmods.dev/skills/lianghsun/open-sheet/create-sheet"><img src="https://agentmods.dev/badge/skills/lianghsun/open-sheet/create-sheet.svg" alt="Measured on agentmods" 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 | $0.00112 | $0.01355 |
| Opus 5 | $0.00056 | $0.00678 |
| Sonnet 5 | $0.00022 | $0.00271 |
| Haiku 4.5 | $0.00011 | $0.00136 |
Grade A, and why
create-sheet 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 4d ago.
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 — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create a workbook in open-sheet
This skill owns the workflow. The technical reference — file contract,
components, references, formats — lives in the sheet-authoring skill. Read
it before writing code; do not duplicate its rules here.
You only write files under sheets/<id>/. Never modify package.json,
open-sheet.config.ts, or an existing workbook unless asked.
Step 0 — Pick a theme
List themes/. If any theme markdown exists, offer each theme id via
AskUserQuestion plus a final "no theme — design from scratch" option. If
the user picks one, read themes/<id>.md end to end, copy its palette and
components, and set meta.theme.
Step 1 — Get the numbers before anything else
A spreadsheet is judged entirely on whether its numbers are right. Before structure, before layout, establish:
- Purpose — what decision does this workbook support? A budget to approve, a forecast to argue with, a register to maintain?
- Audience — a CFO wants assumptions they can change; an analyst wants the working; an ops team wants a list they can filter.
- The data — where does it come from? Ask for the file, the query, the
figures. If the user has none yet, build the structure and leave explicit
TODO:markers.
Never invent a figure. Not a revenue number, not a growth rate, not a headcount, not a "typical industry" benchmark. A fabricated number in a spreadsheet is indistinguishable from a real one — it will be formatted, totalled, and charted exactly like the truth, and someone will make a decision on it. This matters more here than in a slide deck or a report.
If you need a placeholder to demonstrate structure, make it obviously fake (
0, or1with a<Note>saying so) and tell the user.
Step 2 — Clarify the shape (ask before writing code)
One AskUserQuestion call, skipping anything the user has already settled:
- Workbook type — propose three that fit this request, with what each
implies structurally:
- "our FY26 numbers" → driver model (assumptions sheet drives a P&L) · budget vs actual (variance columns and a data bar) · exec summary (one sheet, KPI band, no working shown)
- "track our vendors" → register (one row per vendor, filterable) · spend analysis (grouped totals, top-N) · scorecard (weighted criteria)
- Assumptions — which numbers should the reader be able to change? This is the question that decides whether the export is a model or a picture.
- Sheets — one sheet or several? Assumptions separate from calculations is the default and should only be collapsed for a genuinely trivial workbook.
- Output — is this opened in Excel (the usual case), printed as a report,
or read as a dashboard? It changes formats, widths, and whether to add a
--htmlpass.
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.
- 4d ago First seen · 116 lines · 112 tokens per session scan A 5c66bae8c79d
create-sheet is a skill published in the GitHub repository lianghsun/open-sheet (120 stars, last pushed 8d ago), licensed MIT. It adds 112 tokens to every session and 1,355 once invoked, about $0.0006 per session on Opus 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-30.
Other skills, from other repositories
xlsx
Read, create, and convert Microsoft Excel (.xlsx) and CSV spreadsheets — extract sheets and tables to JSON, build workbooks from JSON/CSV, and export to PDF.
automating-numbers
Automates Apple Numbers via JXA with AppleScript dictionary discovery. Use when asked to "automate Numbers spreadsheets", "create spreadsheets programmatically", "JXA Numbers scripting", or "bulk data operations in Numbers". Focuses on sheets, tables, ranges, batch I/O, clipboard shim, and high-performance data…
automating-excel
Automates Microsoft Excel on macOS via JXA with AppleScript dictionary discovery. Use when asked to "automate Excel spreadsheets", "JXA Excel scripting", "Excel macOS automation", or "bulk Excel data operations". Focuses on workbooks, worksheets, ranges, 2D arrays, performance toggles, and VBA escape hatches.
bilig-xlsx-formula-recalc
Recalculate XLSX formula outputs in Node.js after cell edits without opening Excel, LibreOffice, or browser automation.
exceljs-formula-recalc
Recalculate formula outputs for ExcelJS workbook flows in Node.js after agents or services edit cells.
sheetjs-formula-recalc
Add fresh formula readback to SheetJS and xlsx workflows after writing XLSX inputs in Node.js.