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 znlgis/opengis-skills --skill reogridgit clone --depth 1 https://github.com/znlgis/opengis-skillsWrote 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/znlgis/opengis-skills/reogrid)<a href="https://agentmods.dev/skills/znlgis/opengis-skills/reogrid"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/reogrid/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/znlgis/opengis-skills/reogrid"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/reogrid.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00050 | $0.02787 |
| Opus 5 | $0.00025 | $0.01393 |
| Sonnet 5 | $0.00010 | $0.00557 |
| Haiku 4.5 | $0.00005 | $0.00279 |
Grade A, and why
reogrid 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 — 359 lines — stays where its author put it; the contents beside it link to each section on GitHub.
项目地址: https://github.com/unvell/ReoGrid
NuGet:
unvell.ReoGrid、unvell.ReoGrid.WinForm、unvell.ReoGrid.WPF许可证: MIT(V3 社区版);商业版另购(V4)
概述
ReoGrid 主要能力:
- WinForms 与 WPF 双控件
- 单元格:样式、字体、边框、对齐、数据格式
- 合并单元格、冻结、批注
- 公式:内置 ~ 100 个 Excel 函数
- 数据验证、自动筛选、排序
- 图表:内置基础图表(柱状/折线/饼图)
- 打印与导出(PDF/CSV)
- Excel 互通:读写 .xlsx / .xls(依赖 NPOI)
- 脚本扩展:内嵌 JS 脚本(基于 ReoScript)
ReoGrid 不依赖 Excel/COM,纯托管代码,跨 .NET Framework 与 .NET 6+。
安装
# WinForms
dotnet add package unvell.ReoGrid.WinForm
# WPF
dotnet add package unvell.ReoGrid.WPF
WinForms 入门
using unvell.ReoGrid;
using unvell.ReoGrid.IO;
var grid = new ReoGridControl { Dock = DockStyle.Fill };
this.Controls.Add(grid);
var sheet = grid.CurrentWorksheet;
sheet["A1"] = "ID";
sheet["B1"] = "Name";
sheet["C1"] = "Score";
sheet["A2"] = 1;
sheet["B2"] = "Tom";
sheet["C2"] = 95;
WPF 入门
<Window xmlns:rg="clr-namespace:unvell.ReoGrid;assembly=unvell.ReoGrid.WPF">
<rg:ReoGridControl x:Name="Grid"/>
</Window>
var sh = Grid.CurrentWorksheet;
sh["A1:C1"] = new object[] { "ID", "Name", "Score" };
sh["A2:C2"] = new object[] { 1, "Tom", 95 };
区域操作
sh.SetRangeData("A2:C4", new object[,] {
{ 1, "Tom", 95 },
{ 2, "Lucy", 88 },
{ 3, "Mike", 72 },
});
object[,] data = (object[,])sh.GetRangeData("A2:C4");
样式
sh.SetRangeStyles("A1:C1", new WorksheetRangeStyle {
Flag = PlainStyleFlag.All,
Bold = true,
BackColor = Color.LightGray,
HorizontalAlign = ReoGridHorAlign.Center,
VerticalAlign = ReoGridVerAlign.Middle,
TextColor = Color.Black,
FontSize = 12
});
// 数据格式(百分比 / 日期)
sh.SetRangeDataFormat("C2:C100", CellDataFormatFlag.Percent,
new NumberDataFormatter.NumberFormatArgs { DecimalPlaces = 2 });
sh.SetRangeDataFormat("D2:D100", CellDataFormatFlag.DateTime,
new DateTimeDataFormatter.DateTimeFormatArgs { Format = "yyyy-MM-dd" });
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 924ba9af538c
- 9d ago Changed 9778ed239d53
- 13d ago First seen · 359 lines · 50 tokens per session scan A 8820e2e232ec
reogrid is a skill published in the GitHub repository znlgis/opengis-skills (61 stars, last pushed yesterday), licensed MIT. It adds 50 tokens to every session and 2,787 once invoked, about $0.0003 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
calc-spreadsheets
Create, open or edit Calc spreadsheets: ODS default; XLSX for Excel compatibility.
xlsx
Working with Excel files programmatically.
excel-automation
This skill enables advanced Excel automation using xlwings - a library that can interact with live Excel instances. Unlike openpyxl (file-only), xlwings can control Excel in real-time, execute VBA, update dashboards, and automate complex workflows.
xlsx-manipulation
Create, edit, and manipulate Excel spreadsheets programmatically using openpyxl.
data-analysis
Analyze spreadsheet data, generate insights, create visualizations, and build reports from Excel/CSV data.
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…