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
Watch the full 75-second demo with narration
PDF -> Book plan -> Storyboards -> Narration -> Animation & quizzes -> Web book
Today: Built with Opus 5.5, and tested with other models (see Models). No image models, multilingual support, or BGM yet.
- 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–11 are on the shelf; the new Skill that makes them is being refined.
- 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.
Install in your project directory:
npx skills add DozenTwelve/Papermorph --skill papermorph --agent claude-codeIn Claude Code with Opus 5.5, run:
/papermorph Turn /path/to/book.pdf into
an animated interactive web book.
Target readers: [your audience].
Start with one English chapter for review.
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.
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.
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.
git clone https://github.com/DozenTwelve/Papermorph.git
cd Papermorph
python3 -m http.server 8765 -d siteOpen localhost:8765