PPTX
Summary
Use this skill for .pptx presentation work. Prefer PptxGenJS for new,
layout-driven decks and python-pptx for inspection or bounded edits. Use an
available local LibreOffice or compatible renderer for visual validation.
This is a workflow and safety contract, not a presentation engine. Probe the
actual environment before choosing a backend.
When To Use
- Creating a presentation from an outline, document, data set, or template
- Inspecting slide text, structure, notes, images, charts, or metadata
- Making bounded changes to an existing deck
- Rendering a deck to PDF or images for review
- Producing charts or tables from operator-provided data
Safety Boundaries
- Keep the input unchanged and write a new
.pptx by default.
- Treat hyperlinks, media, macros, embedded objects, and package metadata as
untrusted input.
- Never execute VBA, embedded programs, OLE actions, or linked content.
- Ask before downloading linked assets or uploading deck content.
- Do not claim lossless editing when a deck contains animations, SmartArt,
embedded media, custom XML, unsupported charts, signatures, or unknown parts.
For an existing deck, inventory those features before saving it. If the chosen
library cannot preserve important features, use read-only analysis, rebuild a
new deck, or request manual Office editing instead.
Backend Selection
- Prefer PptxGenJS for new presentations requiring explicit placement,
reusable layouts, shapes, images, tables, or charts.
- Prefer python-pptx for reading common slide content and small edits whose
affected elements are represented by its object model.
- Use LibreOffice headless only when installed and approved as a local
renderer or converter. Record that it is not Microsoft PowerPoint.
- Use local image tooling for montage or pixel inspection when available.
Do not silently install Node, Python packages, LibreOffice, fonts, or other
system dependencies. Report the missing capability and the safe fallback.
Workflow
- Confirm the audience, purpose, slide count, aspect ratio, language, branding,
source data, output path, and whether a template must be preserved.
- Inspect existing decks before editing. Record slide layouts, masters, fonts,
charts, notes, media, links, and unsupported features that affect fidelity.
- Create a content plan before implementation: one message per slide, evidence
or data source, visual hierarchy, and speaker-note requirements.
- Choose a backend and explain any expected limitations.
- Generate or edit a new output file. Avoid raw OOXML manipulation unless the
exact package contract is understood and no safer API can express the change.
- Reopen the package and verify slide count, relationships, media references,
and expected text or data.
- Render every slide when a renderer is available. Inspect for overflow,
clipping, overlap, unreadable charts, missing images, blank slides, and font
substitution.
- Sample-check numbers, labels, citations, and charts against source material.
Quality Rules
- Keep a consistent grid, margins, typography, and color system.
- Prefer concise slide copy and meaningful visual structure over dense prose.
- Do not fabricate citations, figures, logos, or brand requirements.
- Preserve aspect ratio when placing images; flag low-resolution assets.
- Make charts readable without relying only on color.
- Use fonts known to exist in the target environment, or report substitutions.
- Separate speaker notes from visible slide content when notes are requested.
Delivery
Report the output path, source preservation, backend and fonts used, rendered
pages inspected, structural checks, sampled data checks, and any unsupported or
unverified presentation features. If rendering was unavailable, say that visual
layout was not verified.
1---2name: pptx3description: Create, inspect, edit, render, and validate PowerPoint presentations with local open-source tools while preserving source files and reporting fidelity limits.4---56# PPTX78## Summary910Use this skill for `.pptx` presentation work. Prefer PptxGenJS for new,11layout-driven decks and `python-pptx` for inspection or bounded edits. Use an12available local LibreOffice or compatible renderer for visual validation.1314This is a workflow and safety contract, not a presentation engine. Probe the15actual environment before choosing a backend.1617## When To Use1819- Creating a presentation from an outline, document, data set, or template20- Inspecting slide text, structure, notes, images, charts, or metadata21- Making bounded changes to an existing deck22- Rendering a deck to PDF or images for review23- Producing charts or tables from operator-provided data2425## Safety Boundaries2627- Keep the input unchanged and write a new `.pptx` by default.28- Treat hyperlinks, media, macros, embedded objects, and package metadata as29 untrusted input.30- Never execute VBA, embedded programs, OLE actions, or linked content.31- Ask before downloading linked assets or uploading deck content.32- Do not claim lossless editing when a deck contains animations, SmartArt,33 embedded media, custom XML, unsupported charts, signatures, or unknown parts.3435For an existing deck, inventory those features before saving it. If the chosen36library cannot preserve important features, use read-only analysis, rebuild a37new deck, or request manual Office editing instead.3839## Backend Selection4041- Prefer **PptxGenJS** for new presentations requiring explicit placement,42 reusable layouts, shapes, images, tables, or charts.43- Prefer **python-pptx** for reading common slide content and small edits whose44 affected elements are represented by its object model.45- Use **LibreOffice headless** only when installed and approved as a local46 renderer or converter. Record that it is not Microsoft PowerPoint.47- Use local image tooling for montage or pixel inspection when available.4849Do not silently install Node, Python packages, LibreOffice, fonts, or other50system dependencies. Report the missing capability and the safe fallback.5152## Workflow53541. Confirm the audience, purpose, slide count, aspect ratio, language, branding,55 source data, output path, and whether a template must be preserved.562. Inspect existing decks before editing. Record slide layouts, masters, fonts,57 charts, notes, media, links, and unsupported features that affect fidelity.583. Create a content plan before implementation: one message per slide, evidence59 or data source, visual hierarchy, and speaker-note requirements.604. Choose a backend and explain any expected limitations.615. Generate or edit a new output file. Avoid raw OOXML manipulation unless the62 exact package contract is understood and no safer API can express the change.636. Reopen the package and verify slide count, relationships, media references,64 and expected text or data.657. Render every slide when a renderer is available. Inspect for overflow,66 clipping, overlap, unreadable charts, missing images, blank slides, and font67 substitution.688. Sample-check numbers, labels, citations, and charts against source material.6970## Quality Rules7172- Keep a consistent grid, margins, typography, and color system.73- Prefer concise slide copy and meaningful visual structure over dense prose.74- Do not fabricate citations, figures, logos, or brand requirements.75- Preserve aspect ratio when placing images; flag low-resolution assets.76- Make charts readable without relying only on color.77- Use fonts known to exist in the target environment, or report substitutions.78- Separate speaker notes from visible slide content when notes are requested.7980## Delivery8182Report the output path, source preservation, backend and fonts used, rendered83pages inspected, structural checks, sampled data checks, and any unsupported or84unverified presentation features. If rendering was unavailable, say that visual85layout was not verified.