Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/CODE-SAURABH/OpenSkillsnpx agentmods add skills/code-saurabh/openskills/pptxWrote 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/code-saurabh/openskills/pptx)<a href="https://agentmods.dev/skills/code-saurabh/openskills/pptx"><img src="https://agentmods.dev/badge/skills/code-saurabh/openskills/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/code-saurabh/openskills/pptx"><img src="https://agentmods.dev/badge/skills/code-saurabh/openskills/pptx.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.00086 | $0.02969 |
| Opus 5.5 | $0.00034 | $0.01188 |
| Sonnet 5.5 | $0.00017 | $0.00594 |
| Haiku 4.5 | $0.00009 | $0.00297 |
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 1mo 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 — 320 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PowerPoint Presentation (.pptx)
A .pptx file is a ZIP archive of XML files. You can create, edit, and read them programmatically. Choose the right approach for the task:
| Task | Approach |
|---|---|
| Create a new deck | pptxgenjs (Node) or python-pptx (Python) |
| Edit an existing deck | Unzip → edit slide XML → rezip |
| Read content from a deck | markitdown deck.pptx or unzip and parse XML |
| Convert to PDF | LibreOffice headless |
Presentation Principles
- Every slide has one job. A slide that makes three points makes zero. Split ruthlessly.
- Text-only slides are forgettable. Every slide needs at least one visual element — chart, image, icon, data callout, or diagram.
- The deck must work without the speaker. Async decks (sent via email, read without a presenter) need more text and context than live-presentation decks.
- Visual hierarchy over bullet points. A large number + small label communicates faster than a sentence. A 2x2 grid communicates relationships better than a list.
- Commit to a visual direction and hold it. One font pair. One color palette. One layout style. Inconsistency signals lack of polish.
- AI slop is obvious. Cream backgrounds, accent stripes along card edges, Inter/Roboto with no rationale, blue CTA buttons, centered body text — these are trust killers. Avoid all of them.
Step 0: Before Creating
Ask the user:
- What is the deck for? (investor pitch, all-hands, client presentation, technical review, sales demo)
- Who is the audience? (technical, executive, external client, general team)
- How many slides? Or: what content needs to be covered?
- Brand constraints? (specific colors, fonts, logo to include)
- Output format? (.pptx to edit further, or PDF to send)
- Presenting live or sending async? (changes text density and speaker notes needs)
Creating with pptxgenjs (Node/TypeScript)
Setup
# pptxgenjs is often pre-installed — try require first
node -e "require('pptxgenjs')" 2>/dev/null && echo "installed" || npm install pptxgenjs
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.
- 1mo ago First seen · 320 lines · 86 tokens per session scan A 2da0a668ba12
pptx is a skill published in the GitHub repository CODE-SAURABH/OpenSkills (3 stars, last pushed 2mo ago), licensed MIT. It adds 86 tokens to every session and 2,969 once invoked, about $0.0003 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-31.
Other skills, from other repositories
blog-notebooklm
Query Google NotebookLM notebooks for source-grounded, citation-backed answers from user-uploaded documents. Manages notebook library, handles Google authentication, and supports smart discovery. Works standalone via /blog notebooklm or internally from blog-write and blog-researcher for source-grounded research…
library-rag
Semantic search over a personal library using Nemotron-3-Embed-1B embeddings + sqlite-vec. Index books, documents, any text corpus; query by meaning. Includes EPUB→Markdown conversion and MCP server for auto-available search tools.
fill-template
Use when the user wants to "fill in this letter for each person", "mail merge", "generate letters for this list", "turn this filled letter into a template", or hands over a template plus a list. Bulk-fills ONE master template — a Word (.docx) letter/form or an Excel (.xlsx) form — from a data table, one filled file…
people-enrichment
Use when the user has a list of names or companies and wants their job, employer, work history, LinkedIn URLs or company profiles looked up, or wants to find people or companies matching criteria — trigger on phrases like "enrich these contacts", "find their LinkedIn", "look up these people", "who works at X", "find…
pdf2epub
Use when converting a PDF book to EPUB, e.g. 'pdf to epub', 'convert this PDF book for my e-reader', 'EPUB with cover and TOC', 'pdf to ebook for kobo/kindle'. Builds a text-layer PDF into an EPUB with cover image, one section per chapter, a parsed 目录/Contents TOC, inline illustrations, and footnote endnotes.…
youtube-fetcher
Retrieve YouTube transcripts and subtitles, summarize or analyze what was said, or save an Obsidian-ready Markdown knowledge-base note with captions, creator metadata, chapters, language, and source provenance. Use for a YouTube URL or video ID when the request needs spoken content or an archival note. A bare YouTube…