Skip to content

Repository files navigation

PPT HTML Skill

PPT HTML Skill is a Codex skill and Node.js runtime for creating and inspecting editable PowerPoint decks through a deterministic PPTX-XML-HTML intermediate layer.

The project is built for workflows where a slide deck must remain editable in PowerPoint while also being readable and auditable by agents. Instead of flattening slides into screenshots, the generator maps structured JSON or canonical IR into native PowerPoint text boxes, shapes, lines, images, object names, Morph transition metadata, sidecar manifests, and HTML mirror files.

Value

  • Keeps generated presentations editable as native PPTX objects.
  • Provides an HTML mirror registry with stable data-pptx-object identifiers for inspection and downstream edits.
  • Stores canonical IR and object manifests next to the output deck and inside PPTX customXml.
  • Supports common deck blocks: cover, section, subtitle, content, metric, and closing slides.
  • Extracts existing PPTX files into best-effort IR and HTML mirror files for review or repair.

Repository Structure

  • SKILL.md - Codex skill entrypoint and operational rules.
  • agents/openai.yaml - Skill display metadata and default prompt.
  • assets/example-deck.json - Starter deck spec for smoke tests and demos.
  • references/spec.md - Deck spec and canonical IR reference.
  • references/editable-ppt-contract.md - Rules for preserving editable PPTX structure.
  • scripts/ppt-html-cli.js - CLI for generating PPTX from spec/IR and extracting PPTX to IR/HTML.
  • package.json and package-lock.json - Node.js runtime dependency definition.
  • requirements.txt - Notes that there are no Python runtime requirements.
  • archive/ - Dated maintenance and verification notes.
  • OVERVIEW.md - Maintainer inventory and project status.

Install

npm install

The runtime uses Node.js dependencies only. Python requirements are intentionally empty.

Generate A Deck

node .\scripts\ppt-html-cli.js `
  --mode generate `
  --spec .\assets\example-deck.json `
  --out .\demo.pptx

This writes:

  • demo.pptx
  • demo.ir.json
  • demo.manifest.json
  • html_mirror/slide_###.html

Extract A Deck

node .\scripts\ppt-html-cli.js `
  --mode extract `
  --pptx .\input.pptx `
  --html-out .\input_html_mirror `
  --ir-out .\input.ir.json

Extraction is best-effort and focuses on common slide XML objects: text boxes, autoshapes, connectors, positions, sizes, fills, lines, font sizes, text, and object names.

Editable PPTX Contract

The central constraint is simple: HTML and IR are the structure and registration layer, not a rasterization target. The PPTX output should use native editable PowerPoint objects. Raster images are allowed only for named photo, screenshot, logo, illustration, or icon regions, not as a full-slide replacement for editable content.

Status

Current structure validation confirms the expected skill entrypoint, agent metadata, references, CLI, example asset, and Node dependency lockfile are present. A generation smoke test using assets/example-deck.json succeeds. The optional --render-check path currently skips in this standalone repository because scripts/export_pptx_pages.ps1 is not included.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages