Loading...
Loading...
Convert any document, outline, or content into a polished, self-contained HTML slide presentation. Use this skill whenever the user wants to create a presentation, slide deck, pitch deck, or talk from a document, markdown file, outline, notes, or any textual content and wants the output as an HTML file (not PPTX). Also trigger when the user asks for an "HTML presentation", "web-based slides", "reveal.js deck", "browser presentation", or wants to convert a document into slides they can present from a browser. Supports two navigation modes - horizontal (left/right, Reveal.js-powered) and vertical scroll (top-to-bottom, keyboard/scroll navigation). Includes multiple visual themes (dark editorial, light minimal, corporate, hacker terminal). Consider asking the user for clarification on theme, navigation direction, and content structure if not already specified.
npx skill4agent add mathews-tom/praxis-skills html-presentation| Parameter | What to ask | Default if not specified |
|---|---|---|
| Navigation mode | "Should slides go left-to-right (horizontal) or top-to-bottom (vertical scroll)?" | |
| Theme | "Which visual style? Options: | |
| Audience & tone | "Who is this for? (e.g., investors, engineers, conference talk, internal team)" | Infer from content |
| Slide count preference | "Roughly how many slides?" | Auto-determine from content density |
| Branding | "Any logo text, tagline, or accent color to use in the header?" | None |
| CTA / closing | "Any call-to-action, links, or contact info for the final slide?" | None |
| Layout | When to Use | CSS Class |
|---|---|---|
| Title | Opening slide, section dividers | |
| Split | Text + supporting content side-by-side | |
| Grid Cards | 3-6 related items (features, risks, components) | |
| Metrics | Key numbers/stats to emphasize | |
| Quote | Expert quotes, testimonials, key statements | |
| Workflow | Sequential process, pipeline, architecture | |
| Comparison Table | Feature comparison, before/after | |
| Timeline | Chronological events, roadmap phases | |
| List | Ordered or unordered key points | |
| CTA / Closing | Final slide with links and contact | |
references/THEMES.mdreferences/TEMPLATES.mdreferences/NAVIGATION.md<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta, fonts, Reveal.js CDN (horizontal) or custom CSS (vertical) -->
<!-- All styles inline in <style> block -->
</head>
<body>
<!-- Slides markup -->
<!-- Scripts: Reveal.js init (horizontal) or custom scroll handler (vertical) -->
</body>
</html>https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.csshttps://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.jshttps://cdn.jsdelivr.net/npm/reveal.js@4.5.0/plugin/highlight/highlight.jshttps://cdn.jsdelivr.net/npm/reveal.js@4.5.0/plugin/highlight/monokai.csshttps://unpkg.com/lucide@latest<link rel="preconnect">class="fragment"01 // Section NameReveal.initialize({
hash: true,
slideNumber: true,
controls: true,
controlsLayout: "bottom-right",
progress: true,
center: false,
transition: "slide",
width: "100%",
height: "100%",
margin: 0.04,
navigationMode: "linear",
autoAnimate: true,
autoAnimateDuration: 0.7,
plugins: [RevealHighlight], // only if code blocks present
});scroll-snap-align: start./presentation.html| Problem | Cause | Fix |
|---|---|---|
| CDN fails to load (Reveal.js, Lucide, Google Fonts) | Network unavailable or CDN outage | Switch to inline styles/scripts: embed Reveal.js core inline, replace Lucide icons with inline SVG paths, use system font stack ( |
| Content overflows slide viewport | Too much text or too many elements per slide | Split the slide into two: move supporting detail to a follow-up slide or convert prose to a bullet list |
| Fonts render incorrectly or fail to load | Google Fonts CDN blocked or slow | Add system font fallback in the font-family stack: |
| Reveal.js fails to initialize | Script load order issue or missing plugin | Verify CDN script tags appear before |
pointer-events: auto