Build animated, themed HTML lecture and workshop decks from a storyboard. A Claude skill plus a Python kit with three themes.
Overview
A skill and toolkit for building animated, themed HTML lecture and workshop decks from a storyboard: one claim per screen, one picture that shows the mechanism, speaker notes that carry the depth, and a mode strip on every screen so the room always knows who has the screen. Built for live sessions (in a room or on Zoom) with breakouts, share-screen moments and handoffs. One self-contained HTML file per deck: keyboard navigation, notes panel, overview, blackout, print to handout, copy-to-clipboard prompts. Three themes ship; a theme is one JSON file. Open examples/demo/out/Demo.html in a browser. Arrow keys move, N opens the notes, O the overview, B blackout, F fullscreen, Print gives one page per screen. Then write storyboard.md, build the screens in screens.py, and run the loop in reference/workflow.md. The repo root is the skill: SKILL.md plus reference/, scripts/ and examples/. Zip the folder (or add it to your skills directory) and ask for a deck.
README
lecture-deck
A skill and toolkit for building animated, themed HTML lecture and workshop decks from a storyboard: one claim per screen, one picture that shows the mechanism, speaker notes that carry the depth, and a mode strip on every screen so the room always knows who has the screen.
Built for live sessions (in a room or on Zoom) with breakouts, share-screen moments and handoffs. One self-contained HTML file per deck: keyboard navigation, notes panel, overview, blackout, print to handout, copy-to-clipboard prompts. Three themes ship; a theme is one JSON file.
Quick start
git clone https://github.com/RinDig/lecture-deck-skill
cd lecture-deck-skill
python scripts/build_deck.py examples/demo # eduba theme
python scripts/build_deck.py examples/demo --theme slate
python scripts/build_deck.py examples/demo --theme paper
python scripts/render.py examples/demo/out/Demo.html # PNG per screen (needs a Chromium)
python scripts/check_text.py examples/demo/out/Demo.html --dump
Open examples/demo/out/Demo.html in a browser. Arrow keys move, N opens the notes, O the overview, B blackout, F fullscreen, Print gives one page per screen.
Start your own deck:
python scripts/new_deck.py decks/session-1 --title "Session one" --theme eduba --left "MY PROGRAMME" --right "SESSION 1"
Then write storyboard.md, build the screens in screens.py, and run the loop in reference/workflow.md.
Using it as a Claude skill
The repo root is the skill: SKILL.md plus reference/, scripts/ and examples/. Zip the folder (or add it to your skills directory) and ask for a deck. The skill makes Claude write the storyboard first, build the screens against the kit, render every screen to PNG, and run the register check before delivering.
What is in the box
| Path | What |
|---|---|
SKILL.md |
the skill: when to use it, the loop, the rules that make a deck good |
scripts/deckkit/kit.py |
helpers, role colours, animation attributes, SVG tools, a cast of figures, common pictures |
scripts/deckkit/shell.py |
the HTML page: navigation, notes, overview, print, static mode |
scripts/deckkit/themes/ |
eduba, slate, paper |
scripts/build_deck.py · render.py · check_text.py · new_deck.py |
build, render, check, scaffold |
reference/ |
workflow, writing register, kit API, themes, storyboard template |
examples/demo/ |
a nine-screen deck exercising most of the kit |
Themes
Screens name roles, never colours: HIGHLIGHT (the subject, now), COOL (the system), WARM (what is written), SOFT (the other party), NEUTRAL, and LIVE for the mode dot only. Any deck renders in any theme. See reference/themes.md to make one.
Requirements
Python 3.9+. A Chromium for rendering (Playwright’s, Chrome or Edge are found automatically; or set DECK_CHROME). Pillow for contact sheets. Fonts load from Google Fonts at open time with a fallback stack in every theme.
Licence
MIT.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add rindig/lecture-deck-skill