pptx
GitHub处理PPTX文件的创建、编辑、验证及渲染工作流,确保OOXML结构完整与内容质量。
Trigger Scenarios
Install
npx skills add MemTensor/memmy-agent --skill pptx -g -y
SKILL.md
Frontmatter
{
"name": "pptx",
"description": "Create, inspect, edit, validate, render, and deliver PowerPoint presentations and templates while preserving OOXML structure and user metadata."
}
PPTX workflow
Use this skill whenever the input or requested output is a .pptx or .potx
presentation, slide deck, template, slide layout, speaker notes, comments, or
slide conversion. It is not a replacement for ordinary document or image
editing.
Decide the operation
- For a new deck, create one
pptxgenjspresentation, set its layout before adding slides, and keep charts and tables editable. - For an existing deck, copy it to a private temporary directory first. Use
scripts/inspect-style OOXML inspection through the checkers, then edit only requested parts withjszipand XML parsing. - To duplicate a slide use
scripts/clone_slide.mjs; do not copy one XML file by hand. To remove unused parts usescripts/prune_orphans.mjsonly after the final slide order is established. - For
.pptinput, convert a temporary copy withscripts/render_with_office.mjs --headless --convert-to pptxwhen the bundled Office payload supports it. Conversion failure is a hard failure.
Required quality sequence
- Work in a unique temporary directory and leave the source unchanged.
- Make all slide additions, deletions, and ordering changes.
- Fill content while preserving theme, notes, comments, media, charts, embedded objects, hidden slides, and user metadata.
- Run
scripts/check_deck.mjs <deck-or-directory> --json; pass--baseline <template>only for a template baseline. Use--auto-repaironly for the safe ID/relationship repairs reported by the checker. - Render with
scripts/render_with_office.mjs --headless --convert-to pdf <deck> --output-dir <dir>and inspect every page. Create a grid withscripts/make_contact_sheet.mjs --input <deck> --output-dir <dir> --prefix <unique-name>when a compact review is useful. - Reopen the output with the checker and confirm page count, notes, media, charts, hidden slides, and metadata before delivery.
Design and content checks
Set a deliberate 16:9 or standard layout before adding slides. Use six-digit hex colors without alpha in the color field, native bullets, speaker notes, and editable charts. Keep text left aligned, provide at least 0.5 inch safe margins, and avoid overflow, overlap, low contrast, placeholder text, and decorative edge bars. Typical sizes are 36–44 pt titles, 20–24 pt section titles, 14–16 pt body, and 10–12 pt notes. Font choice and any cross-platform rendering difference must be recorded in the QA report.
The final scan is case-insensitive for xxx, lorem, ipsum, TODO,
[insert, and template phrases such as “this … slide/page … layout”. Any
match blocks delivery.
Script contracts
Every script is a standalone Node CLI with --help, stable JSON on
--json, non-zero status for missing or invalid inputs, and no shell command
fallback. The renderer resolves the bundled Office payload through
MEMMY_OFFICE_RENDERING_ROOT, the legacy MEMMY_DOCX_RENDERING_ROOT during
migration, the packaged dist/extra-dependencies/office-rendering, and then
the source directory. It never silently uses a system PATH installation.
See references/deck-workflow.md, references/ooxml-editing.md, and
references/validation-and-rendering.md for the detailed decision tree and
failure semantics.
Version History
- 0074fc0 Current 2026-09-22 01:42


