Create animation-rich HTML slide decks from scratch, convert PPT/PPTX to web slides, or enhance existing HTML presentations. Use when users ask for slides, deck design, or web-based presentations.
Build zero-dependency, production-quality HTML presentations that run entirely in the browser.
Keep this file as the orchestrator. Use supporting docs for details.
references/WORKFLOW.md: end-to-end phase flow and question sequence.references/VIEWPORT_RULES.md: non-negotiable viewport constraints and CSS baseline.references/STYLE_PRESETS.md: full style preset catalog and design tokens.references/IMAGE_PIPELINE.md: image evaluation, processing, and placement.references/EDIT_MODE.md: inline editing implementation (opt-in only).references/PPT_CONVERSION.md: extraction and conversion workflow.references/PDF_EXPORT.md: export HTML slides to print-safe multi-page PDF.references/ANIMATION_REFERENCE.md: feeling-to-motion mapping and snippets.Always load references/VIEWPORT_RULES.md before generating or modifying slides.
First classify the request:
User wants slides from a topic/notes/content.
User provides .ppt/.pptx to convert.
Load references/PPT_CONVERSION.md.
User wants edits to an existing HTML deck.
Before editing:
references/VIEWPORT_RULES.md.User wants HTML slides exported to PDF.
Load references/PDF_EXPORT.md.
Use the detailed steps in references/WORKFLOW.md. The required sequence is:
For new presentations, ask all of these together. If the 'AskUserQuestion' tool is unavailable, stop and ask these in the chat:
./assets / custom path)If content is not ready, propose outline and confirm before styling.
.Codex-design/slide-previews/:
style-a.htmlstyle-b.htmlstyle-c.htmlIf user already knows the style, select preset directly from references/STYLE_PRESETS.md and skip previews.
When producing final HTML:
100vh/100dvh).clamp().<button>, reset native button appearance so dots stay perfectly circular (appearance: none; -webkit-appearance: none; padding: 0; margin: 0; line-height: 0; aspect-ratio: 1 / 1;).@media print block in generated decks so one slide exports to one PDF page cleanly.If user opted into editing, load and follow EDIT_MODE.md exactly.
If user provided images, load and follow IMAGE_PIPELINE.md.
Single deck:
presentation.html
assets/
Named deck variant:
[presentation-name].html
[presentation-name]-assets/
When uncertain, split content into more slides.