Portable PPTX Skill
Quick Start
Use moon runwasm Milky2018/pptz as the published presentation compiler. While
developing this repository, use the top-level package with moon runwasm ..
Expected project layout:
deck-topic/
├── deck.pptz.toml
├── pages/
│ ├── cover.page.toml
│ └── agenda.page.toml
├── images/
│ └── diagram.png
└── dist/
└── deck.pptx
Workflow
- Clarify the deck goal, audience, language, duration, required slide count,
and delivery constraints.
- Design a reusable visual system that fits the subject and supports text
legibility across all slides. Use a solid theme background when the current
pptz writer does not support the desired image background behavior.
- Write a .pptz.toml file with title, canvas size, theme tokens, shared text
styles, image paths, and ordered page list.
- Write every pages/*.page.toml file. Keep coordinates explicit and reuse
theme tokens instead of hard-coded styles where possible. For decks that
must compile with the current writer, use only the supported feature set
below.
- Find or create required images/ assets. Do not use low-quality,
watermarked, license-unknown, or unreadable images.
- Compile the project with pptz:
moon runwasm Milky2018/pptz deck-topic/deck.pptz.toml --out deck-topic/dist/deck.pptx
- Fix any pptz errors. Inspect every warning and either fix it or record why
it is an intentional design choice.
- Deliver both the pptz source directory and the generated .pptx.
Quality Gate
- pptz exits successfully and writes the expected PPTX.
- Every warning is intentional and documented in the handoff.
- All page/image paths are relative to the deck directory.
- Text fits within its bounds and does not overlap important imagery.
- The common visual system works on cover, section, dense content, and closing
slides.
Current Supported Feature Set
Use these features for deliverable decks:
- explicit deck size and ordered page files;
- optional solid page backgrounds;
- text elements with theme text styles and local overrides;
- rectangle and ellipse shapes;
- solid fills, no-fill shapes, and solid borders;
- raster image elements with fit = "stretch".
Do not use these in deliverable decks until pptz implements them in the
writer: gradient backgrounds or fills, image backgrounds, icon/table/chart
elements, image cover or contain, alpha colors, line_height,
letter_spacing, or shape names other than rect and ellipse.
Important Notes
- The reference selene-engine layout uses a similar directory organization,
but its sample files are YAML-like. This skill uses real TOML.
- pptz and page sources must be parseable by bobzhang/toml@0.4.1.
- File IO for the MoonBit tool should use moonbit-community/miniio.
- See REFERENCE.md for the source schema and CLI contract.
- See examples/minimal for the maintained TOML deck that
covers the currently supported writer features.