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/shahidshabbir-se/my-pi-setupnpx agentmods add skills/shahidshabbir-se/my-pi-setup/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/shahidshabbir-se/my-pi-setup/pptx)<a href="https://agentmods.dev/skills/shahidshabbir-se/my-pi-setup/pptx"><img src="https://agentmods.dev/badge/skills/shahidshabbir-se/my-pi-setup/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/shahidshabbir-se/my-pi-setup/pptx"><img src="https://agentmods.dev/badge/skills/shahidshabbir-se/my-pi-setup/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.00217 | $0.07236 |
| Opus 5.5 | $0.00087 | $0.02894 |
| Sonnet 5.5 | $0.00043 | $0.01447 |
| Haiku 4.5 | $0.00022 | $0.00724 |
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 yesterday.
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 — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PPTX creation, editing, and analysis
If this session offers a dedicated slide-deck artifact type or a separate slides skill, and the user has neither asked for a PowerPoint/.pptx file nor supplied a .pptx/.potx file to edit, fill in, or convert, build the deck with that type or skill instead. A .pptx/.potx file given only as source material or as an example for a new deck ("make another deck like this one") does not count as supplied: read it with this skill, then build the new deck with that type or skill. This skill remains the right tool for producing .pptx files and for reading, editing, templating, or converting existing .pptx/.potx files.
A .pptx is a ZIP archive of XML files. Choose your approach by task:
| Task | Approach |
|---|---|
| Create a new deck | Write a pptxgenjs script — see gotchas below — and build it as a structured deck unless the user asks for a quick throwaway |
| Edit an existing deck, or build from a template | unzip → edit ppt/slides/slideN.xml → zip |
| Read content | markitdown deck.pptx (one block per slide under <!-- Slide number: N --> markers); visual grid: python scripts/thumbnail.py deck.pptx |
Scripts
Paths are relative to this skill's directory. Everything else is plain Python, node, or shell.
| Script | What it does |
|---|---|
scripts/thumbnail.py deck.pptx [prefix] |
Labeled grid of every slide, for picking template layouts. .pptx only. Pass prefix — it defaults to thumbnails, which overwrites the grids of any other deck done in the same directory |
scripts/add_slide.py unpacked/ slide2.xml [--after slideN.xml] |
Duplicate a slide (or a slideLayoutN.xml) with all the package bookkeeping. Also takes a .pptx directly with -o out.pptx |
scripts/clean.py unpacked/ |
Delete slides, media, and rels no longer referenced. Run after <p:sldIdLst> is final |
scripts/apply_theme.js |
Node module: const { applyTheme } = require("<this skill's directory>/scripts/apply_theme.js"). await applyTheme("deck.pptx", THEME) after pres.writeFile() writes THEME's colors and name (escaped for XML) into the deck's theme, for structured decks. Also a CLI: node scripts/apply_theme.js deck.pptx theme.json |
scripts/office/validate.py deck.pptx [--original src.pptx] |
Schema, relationship, content-type, chart and slide checks; each failure names its fix. Pass --original for any template-derived deck — it baselines the schema checks against the template, so the template's own XSD errors don't read as yours |
scripts/office/soffice.py --headless --convert-to pdf deck.pptx |
LibreOffice wrapper — bare soffice hangs in this sandbox |
What ships with it
56 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.
- LICENSE.txt 1.4 KB
- scripts/__init__.py 0 B runs code
- scripts/add_slide.py 14 KB runs code
- scripts/apply_theme.js 5.2 KB runs code
- scripts/clean.py 10 KB runs code
- scripts/office/helpers/__init__.py 3.3 KB runs code
- scripts/office/helpers/pptx_chart.py 5.7 KB runs code
- scripts/office/helpers/pptx_slide.py 1.6 KB runs code
- scripts/office/helpers/pptx_theme.py 3.4 KB runs code
- scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd 1.9 KB
- scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd 2.5 KB
- scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd 2.8 KB
- scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd 1.3 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd 73 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd 6.8 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd 50 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd 624 B
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd 148 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd 1.2 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd 8.7 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd 14 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd 82 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd 1.2 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd 7.2 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd 6.2 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd 1.2 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd 880 B
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd 2.5 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd 3.4 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd 7.3 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd 23 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd 1.3 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd 237 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd 26 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd 25 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd 535 B
- scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd 5.6 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd 3.9 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd 167 KB
- scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd 4.5 KB
- scripts/office/schemas/mce/mc.xsd 3.1 KB
- scripts/office/schemas/microsoft/wml-2010.xsd 26 KB
- scripts/office/schemas/microsoft/wml-2012.xsd 3.7 KB
- scripts/office/schemas/microsoft/wml-2018.xsd 901 B
- scripts/office/schemas/microsoft/wml-cex-2018.xsd 1.7 KB
- scripts/office/schemas/microsoft/wml-cid-2016.xsd 1002 B
- scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd 600 B
- scripts/office/schemas/microsoft/wml-symex-2015.xsd 745 B
- scripts/office/soffice.py 5.8 KB runs code
- scripts/office/validate.py 6.0 KB runs code
- scripts/office/validators/__init__.py 336 B runs code
- scripts/office/validators/base.py 33 KB runs code
- scripts/office/validators/docx.py 17 KB runs code
- scripts/office/validators/pptx.py 16 KB runs code
- scripts/office/validators/redlining.py 18 KB runs code
- scripts/thumbnail.py 9.6 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.
- yesterday First seen · 271 lines · 217 tokens per session scan A d8bf85f2ef18
pptx is a skill published in the GitHub repository shahidshabbir-se/my-pi-setup (2 stars, last pushed 2d ago), licensed MIT. It adds 217 tokens to every session and 7,236 once invoked, about $0.0009 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-10-06.
Other skills, from other repositories
audit-dimensions
A review checklist for D1D25 specification files, covering the dimensions used to examine those documents.
opencode-export
Export opencode sessions to self-contained HTML + JSON archives for sharing, review, or backup. Use when the user wants to save, archive, or share their AI coding session history.
typescript-providers
Implement, modify, test, or document TypeScript provider packages under ts/packages/providers, including framework adapters for OpenAI, Anthropic, Google, LangChain, Mastra, Vercel, LlamaIndex, Cloudflare, Claude Agent SDK, and TypeSafe. Use for provider-specific TS work; do not use for core-only changes.
memstack-business-scope-of-work
Use this skill when the user says 'scope of work', 'SOW', 'define scope', 'project scope', 'write SOW', 'scope document', or is defining project boundaries, deliverables, and acceptance criteria for a formal engagement. Do NOT use for proposals, contracts, or invoicing.
release-notes
Write release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release. Short by construction.
review-this-branch
Run the nohuman review gate (fresh-session adversarial reviewer + tamper guard) over the current branch or a GitHub pull request, with no server, no database, and no onboarding, and relay the pass/fail checklist.