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/zimoliao/scholaraio/documentnpx skills add ZimoLiao/scholaraio --skill documentgit clone --depth 1 https://github.com/ZimoLiao/scholaraioWrote 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/zimoliao/scholaraio/document)<a href="https://agentmods.dev/skills/zimoliao/scholaraio/document"><img src="https://agentmods.dev/badge/skills/zimoliao/scholaraio/document.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.1 | $0.00043 | $0.01303 |
| Opus 5 | $0.00022 | $0.00651 |
| Sonnet 5 | $0.00009 | $0.00261 |
| Haiku 4.5 | $0.00004 | $0.00130 |
Grade A, and why
document 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 6d 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Office 文档生成与检查
Capability Routing
当前 Agent 原生能力优先,但必须先做能力检查:按最终交付物路由,不按 Agent 品牌路由。若当前会话实际提供内容写作、演示设计、图表或版式能力,就由当前使用的 Agent 原生能力先完成内容与视觉方案。只有用户需要可下载、可复现的 DOCX/PPTX/XLSX 文件时,才使用本 skill 的 Office API 和检查闭环;普通演示内容不得自动转交 Paper2Any。
Output Contract
| 用户要的产物 | 默认实现 | 必做检查 |
|---|---|---|
| 正式报告、综述、简报 | python-docx → DOCX |
标题层级、段落、表格、图片、样式 |
| 汇报、演示、答辩 | python-pptx → PPTX |
页数、shape 边界、文字溢出警告、图片、表格 |
| 数据表、统计、清单 | openpyxl → XLSX |
sheet、数据范围、冻结窗格、格式、图表 |
把用户交付物写到 workspace/ 下;正式文件默认放 workspace/reports/,系统生成图表默认放 workspace/_system/figures/。不要把产物写到仓库根目录。
Workflow
- 明确最终格式、受众、语言、模板、页数或篇幅,以及是否需要可编辑源文件。
- 使用当前会话实际可用的原生能力完成内容、故事线和视觉方案;需要文献数据时再组合 ScholarAIO 的检索或写作 skill。
- 只读取与目标格式对应的实现参考:
- DOCX:读取 references/docx.md
- PPTX:读取 references/pptx.md
- XLSX:读取 references/xlsx.md
- 用一个可重复运行的 Python 脚本生成文件。脚本与产物都放在对应 workspace 中,避免散落临时代码。
- 运行
scholaraio document inspect <file>;发现结构问题或溢出警告时,修改脚本、重新生成并再次检查。 - 若当前会话实际具备 Office/PDF 渲染或页面预览能力,再对所有页面或幻灯片做视觉检查。否则明确说明只完成了结构检查和启发式布局检查,不要声称已经视觉验收。
- 向用户提供最终文件路径、格式和已完成的检查。
Inspection Commands
scholaraio document inspect workspace/reports/report.docx
scholaraio document inspect workspace/reports/presentation.pptx
scholaraio document inspect workspace/reports/data.xlsx
document inspect 是结构化检查器:
- PPTX:报告每页 shape 的位置、尺寸和内容,并给出边界/文字溢出启发式警告。
- DOCX:报告章节、段落、表格、图片和样式结构。
- XLSX:报告 sheet、数据范围、冻结窗格、合并单元格、预览和图表。
它不能代替完整的 Office 渲染器。无警告不等于视觉布局一定正确。
Composition Rules
| 前置任务 | 组合方式 |
|---|---|
| 绘制流程图或论文图 | /draw 生成 SVG/PNG,再嵌入 Office 文件 |
| 搜索或整理论文 | /search、/workspace 或写作 skill 先生成有来源的内容 |
| 文献综述或论文章节 | /literature-review 或 /paper-writing 先完成内容,再封装 DOCX |
| 普通演示稿 | 先完成故事线与逐页内容,再生成 PPTX |
| 用户明确要求 Paper2Any | 转 /paper2any,保持其隔离运行时和 fixed-corpus 边界 |
Quality Gates
- 保留输入数据、生成脚本和最终 Office 文件,使交付可重复生成。
- 不编造引用、图表数据或缺失内容;无法核验的内容必须标注。
- DOCX 使用语义化标题样式,不用手工字号假装标题层级。
- PPTX 统一页面尺寸、边距、标题层级和视觉网格,避免默认模板堆字。
- XLSX 保留原始数据精度,显式设置数字格式、冻结表头和筛选范围。
- 检查结果失败或出现警告时,先修复再交付;不能修复时明确列出剩余问题。
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 90 lines · 43 tokens per session scan A 31c65824fe9b
document is a skill published in the GitHub repository ZimoLiao/scholaraio (567 stars, last pushed 6d ago), licensed MIT. It adds 43 tokens to every session and 1,303 once invoked, about $0.0002 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
audit-xls
Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this…
google-drive-sheets
Find, read, export, edit, and manage the user's Google Drive, Docs, Sheets, and Slides through per-user OAuth.
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
excel-basic-statistics-and-routing
Skill "excel-basic-statistics-and-routing" from OpenSenseNova/SenseNova-Skills, covering skill steps, 保存区间提取与汇总结果 and 保存筛选与统计结果.
large-file-parquet-analysis-and-highlight
当Excel文件总行数超过1万行时,通过转换为Parquet格式提升读取性能,提取目标指标并计算最大值,最后将结果输出为Excel并对特定行进行高亮标注。.
excel-multi-sheet-threshold-analysis
Skill "excel-multi-sheet-threshold-analysis" from OpenSenseNova/SenseNova-Skills, covering excelmultisheetdeduplication, 读取数据,header=none 用于处理无表头或非标准表头文件, 设定目标列索引及过滤关键词, 使用 set 进行高效去重 and 转换为排序后的列表.