Claude skill that turns a book (EPUB, PDF, HTML, DOCX, Markdown) into an interactive beginner-friendly course: step-by-step lessons, animations, quizzes, chapter tests, flashcards and coding exercises checked by unit tests, with progress saved to files. Runs in the browser, or packaged as an Android APK or a Linux AppImage.
# Add to your Claude Code skills
git clone https://github.com/sebastianhaba/book-to-course-skillGuides for using testing skills like book-to-course-skill.
See how book-to-course-skill compares with popular alternatives.
book-to-course-skill is an open-source testing skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sebastianhaba. Claude skill that turns a book (EPUB, PDF, HTML, DOCX, Markdown) into an interactive beginner-friendly course: step-by-step lessons, animations, quizzes, chapter tests, flashcards and coding exercises checked by unit tests, with progress saved to files. Runs in the browser, or packaged as an Android APK or a Linux AppImage. It has 50 GitHub stars.
book-to-course-skill's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/sebastianhaba/book-to-course-skill" and add it to your Claude Code skills directory (see the Installation section above).
book-to-course-skill is primarily written in Python. It is open-source under sebastianhaba on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other Testing skills you can browse and compare side by side. Open the Testing category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh book-to-course-skill against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
book-to-course-skill vs awarexone agentic bug hunter
See comparison
Turn a book into an interactive course you can run locally in a browser. This Claude skill uses the source material to build beginner-friendly lessons, then adds ways to practise and check what you have learned. It accepts EPUB, PDF, HTML, DOCX, Markdown, and plain text.
For coding exercises, the skill checks that the tests fail on the starter code and pass on a reference solution before packaging the course. When a book does not call for code, the course can use other practice activities, such as self-check exercises.
A Go programming course: an animated code walkthrough, a quiz, flashcards, and an exercise whose unit tests run from the page.

A math course: formulas written in LaTeX render in lesson text, tables, quizzes, and flashcards.

This repository is a Claude Code plugin marketplace. In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add sebastianhaba/book-to-course-skill
/plugin install book-to-course@book-to-course
Then attach a book and ask Claude to turn it into a course, for example: "Turn this book into an interactive course."
To update to the latest version later, run /plugin marketplace update book-to-course.
These screenshots show a course generated from a Go programming book:



start.sh (macOS/Linux) or start.bat (Windows). The local server saves progress to progress/progress.json and lets the Run tests button execute the exercise's test command on your computer.Starting the course this way requires Python 3. Programming exercises also require the relevant language and test tools, such as Go for a Go course. You can open index.html directly without the server; quizzes and lessons still work, while progress stays in the browser and code tests must be run in a terminal.
The skill and its supporting scripts, templates, and references are in book-to-course/. Generated courses are self-contained folders that can be packaged and shared.
The second skill in this plugin, course-to-apk, packages a generated course as a small offline Android app. Ask, for example: "Make an APK of this course for my tablet."
~/.android/debug.keystore). You can also sign it with your own keystore.~/.local/share/course-to-apk with your consent (no sudo).<course>-android/. Copy the APK to the device and open it, or install it over USB with adb.Code exercises can't run their unit tests on a phone, so use the computer version for those. Lessons, quizzes, tests, and flashcards all work in the app.
The third skill, course-to-appimage, packages a generated course as a single, self-contained AppImage. Copy the file to any desktop Linux computer and start it; nothing else needs to be installed. Ask, for example: "Make an AppImage of this course so I can open it from the app menu."
~/.local/share/<app-id>/ and kept across updates.~/.local/share/<app-id>/exercises/, and each exercise shows its full folder path with an Open folder button. Edit the files in your own editor, then use the Run tests button to run their unit tests with the compiler installed on the computer. The exercise's language tools, such as Go, must be installed.appimagetool, Electron (a one-time download of about 115 MB), and the Noto Color Emoji font, which is usually already installed. The AppImage runtime file is also needed if you want to build offline. The skill checks for them first. If something is missing, it tells you what to download and where to get it, then either waits for you to install it or downloads it into ~/.local/share/course-to-appimage with your consent (no sudo, checksums verified).<course>-appimage/. Start the file directly, or have the skill add it to your application menu, which copies it to ~/Applications.Released under the MIT License.