Skip to content
Conduit

skill

wordsaver

Turn your TV screensaver into a daily vocabulary lesson: ten illustrated words a day, scheduled so you remember them.

Dodai0419/wordsavercommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/Dodai0419/wordsaver itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 30, 2026

wordsaver

Turn your TV screensaver into a daily vocabulary lesson: ten illustrated words a day, scheduled so you remember them.

Your TV already shows photos when it idles. wordsaver makes those photos Word Atlas cards: picture, IPA, meaning, an example, picked by the same FSRS scheduler Word Atlas uses. It was built for calm screens like Aerial.

License: MIT Status: prototype

Works with Claude Code and Codex.

A real slide from python wordsaver.py today --demo --gloss zh, scaled down from 1920x1080.

Quick start

git clone https://github.com/Dodai0419/wordsaver && cd wordsaver
python wordsaver.py today --demo -o today --video
10 words for today (0 to review, 10 new): harbour, lantern, commute, drought, festival, volcano, library, telescope, migrate, bakery
wrote 10 slides (1920x1080) and index.html to today
wrote today\wordsaver.mp4 (120s)

Copy today/ to the TV, or copy just the MP4 or the PNGs to a USB stick or a photo album the TV's screensaver plays. Python 3.8+ and Chrome or Edge make the PNGs. ffmpeg is only needed for --video. Nothing to pip install.

Gallery

All ten slides from one today --demo run:

The last one is not bundled. It came from the full deck: today --deck atlas --level B1 --topic travel --new 3 picked hut, hostel, port and downloaded their pictures.

How a day works

python wordsaver.py today --deck atlas --level B1,B2 --new 10 -o today --video   # morning: build today's screensaver
python wordsaver.py review -o today                                            # evening: type the words you saw
python wordsaver.py grade volcano easy                                         # or grade one word by hand
  • today puts the words that are due first (oldest due first), then up to --new new ones. It writes slide-01.png... (1920x1080), index.html (a full-screen slideshow with a live clock for the TV browser), today.json and, with --video, wordsaver.mp4.
  • review shows each meaning with the example sentence and the word blanked out. Type the word: right counts as good, wrong as again, and FSRS sets the next date. This is the same active recall Word Atlas uses for spelling.
  • Progress is one small JSON file (~/.wordsaver.json, or --state). Nothing leaves your machine except the one-time download of the deck and the pictures you use.

The problem

  • Vocabulary apps need you to open them. The TV in the living room is on for hours and shows stock landscapes.
  • TV screensavers (Aerial, Google TV ambient mode, any USB photo slideshow) can play your photos and videos, but nothing turns study material into screens that look good at 3 meters.
  • Showing random words is easy to forget. Spaced repetition needs a schedule, and that schedule lives inside the learning app.

The solution

IdeaFixes
Word Atlas cards as 1920x1080 slidesEach word is a full-screen picture with the word big enough to read from the sofa, its IPA (UK and US), meaning and an example with the word underlined.
The scheduler Word Atlas uses, portedFSRS-6 with Word Atlas's settings (90% retention, 1m/10m learning steps, 10m relearning). It gives the same dates as ts-fsrs 5.4.2, checked in the tests.
Output any screen can playPNGs for photo screensavers, an MP4 for players that take local video (Aerial's screensaver does), and an HTML slideshow for a TV browser.
Recall in the evening, not on the TVThe TV only shows. review asks you to type each word, so the grades FSRS gets are real.

Use with Claude Code

/plugin marketplace add Dodai0419/wordsaver
/plugin install wordsaver@wordsaver

Then ask: "make today's vocabulary screensaver, B2 words about the environment, as a video".

Use with Codex (ChatGPT)

git clone https://github.com/Dodai0419/wordsaver && cp -r wordsaver/skills/* ~/.codex/skills/

Or copy AGENTS.md into your project root.

Benchmarks

Windows 11, Python 3.11.1, Node 24.20.0, a busy machine. Commands: python bench/bench.py and node bench/ts_fsrs_bench.mjs (after npm i ts-fsrs@5.4.2).

Word Atlas (ts-fsrs 5.4.2)wordsaver
Same schedule?referenceyes: 8 grade sequences, 52 reviews, same due time to the millisecond, stability and difficulty to 7 decimals, same state, step and lapses (tests/test_wordsaver.py)
FSRS code1,119 non-blank lines in the 6 ts-fsrs source files the port replaces (with comments)71 non-blank lines
Speed per review9.2-10.2 us (V8)54.7 us (CPython). Slower, but a day of 10-50 reviews takes under 3 ms
Runtime to show wordsNode 20+, npm ci, a Vite dev server, a browser tabPython standard library; Chrome or Edge for PNGs; ffmpeg for MP4
Output for a TVnone (web and iOS app)1920x1080 PNG slides, MP4, HTML slideshow
Render 10 slidesn/a29.3 s, mostly Chrome start-up and 10 full-HD screenshots on a busy machine

Not ported: FSRS fuzz (Word Atlas turns it on, which moves intervals of 3+ days by a small random amount), retention other than 0.9, and Word Atlas's audio, word galaxy and quiz types.

Inspired by

  • designfuchen/word-atlas: the word data, illustrations and FSRS settings. Code is MIT. The 12 bundled words in deck/ and the pictures are CC BY 4.0, "Word Atlas contributors", unmodified.
  • pengchujin/aerial-tv (MIT): the idea of a calm tvOS-style idle screen that plays photos and local video. No code copied.
  • open-spaced-repetition/ts-fsrs (MIT): the FSRS-6 scheduler, ported to Python.

Roadmap

  • Port FSRS fuzz (alea seed) so long intervals spread like Word Atlas
  • Word Atlas's UK/US audio as the MP4 soundtrack
  • Grade from your phone by scanning a QR code on the last slide

License

MIT for the code. Word data and illustrations in deck/ and docs/ are CC BY 4.0, Word Atlas contributors. See NOTICE.

↑↓ navigate openesc close