Hermes Slide-Deck Capability Report

Hermes Slide-Deck Capability Report

Prepared for: Jonas Krauss · Date: 2026-08-28 Inputs: Internal capability audit [A], community practice digest [C], tool landscape survey [S]


1. Executive Summary

Hermes already has a working, verified markdown-to-slide-deck pipeline on this host: Quarto + reveal.js produces interactive HTML decks, and a headless Chrome binary (from the Playwright cache) exports them to multi-page PDF — no extra installs required [A §1.1–1.2]. The broader landscape confirms that markdown-first toolchains (Marp, Slidev, Quarto) are the dominant and fastest-growing approach among AI-agent users, while SaaS generators like Gamma offer the quickest polished first draft but suffer from unreliable PPTX export [C Muster 1–4, S §1]. The strongest recommendation is a two-track strategy: (1) make Quarto reveal.js the default deck engine (already installed, already verified), and (2) add a Gamma API integration for cases where Jonas wants a polished AI-generated first draft with minimal effort. For editable native .pptx deliverables, python-pptx wrapped by the knorq-ai MCP server (with theme presets) is the only viable route, but it requires installation and ongoing maintenance [S §6]. The biggest gap is not tooling — it’s the absence of a dedicated Hermes skill that codifies the deck-building workflow; closing that gap is a 2–4 hour effort with high leverage.


2. Current State — Internal Capability Inventory

Everything below was verified by direct execution on this host [A].

What works out of the box

Capability Tool Status Notes
Interactive HTML deck Quarto v1.10.18 (revealjs format) ✅ Verified .qmddeck.html (self-contained, 20 KB per 2 slides) [A §1.1]
Multi-page PDF deck Headless Chrome (Playwright cache) ✅ Verified chrome --headless --print-to-pdf → 3-page PDF from reveal.js deck [A §1.2]
Paginated PDF (alt) Quarto typst-pdf (Typst v0.15.1) ✅ Verified 11206-byte PDF produced [A §1.3]
Basic PPTX from markdown Pandoc v3.1.3 (pptx format) ✅ Verified 40 zip entries, valid slides — but no custom slide master/theming [A §1.4]
Architecture/flow diagrams D2 v0.7.1 ✅ Verified 13538-byte SVG output [A §1.5]
Mermaid diagrams (in Quarto) Quarto bundled renderer ✅ Verified Zero-config, renders inside .qmd [A §1.5]
Mermaid CLI standalone mmdc v11.16.0 ⚠️ Workaround Needs --no-sandbox + PUPPETEER_EXECUTABLE_PATH config [A §2.2]
Cover/illustration images image_generate (FAL FLUX 2 Klein 9B) ✅ Available Good for hero visuals; not for precise data charts [A §1.7]
Image composition PIL/Pillow 12.3.0 (hermes venv) ✅ Verified Crop/resize/overlay PNGs [A §1.8]
Brand assets Documented palette + Raleway font ✅ Available Dodger Blue #0496FF, Indigo #300A6E, Crimson Carrot #FB5012, Platinum #EBEBEB [A §1.9]

Existing report-publishing precedents (proven on this host)

Gaps

# Gap Impact Mitigation
G1 No python-pptx Can’t build editable .pptx programmatically uv pip install python-pptx (uv 0.12.5 present) — or use Pandoc PPTX for basic decks [A §3]
G2 No reportlab No programmatic vector PDF from Python Quarto typst-pdf / Chrome print-to-pdf already cover this [A §3]
G3 No matplotlib in Python No programmatic data charts D2 + Quarto mermaid for diagrams; image_generate for visuals; install matplotlib if needed [A §3]
G4 weasyprint stub broken HTML→PDF via weasyprint unavailable Use headless Chrome print-to-pdf instead [A §3]
G5 mmdc sandbox issue Mermaid CLI standalone friction Use Quarto’s bundled mermaid renderer (zero config) [A §3]
G6 browser_exec can’t launch headless Can’t use browser tool for rendering Use raw Chrome binary directly [A §3]
G7 No TeX distribution Quarto Beamer (LaTeX PDF slides) fails Use reveal.js → PDF or typst-pdf instead [A §3]
G8 No dedicated slide-deck skill No opinionated “make me a deck” procedure encoded Author a skill — highest-leverage gap to close [A §3]
G9 No pandas in venv Data-table-heavy decks less convenient Use Markdown tables in Quarto, or install pandas [A §3]

3. What Others Do — Community Patterns

Research identified six real-world patterns for building slide decks with AI agents, sourced from 34 references with 12 verbatim-evidence citations [C].

Pattern 1 — Claude Code + Marp (dominant community approach)

