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 apexcheng/yingdao-xbot-ai-agent --skill spreadsheet-operationsgit clone --depth 1 https://github.com/apexcheng/yingdao-xbot-ai-agentWrote 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/apexcheng/yingdao-xbot-ai-agent/spreadsheet-operations)<a href="https://agentmods.dev/skills/apexcheng/yingdao-xbot-ai-agent/spreadsheet-operations"><img src="https://agentmods.dev/badge/skills/apexcheng/yingdao-xbot-ai-agent/spreadsheet-operations/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/apexcheng/yingdao-xbot-ai-agent/spreadsheet-operations"><img src="https://agentmods.dev/badge/skills/apexcheng/yingdao-xbot-ai-agent/spreadsheet-operations.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.00039 | $0.00942 |
| Opus 5.5 | $0.00016 | $0.00377 |
| Sonnet 5.5 | $0.00008 | $0.00188 |
| Haiku 4.5 | $0.00004 | $0.00094 |
Grade A, and why
spreadsheet-operations 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 2d 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.
What it actually says
表格操作(影刀 WPS)
开发影刀表格更新程序时遵守本页。API 参数和返回值查 xbot.excel 正式文档;业务模块命名与函数边界见 编程风格。不重复加载其它表格操作规范。
打开与使用工作簿
-
本轮程序第一次打开 WPS 前,直接调用
xbot.excel.kill_excel_process("wps", True)结束残留进程;不判断其他 WPS 文件是否正在编辑。本轮已经打开目标工作簿后,不在打开源文件前再次结束 WPS。 -
所有表格文件,包括 Excel 和 CSV,都使用
xbot.excel.open()的 WPS 驱动打开,不改用openpyxl、pandas或其它方式加载。 -
统一使用
workbook = xbot.excel.open(file_name=str(target), kind="wps", visible=True, update_links=False);不使用visible=False。 -
每次打开工作簿后,立即激活并最大化:
workbook.workbook.Activate() workbook.workbook.Application.WindowState = -4137 -
每个 Sheet 的数据源更新使用
get_range()读取 → 按需清洗或计算 →set_range()写入。已有二维数据直接set_range(),不创建临时工作簿中转。 覆盖旧数据时只清空当前业务约定的数据区域,不整表clear()影响公式和格式。写入原始数据后确实要立即使用公式计算结果时,按实际 WPS 计算结果处理,不能用 Python 模拟计算代替。 -
表格下载后不验证表头、第一行是否有数据或文件是否存在;需要什么数据就直接按业务流程读取处理。
-
表格处理函数直接接收已经打开的
workbook;禁止load_excel_matrix及同类再次加载工作簿的封装。多个函数需要同一对象时由主流程局部变量持有、传递。
多 Sheet 更新与收尾
- 主流程直接写明下载、打开、写入、计算、保存和关闭的先后顺序。目标工作簿一轮只打开一次,各业务模块接收该对象。
- 每个 Sheet 的完整更新流程最多尝试 2 次(首次执行 + 失败后重试 1 次),包括下载、读取和写入,不仅重试下载;不把整轮保存和通知纳入该重试。A Sheet 最终失败时记录错误,继续更新独立的 C Sheet;存在前置依赖的 Sheet 按当前业务确认的依赖关系及失败策略处理。各 Sheet 处理完后统一
workbook.save()一次,不在每个 Sheet 更新后保存。 - 下载函数供后续步骤直接处理表格时,返回已经打开的源
workbook,由主流程持有并传递;如果另一个业务需要复用前一个业务下载的文件,则前一个业务返回filepath,后一个业务接收该路径。不重复下载或重新加载已打开的工作簿。 - 完成本轮处理后,先保存目标工作簿,再统一关闭全部 WPS 表格,不额外维护逐工作簿关闭清单。异常时按原业务异常处理未保存内容;清理失败不能覆盖原来的业务异常。
- 表格更新业务各自放在
update_xxx.py中,例如update_erp_date.py和update_sales.py。同一业务的下载和更新放在一起,不因读取 C-ERP 数据就把其它业务的函数放入 C-ERP 模块;多个业务确实复用相同且完整的技术操作时才提取公共函数。
不为了潜在需求新增跨轮下载缓存、重复状态源、补跑开关、历史兼容和复杂恢复分支。
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.
- 2d ago Changed 24398b0b6d2c
- 3d ago First seen · 36 lines · 39 tokens per session scan A 2dabd0a90b70
spreadsheet-operations is a skill published in the GitHub repository apexcheng/yingdao-xbot-ai-agent (37 stars, last pushed today), licensed MIT. It adds 39 tokens to every session and 942 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-15.
Other skills, from other repositories
gog-workspace
Use the gog CLI for Google Workspace tasks across Gmail, Calendar, Drive, Docs, Sheets, Contacts, and related services. Use when the user asks to check email, search Gmail, inspect calendar events, find Drive files, read Docs or Sheets, or manage Google Workspace data through gog.
xlsx
Create and edit Excel .xlsx workbooks (sheets, cells, formulas, formatting) via Python openpyxl. Use to generate spreadsheets or write/update cells. Reading is via os.fs.readdocument.
excel-spreadsheets
Create, modify, and manage Excel spreadsheets.
xlsx-official
Builds, edits, cleans, and inspects spreadsheet files (.xlsx, .xltx, .csv, .tsv) when the file is the deliverable or the record being changed: financial and operating models with live formulas, formula-driven summaries, template fills, cell and row patches, messy-data repair, sheet-to-CSV or PDF export, formula…
xlsx
Create, inspect, edit, restructure, convert, and validate XLSX workbooks and CSV files using Qubicl's pinned local spreadsheet tools. Use for formulas, tables, charts, formatting, workbook structure, and CSV interoperability.
lark-cli
Lark/Feishu (飞书) CLI tool. Use when the user asks to do anything on Lark/Feishu.