← Open Source
DozenTwelve

Papermorph

An AI skill that turns books into animated, narrated, interactive web experiences

AI EngineeringGive agent knowledgeMake agent see hear talkHTML
Open on GitHub
Momentum
+15stars in 24 hours+2.2%
694
Stars
92
Forks
—
This week
2
Contributors
Created 2026-10-03 · Updated 2026-10-12 · #968 today
Top developers
README

Papermorph

A Skill that turns PDFs into animated interactive web books.

You've seen Opus 5.5 one-shot videos. This Skill takes it further: books you can explore, listen to, and interact with.

Explore the live bookshelf → · Use the Skill

Real demo: bookshelf, animated lessons, and interactive quizzes

Watch the full 75-second demo with narration

PDF -> A short conversation (style.json) -> Storyboards -> Narration -> Animation & quizzes -> Web book

The Skill starts by asking: it finds your PDF, says what the book is, suggests a chapter to try and an animation tier, and offers options at every step, so you can just pick the recommended one. Your choices are saved in style.json, the style every later chapter is made against.

Today: Built with Opus 5.5, and tested with other models (see Models). No image models, multilingual support, or BGM yet.

Roadmap

  • [x] Math books: formulas and diagrams that change step by step, with quizzes. Two books on the shelf.
  • [ ] Physics books: illustrated scenes, acting characters and camera work. Chapters 9–12 are on the shelf; chapter 12 was made by the new Skill.
  • [ ] Picture books: image models and storyboards for interactive picture books. In local testing.
  • [ ] Humanities documentaries: history and social science titles.

Along the way, the bookshelf grows and new Skills are released.

Get started

Install in your project directory:

npx skills add DozenTwelve/Papermorph --skill papermorph --agent claude-code

In Claude Code with Opus 5.5, run:

/papermorph

It looks for the PDF in your project, then asks the rest. Diagrams that change (tier 1) suit maths and other abstract topics; illustrated scenes (tier 2) suit physics and stories. Picture books and documentaries are coming.

Before you review a chapter, scripts/lint.py catches broken names, missing audio and stale narration in under a second.

Player and engine

Every book plays in the same player: speed control (< >), click anywhere on a step to jump there, captions, keyboard shortcuts, and progress saved per book.

The player engine lives in engine/, apart from the Skill, so a fix reaches every book without touching the Skill. Fork it if you like, and point the Skill at your fork:

python3 .claude/skills/papermorph/scripts/engine.py site --from you/your-fork@main

Export to video

Any chapter can be rendered to MP4 (1080p) with an .srt for YouTube or Bilibili:

uv run --with playwright .claude/skills/papermorph/scripts/export.py ch12 \
  --url http://localhost:8765/science/ --link https://papermorph.diamonddoge.org/science/ch12/

Frames come straight from the lesson clock, so the video matches the page. Quizzes stay in the interactive version; the video ends by pointing there.

Models

The Skill is not tied to one model. Books on the shelf show the results:

  • Opus 5.5: most of the books, including the physics chapters.
  • GPT-6.1-Sol: runs the Skill well. See Elementary Mathematics, chapters 4–20.
  • Sonnet 5.5: works, with some rough edges. See Elementary Mathematics, chapters 21–22.

Official alternative

Claude now offers official animated explainers (Claude Motion, in beta), which overlap with much of what this Skill does. For token efficiency, the official tool may be the better choice.

I will still finish Papermorph along its roadmap. Building it is worth it to me.

Contributing

Fixes to the Skill and the player are welcome. Please do not open pull requests that add a book, its PDF, or generated lessons, audio or videos: those raise copyright issues.

Try the examples locally

git clone https://github.com/DozenTwelve/Papermorph.git
cd Papermorph
python3 -m http.server 8765 -d site

Open localhost:8765

MIT License