The agent interviews the user (goal, audience, key points), generates a .md with Marp frontmatter, and exports via marp-cli to HTML, PDF, and PPTX. The presentation is a textfile — versionable, diffable, AI-editable. A 15-slide deck converts in ~2 seconds. Community skills like robonuggets/marp-slides (299★) bundle 22 curated example decks + SVG charts so the agent learns composition, not just building blocks.

Pattern 2 — Source-first PPTX (outline.json → script → .pptx)

“Treat a deck like code”: an outline.json is the source, a renderer (pptxgenjs or python-pptx) builds the .pptx. Design is coded as constraints (variant grammar, preset system for palette/typography/density, QA loop). Skills like siril9/presentation-skill and mpuig/agent-slides (160+ tests) implement this.

Pattern 3 — HTML / Reveal.js presentations

The agent builds a self-contained HTML file with Reveal.js, Slidev, or custom templates. “Master slides” are components; corporate identity is defined via rules + assets in AGENTS.md. Community skills include yugasun/slides-skills (32 templates, 4 themes) and broeker/reveal-deck.

Pattern 4 — SaaS API automation (Gamma)

A POST to the Gamma API (/v1.0/generations) with text input → polished, brandable deck in ~30–60s, exportable as PDF or PPTX. OAuth for MCP server integration. Fastest first draft available.

Pattern 5 — Hermes’ bundled python-pptx skill

Hermes ships a bundled powerpoint skill with 5 helper scripts: create deck from JSON spec, read structured content, edit in-place, build from brand template, render slides to PNGs (via LibreOffice + pdftoppm). Optional finance/pptx-author for pitch decks where every number must trace to a source workbook.

Pattern 6 — Quarto RevealJS (academic/technical)

A .qmd source renders to RevealJS HTML or PPTX. Agent skills like alfredo-hs/quarto-talks encode editorial rules (intellectual spine first, overload → delete not shrink, ~23-slide limit, no invented quotes).

Recurring community frustrations

  1. PowerPoint export breaks — fonts substituted, animations gone, layouts overlapping. The #1 complaint about SaaS AI decks [C]
  2. “Looks like AI” / same-look — after ~5 decks, clients recognize the pattern. Counter: concrete structure in prompt, name visual references, write content yourself and delegate only layout [C]
  3. Hallucinations — invented statistics, fake quotes, fabricated DOIs. Affects all generators, especially dangerous in academic/regulated contexts [C]
  4. Manual clipboard loop — agent writes 80–100 slides of content, but assembly in Google Slides remains manual [C]
  5. Design competence — “most agent-built slide decks pass automated checks and still look bad.” Skills that encode design as constraints are the emerging solution [C]

4. Landscape — Tool Comparison & Top-3 Shortlist

Comparison table (16 tools surveyed, 49 sources [S])

Option Category Visual quality Full automation Cost Native PPTX Maintenance
Gamma (API/MCP) AI SaaS High (best AI floor+ceiling) Excellent — REST GA + hosted MCP Paid, Pro+ ($18–90/mo) No (export may lose fidelity) Low (hosted)
Beautiful.ai AI SaaS High (highest floor) Weak–moderate (API early-access) Paid, $12–45/mo Yes (clean export) Low, but no GA API
Tome AI SaaS — (dead) — (dead) — (dead) — (dead) Dead — shut down 30 Apr 2025
Presentations.AI AI SaaS Moderate–high Good — REST + Python client Free tier / Pro $20 / Gold $100 Yes (editable) Low (hosted)
Slidev Code-first High (themes/components) Excellent — CLI + CI MIT, free No (PPTX = images) Medium (Playwright)
Marp CLI Code-first Good–high (CSS themes) Excellent — single CLI MIT, free Experimental (LibreOffice) Low–medium (browser)
reveal.js + DeckTape Code-first Very high Good — CLI/Docker MIT, free No (PDF/HTML only) Medium (framework + exporter)
Quarto (revealjs/pptx/beamer) Code-first High Excellent — one CLI, 3 formats Open source, free Yes (native pptx) Medium (per-format toolchain)
LaTeX Beamer Code-first High (academic); low for marketing Good — scriptable Free No (PDF only) High (TeX Live)
python-pptx Code-first Low by default Good — needs layout code MIT, free Yes (native, editable) Medium–high (positioning code)
knorq-ai pptx-mcp-server Agent/MCP Medium–high (theme presets) Good — 37 tools + validation MIT, free Yes Medium (local + LibreOffice)
SlideForge MCP Agent/MCP Medium Good MIT, free Yes Medium (local)
Other MCP servers Agent/MCP Low–medium Good MIT, free Yes Low–high (varies)

