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 nexus-research-lab/nexus --skill pptxgit clone --depth 1 https://github.com/nexus-research-lab/nexusWrote 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/nexus-research-lab/nexus/pptx)<a href="https://agentmods.dev/skills/nexus-research-lab/nexus/pptx"><img src="https://agentmods.dev/badge/skills/nexus-research-lab/nexus/pptx/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/nexus-research-lab/nexus/pptx"><img src="https://agentmods.dev/badge/skills/nexus-research-lab/nexus/pptx.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.00095 | $0.01773 |
| Opus 5.5 | $0.00038 | $0.00709 |
| Sonnet 5.5 | $0.00019 | $0.00355 |
| Haiku 4.5 | $0.00010 | $0.00177 |
Grade A, and why
pptx 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 4d 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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PowerPoint 演示文稿
| 任务 | 首选路径 |
|---|---|
| 读取、总结、问答 | read_presentation.py 提取正文、表格和备注;视觉信息再看渲染图 |
| 新建演示文稿 | 内容简单时用 python-pptx;版式密集时可用 HTML/CSS 布局再转 PPTX |
| 套用现有模板 | 先运行 inventory_presentation.py,再选择版式和占位符 |
| 编辑现有演示文稿 | 局部修改目标 run;结构调整使用 reorder_slides.py 或定点 OOXML 编辑 |
| 复杂母版、动画、SmartArt、媒体 | 保留原 OOXML;只做已验证的定点修改,不静默重建 |
| 结构与关系检查 | validate_presentation.py;它不替代渲染验收 |
旧版 .ppt |
用 LibreOffice 转为 .pptx,保留原件 |
工作模式
先根据输入和输出选择工作模式,不要把新建页面的 HTML 工作流套到既有模板编辑上。
新建演示文稿
- 内容简单、图表和版式不复杂时使用
python-pptx,保留文本和图表的可编辑性。 - 需要精确布局时,可在临时工作目录生成固定尺寸的 HTML 页面,再用环境中已有的 HTML-to-PPTX 工具转换;这条路径是可选的,不能静默安装全局 Node、浏览器或字体依赖。细节见 HTML 布局生成。
- HTML 页面使用 16:9 的统一画布(建议 720×405pt),所有可见内容必须在画布内;不支持的 CSS、复杂渐变和图标先转成图片,图表和表格需要在转换后确认是否仍可编辑。
套用或编辑现有模板
- 用
read_presentation.py读取正文、表格和备注,用inventory_presentation.py保存页面、形状、占位符和坐标清单。 - 检查主题字体、色板、母版和页面缩略图;模板是视觉和结构权威,不擅自换主题或母版。
- 只修改目标文本 run、图片或占位符。需要调整页面顺序时使用
reorder_slides.py,输出到新文件。 - 修改后运行
validate_presentation.py,再回读内容并渲染全部页面。OOXML 定点修改的关系和回滚要求见 OOXML 编辑。
视觉检查
用 render_presentation.py 生成 PDF 和逐页 PNG;逐页检查标题换行、文字溢出、元素重叠、边界裁切、对齐、对比度、图表标签、页脚和图片清晰度。生成图片只是证据,不等于已经通过检查。
工作契约
- 只读问题不重新保存或导出演示文稿。
- 写操作默认另存新文件,不覆盖源稿或模板。
- 用户提供的模板是视觉和结构权威;不要擅自换母版、主题、字体或配色。
- 先直接使用当前环境。
import pptx失败且任务需要写文件时,取得用户同意后在隔离环境安装${CLAUDE_SKILL_DIR}/requirements.txt,不要静默修改系统 Python。 - 外部 HTML-to-PPTX 或字体工具只在当前环境已有、且依赖许可清楚时使用;缺失时回退到
python-pptx或 OOXML 定点修改,并在交付说明中标明降级。
读取
python3 "${CLAUDE_SKILL_DIR}/scripts/read_presentation.py" "<input.pptx>"
python3 "${CLAUDE_SKILL_DIR}/scripts/read_presentation.py" "<input.pptx>" --output "<new-output.md>"
python3 "${CLAUDE_SKILL_DIR}/scripts/inventory_presentation.py" "<input.pptx>" --output "<inventory.json>"
python3 "${CLAUDE_SKILL_DIR}/scripts/validate_presentation.py" "<output.pptx>"
python3 "${CLAUDE_SKILL_DIR}/scripts/render_presentation.py" "<output.pptx>" --output-dir "<empty-qa-dir>"
脚本按演示顺序提取正文、表格和演讲者备注。图表、图片、SmartArt、构图和只含图片的页面仍要 查看渲染结果;未提取到文字不等于页面为空。
What ships with it
10 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.
- references/html-to-pptx.md 1.6 KB
- references/ooxml-editing.md 1.3 KB
- requirements.txt 20 B
- scripts/inventory_presentation.py 8.2 KB runs code
- scripts/read_presentation.py 9.2 KB runs code
- scripts/render_presentation.py 3.7 KB runs code
- scripts/reorder_slides.py 3.8 KB runs code
- scripts/validate_presentation.py 5.4 KB runs code
- tests/test_presentation_tools.py 5.3 KB runs code
- tests/test_read_presentation.py 3.9 KB runs code
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.
- 4d ago Changed · +30 lines f65716578f1c
- 1mo ago First seen · 73 lines · 95 tokens per session scan A 87ac12390972
pptx is a skill published in the GitHub repository nexus-research-lab/nexus (153 stars, last pushed today), licensed Apache-2.0. It adds 95 tokens to every session and 1,773 once invoked, about $0.0004 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-08-30.
Other skills, from other repositories
pdf-processing
Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
svg-chart
Render data into a standalone SVG chart file — bar, line, or pie. Use when the user provides numbers (inline, JSON, or CSV) and asks for a chart, graph, plot, trend, comparison, breakdown, or any visual summary of the data. Produces a self-contained .svg viewable in any browser; no external libraries required.
Google Workspace
Handle Google Docs, Sheets, Drive, and related Workspace tasks through the narrowest available API or browser workflow.
Nano PDF
Extract, inspect, and summarize PDFs quickly with lightweight tooling before escalating to heavier OCR or layout workflows.
Notion
Create, search, and update Notion pages or databases through the API or a narrow browser fallback when a Workspace lives in Notion.
OCR and Documents
Recover text from scanned or image-heavy documents before attempting structured analysis or downstream writing tasks.