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/the-open-agent/openagent/powerpointnpx skills add the-open-agent/openagent --skill powerpointgit clone --depth 1 https://github.com/the-open-agent/openagentWrote 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/the-open-agent/openagent/powerpoint)<a href="https://agentmods.dev/skills/the-open-agent/openagent/powerpoint"><img src="https://agentmods.dev/badge/skills/the-open-agent/openagent/powerpoint.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.00048 | $0.01095 |
| Opus 5 | $0.00024 | $0.00548 |
| Sonnet 5 | $0.00010 | $0.00219 |
| Haiku 4.5 | $0.00005 | $0.00110 |
Grade A, and why
powerpoint 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PowerPoint
Use this skill whenever a PowerPoint deck is involved. For new decks, pass a trusted PptxGenJS build script directly to the pptx_write tool. For filling or editing an existing template, call pptx_template_analyze first and then pptx_template_fill with the exact IDs returned by analysis.
Workflow
- Decide the deck outline and choose a visual system: palette, typography, repeated motif, and slide rhythm.
- Write JavaScript module content that exports
default async function build(pptx, ctx)or namedbuild(pptx, ctx). - In the script, add slides directly with PptxGenJS. Do not generate HTML for this workflow.
- Call
pptx_writewithpath,script, optionalassets_dir, and optionaldata. - Verify the result with
pptx_read; for visual QA, convert the PPTX to images if the environment has LibreOffice and Poppler.
Template Workflow
- Use
pptx_template_analyzewhen the user provides a.pptxtemplate or wants to preserve existing layouts, charts, images, tables, or SmartArt. - Build a
template_fill_pptx_plan.v1plan from the returned slide IDs and object IDs, then callpptx_template_fill. - For SmartArt, use
smartarts[*].smartart_idandsmartarts[*].nodes[*].node_idinsmartart_edits. This edits existing node text only; it does not create, delete, or relayout SmartArt nodes.
Script Creation
- Put the complete JavaScript module in the
scriptargument. - Do not use
local_file_writeor shell commands to create a temporary.mjsfile for this workflow. - If revising a deck, update the
scriptcontent and callpptx_writeagain.
Tool Contract
{
"tool": "pptx_write",
"arguments": {
"path": "deck.pptx",
"script": "export default async function build(pptx, ctx) {\\n pptx.layout = \"LAYOUT_WIDE\";\\n}",
"assets_dir": "/absolute/path/to/assets",
"data": {"title": "Quarterly Review"}
}
}
The worker creates the PptxGenJS instance and writes the output file. The script only adds slides and content.
What ships with it
1 file 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.
- 4d ago First seen · 91 lines · 48 tokens per session scan A 3986acaa16df
powerpoint is a skill published in the GitHub repository the-open-agent/openagent (5,599 stars, last pushed today), licensed Apache-2.0. It adds 48 tokens to every session and 1,095 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
documents
Create, read, edit, review, comment on, sanitize, render, and validate Microsoft Word DOCX documents. Use whenever a DOCX or Word document is a primary input or deliverable, including reports, proposals, forms, templates, tracked revisions, comments, tables, images, headers, footers, and style-preserving edits.
Read, create, inspect, merge, split, rotate, encrypt, fill, and validate PDF files. Use when the user asks to work with a PDF or convert supported Markdown into a polished PDF in AstrBot.
spreadsheets
Create, read, edit, analyze, convert, chart, and validate spreadsheet files including XLSX, XLSM, XLS, CSV, and TSV. Use when a spreadsheet is a primary input or deliverable, or when tabular data must remain editable and auditable in workbook form.
greeting-user
Explains how to properly greet the user.
using-process-tool
Describes how to correctly use 'process' tool.
cherry-pick-pro
Cherry-pick commits from chatbox-pro repo to the open chatbox repo, handling mobile-only files, package name differences, and other repo-specific exclusions.