RL

rindig/lecture-deck-skill

Developer tools
41 stars Quality 40 Trend 40

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.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add rindig/lecture-deck-skill