06 · Slide Decks
← Docs home · Task: turn a published section into a single-file HTML slide deck, then export it to PPTX + PDF.
Source of truth: the
deck-*skills under.claude/skills/(deck-bookshelf,deck-kami,deck-academic-paper,deck-annual-letter,deck-course-module,deck-notebook-tabs,deck-zhangzara-grid) and theslide-deck/Electron editor app for hand-editing an existing deck. Script:scripts/workflows/export_html_deck.py(+scripts/workflows/export_deck_shots.mjs).
Procedure
Say: “build a deck for section 3.2” (Studio’s Templates → Deck tab, or a
direct skill invocation naming the visual style, e.g. deck-bookshelf). The
chosen skill then:
- Reads the published section HTML and picks the teachable objects — Learning Objectives, Definitions, Theorems, Examples, Try-It-Nows, Figures.
- Builds a single self-contained HTML file in that skill’s visual
language (paper texture, type, accent color) under
docs/<book>/decks/. - Runs the
visual-self-checkloop against the rendered slides before declaring the deck done.
The deck is plain HTML+CSS+JS — no build step, no SPA — so it’s presentable
directly and editable by hand or in the slide-deck/ editor app
(slide-deck/src/format/slideFormat.ts round-trips the deck’s markdown
export).
Export to PowerPoint / PDF
python scripts/workflows/export_html_deck.py docs/<book>/decks/<slug>.bookshelf.html
Screenshots each slide via Playwright (export_deck_shots.mjs), then
assembles a rasterised <slug>.pptx and <slug>.pdf next to the deck.
Slides are rasterized (images, not editable shapes) — same trade Open Design
makes upstream.
On the web
Published sections expose a “Present” button linking the deck HTML at
docs/<book>/decks/<slug>.bookshelf.html, viewed live in Studio’s Deck
preview tab or opened directly in a browser.
Gotchas
- The deck is the artifact — no separate SPA build/output directory exists.
- Screenshot export needs
nodeon PATH (export_deck_shots.mjs) and a local Playwright/Chromium install. - Re-run
export_html_deck.pyafter any edit to the deck HTML; the.pptx/.pdfare generated, not hand-maintained.