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 receptron/mulmoterminal --skill mulmoterminal-data-analysisgit clone --depth 1 https://github.com/receptron/mulmoterminalWrote 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/receptron/mulmoterminal/mulmoterminal-data-analysis)<a href="https://agentmods.dev/skills/receptron/mulmoterminal/mulmoterminal-data-analysis"><img src="https://agentmods.dev/badge/skills/receptron/mulmoterminal/mulmoterminal-data-analysis/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/receptron/mulmoterminal/mulmoterminal-data-analysis"><img src="https://agentmods.dev/badge/skills/receptron/mulmoterminal/mulmoterminal-data-analysis.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.00193 | $0.07357 |
| Opus 5.5 | $0.00077 | $0.02943 |
| Sonnet 5.5 | $0.00039 | $0.01471 |
| Haiku 4.5 | $0.00019 | $0.00736 |
Grade A, and why
mulmoterminal-data-analysis 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 — 447 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyse a table of data
The user hands you rows and columns and wants to understand them. They do not write code and do not reshape the data themselves; you do, with Node in the terminal, and show the result on the Canvas. Talk to them in their language, and in words about their data, not about this procedure.
What you need
presentSpreadsheetandpresentChart. In a project directory they exist only when Canvas was switched on before the session started. If you do not have them, say so and stop: tell the user to switch on Canvas in the launcher's MCP toggles and start a new session there.- Node. Scripts are Node only — not Python, not a shell pipeline doing arithmetic.
- For a large file,
manageCollection(the Workspace data tools). It is optional: without it a large file is aggregated by a script instead (see A large file below).
1. Read the file
Do not read a large file into the conversation. Look at its size first, then read only the head
(head -n 20). Let a script read the whole file.
Write the scripts in a working directory of their own, never in the user's repository:
work=$(mktemp -d) && cd "$work" && npm init -y >/dev/null && npm install csv-parse simple-statistics
Parse with csv-parse rather than splitting on commas, because quoted fields hold commas and line
breaks:
import { readFileSync } from "node:fs";
import { parse } from "csv-parse/sync";
const rows = parse(readFileSync(process.argv[2]), { columns: true, skip_empty_lines: true, bom: true });
delimiter: "\t" reads a TSV. Every value comes back as a string; convert the numeric columns
yourself (strip thousands separators first: "1,200" is not a number to Number), and count the
ones that do not convert rather than dropping them silently.
Read an Excel file (.xlsx) with exceljs, installed in the same working directory
(cd "$work" && npm install exceljs). Read one worksheet at a time, and
say which worksheets it has and which you read. A cell there may hold a number, a date, a formula's
cached result or text; check each column the same way.
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 · +79 lines 9cbc65ceea96
- yesterday Changed · +50 lines · +43 tokens per session e50e70806eee
- 2d ago First seen · 318 lines · 150 tokens per session scan A a6a7e7f3b282
mulmoterminal-data-analysis is a skill published in the GitHub repository receptron/mulmoterminal (243 stars, last pushed today), licensed MIT. It adds 193 tokens to every session and 7,357 once invoked, about $0.0008 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-19.
Other skills, from other repositories
markdown-to-xlsx
Fill a branded Excel template from a Markdown artifact — export this table to Excel, fill the .xlsx template, produce a spreadsheet or workbook. The deterministic script writes Markdown content into the named ranges and Excel Tables a designer defined (front-matter into single-cell names, a Markdown table into a Table…
issue-invoice
Fill a monthly hourly invoice on Google Sheets from GitHub PRs, Jira tickets, Gmail, and calendar meetings that have a transcript, one tab per month per client. Use when the user mentions an invoice, timesheet, billable hours, logging monthly work, rolling over an invoice month, meeting transcripts, or reconciling PRs…
gog
Manage Google Workspace from the CLI via gog: Gmail, Drive, Calendar, Sheets, Docs, Chat, Tasks, and Admin. Invoke with --account (any account in the local registry) and --user person|sa. Use when the user mentions gmail, drive, calendar, sheets, docs, workspace, gog, email, files, events, or a configured account.
smartsheet
Operate the smartsheet CLI for bounded sheet discovery and reads, explicitly authorized bulk row additions or updates, structured JSON automation, and verified write workflows. Use when the user says "smartsheet", asks to list sheets, read or add/update rows, or script Smartsheet through its JSON contract.
xlsx-toolkit
Audit Microsoft Excel (.xlsx) workbooks for formula density, external references, named ranges, hidden sheets, and data validation. Use when reviewing a financial model, sharing a workbook externally, or checking for data leakage.
xlsx
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or…