DeepTutor is a personalized tutoring system that uses AI agents and learning resources to support ongoing, interactive study. Learners use it for activities such as reading, research, guided courses, and building mastery paths. The catalogue entries provide skills and instructions for working with DeepTutor.
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/hkuds/deeptutor/xlsxnpx skills add HKUDS/DeepTutor --skill xlsxgit clone --depth 1 https://github.com/HKUDS/DeepTutorWrote 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/hkuds/deeptutor/xlsx)<a href="https://agentmods.dev/skills/hkuds/deeptutor/xlsx"><img src="https://agentmods.dev/badge/skills/hkuds/deeptutor/xlsx.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.00088 | $0.01878 |
| Opus 5 | $0.00044 | $0.00939 |
| Sonnet 5 | $0.00018 | $0.00376 |
| Haiku 4.5 | $0.00009 | $0.00188 |
Grade A, and why
xlsx 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 5d 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 — 191 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Excel (.xlsx) workbooks
Work in the workspace dir (where uploads land) by running complete Python
source via code_execution. Two libraries, both preinstalled — pick by task:
Refer to the workbook exactly as the Generated artifacts list names it. Use
exec only for a genuinely shell-only command; never put this source in
python -c or a heredoc.
- pandas — bulk tabular read/write/analysis. Use for "load this sheet, compute, dump a table". Drops all formatting and formulas.
- openpyxl — cells, formulas, styles, charts, merged cells, multi-sheet, number formats. Use whenever formatting, formulas, or fidelity matter.
THE critical gotcha: openpyxl writes formulas but never computes them
ws["B10"] = "=SUM(B2:B9)" stores the formula string. openpyxl has no formula
engine — the cached value stays empty (or stale, on an edited file). So:
- A workbook you create/edit with openpyxl opens fine in Excel/LibreOffice (they recompute on open), but its cached values are wrong until then.
- Anything reading cached values first —
data_only=True, another pandas/openpyxl pass, or a downstream tool — sees blanks/stale data.
Pick by what the deliverable needs:
- Static numbers (most common). If the user just needs correct values and
the sheet need not stay live, compute in Python and write the number, not
a formula string:
ws["B10"] = sum(c.value for c in ws["B2:B9"][0]). Correct immediately, no recalc needed. - Live model (formulas that recompute on the user's later edits). Write real
formulas, and reference cells not literals (
=B5*(1+$B$6), not=B5*1.05). openpyxl can't set the cached value too, so either recalc with LibreOffice if present (gate it — often absent):command -v soffice >/dev/null && \ soffice --headless --convert-to xlsx --outdir /tmp out.xlsx \ >/dev/null 2>&1 && cp /tmp/out.xlsx out.xlsx--convert-to xlsxreopens and recalculates, repopulating cached values. Ifsofficeis missing, say so and warn the user the formulas populate when they open the file in Excel — never assume soffice exists.
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.
- 5d ago First seen · 191 lines · 88 tokens per session scan A 2edae4de61eb
xlsx is a skill published in the GitHub repository HKUDS/DeepTutor (38,271 stars, last pushed 2d ago), licensed Apache-2.0. It adds 88 tokens to every session and 1,878 once invoked, about $0.0004 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
cli-anything-wps
WPS Office CLI — JSON数据驱动PPT自动生成 + 命令行操控WPS文字/表格/演示文稿.
office-artifacts
Use when creating, opening, reading, or editing Office artifacts such as LibreOffice-native ODT/ODS/ODP files and compatibility DOCX/XLSX/PPTX files with the officeartifact tool.
data-analysis
当任务以表格数据为中心(CSV/Excel/TSV/JSON/Parquet)并需要分析、清洗、聚合、可视化、导出时,必须使用本技能。该技能强调人类数据分析师式流程:先多轮探查数据,再分段写小块 Python 代码逐步求解。禁止跳过探查直接编码,禁止一次写大段复杂代码。.
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.
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…
csv-analysis
Use this skill for CSV data analysis tasks that require reading a local CSV file, checking row counts and columns, grouping records, computing rates or aggregates, creating a chart, and writing a short Markdown report.