Sources: [S §5] with citations from developers.gamma.app, sli.dev, github.com/marp-team/marp-cli, quarto.org, python-pptx.readthedocs.io, github.com/knorq-ai/pptx-mcp-server, github.com/smartdatabrokers/slideforge-mcp

Top-3 shortlist

1. Gamma (REST API + hosted MCP) — Best for AI-native stunning decks with minimal maintenance. The only option that is simultaneously top-of-class for AI visual design, has a GA REST API (Nov 2025) and hosted MCP server, and requires no local toolchain. Credit-based pricing on a Pro plan (~$18/mo) is predictable. Caveat: output is web-native; PPTX/PDF export can lose fidelity — acceptable if the deliverable is a link or PDF, not an editable .pptx. S §6

2. Slidev / Marp / Quarto — Best for deterministic, local, license-clean decks. Markdown-in + CLI export to PDF/PPTX/PNG in CI is the purest autonomous pipeline, fully MIT/free. Quarto is already installed on this host and verified. Choose Marp for the lightest dependency footprint; choose Slidev for the highest visual ceiling via themes/components. Note: PPTX export renders slides as images (not editable) in all three. S §6, github.com/marp-team/marp-cli, quarto.org

3. python-pptx (wrapped by knorq-ai or SlideForge MCP) — Best when the deliverable MUST be native editable .pptx. The only route with true PowerPoint-native output. Raw python-pptx is “not pretty by default” — wrap it with an MCP server that adds theme presets (McKinsey/Deloitte/Neutral/IR) and layout validation. Requires installation + LibreOffice for rendering. S §6, python-pptx docs

Why not the others: Beautiful.ai has the best visual floor but its API is early-access-only — not safe for unattended autonomous generation S §2. Tome is defunct — a cautionary tale about AI-SaaS availability risk S §2. Beamer requires a full TeX install (absent on this host) and is weaker for marketing-grade output [A §2.1, S §3].


5. Recommendation

Two-track strategy: local-first default + Gamma for rapid drafts

Track 1 (default): Quarto reveal.js — already working, zero install needed

This is the path of least resistance. The pipeline is verified end-to-end on this host:

  1. Author content as a .qmd file (Markdown + optional mermaid code blocks)
  2. quarto render deck.qmddeck.html (interactive reveal.js deck)
  3. Headless Chrome print-to-pdf → multi-page PDF
  4. Diagrams via inline mermaid (bundled, zero-config) + D2 for architecture SVGs
  5. Visual assets via image_generate (FAL) for cover/illustrations + PIL for composition
  6. Branding via the documented palette (Dodger Blue, Indigo, Crimson Carrot) + Raleway
  7. Publish via python3 -m http.server or the existing whitepaper/westbridge deploy pattern

This covers 90% of deck requests: interactive HTML for presenting, PDF for sharing. No new dependencies, no API costs, no external service risk.

Track 2 (optional): Gamma API for rapid polished first drafts

When Jonas wants a visually stunning first draft in 60 seconds without touching markup:

When native editable .pptx is required:

What to build: a dedicated slide-deck skill (Gap G8)

The single highest-leverage action is authoring a Hermes skill that codifies the deck-building workflow. This closes the gap between “the tools exist” and “the agent knows the opinionated best path.” The skill should encode:

Effort estimate:

Action Effort Dependency
Author slide-deck skill (SKILL.md + template .qmd + helper script) 2–4 h None — all tools already installed
Install python-pptx 5 min uv pip install python-pptx
Set up Gamma API integration 30 min Gamma Pro account + API key in 1Password
Install knorq-ai MCP server (optional, for themed PPTX) 1–2 h Node.js + LibreOffice for rendering
Install matplotlib (optional, for data charts) 5 min uv pip install matplotlib

6. Next Steps

  1. Author the slide-deck skill — template .qmd with brand styling, Chrome print-to-pdf helper, editorial rules. This is the #1 priority; it makes the existing pipeline discoverable and repeatable. (2–4 h)

  2. Install python-pptx — one command (uv pip install python-pptx), unlocks the bundled powerpoint skill for editable PPTX deliverables. (5 min)

  3. Set up Gamma API as a fallback — register for Gamma Pro, store API key in 1Password, add a skill section for rapid AI-generated drafts. Useful when Jonas wants a polished starting point fast. (30 min)

  4. Validate with a real deck — build a 10-slide deck on a real topic (e.g., the Westbridge POC summary) using the new skill, export to both HTML and PDF, and verify visual quality. This tests the full pipeline end-to-end. (1 h)

  5. Consider matplotlib installation — only if data-chart-heavy decks become a regular need. D2 + mermaid cover most diagram cases today. (5 min, defer until needed)


Source Index

Internal capability audit [A]

Community practice digest [C]

Tool landscape survey [S]