cabt — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cabt (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Disclaimer: This tool is intended for personal use — translating books you own for your own reading. It is not designed for distributing, selling, or publicly sharing translated works. Please respect copyright law and the rights of authors and publishers.
A Claude Code plugin that translates EPUB books with genre-aware glossary consistency. CABT extracts chapters from an EPUB, builds a terminology glossary chapter-by-chapter, then translates all chapters in parallel with guaranteed term consistency. Every term is translated the same way throughout the entire book, respecting genre conventions and the author's voice.
During Translation one subagent is spawned per chapter and the glossary and translation rules are put back at the top of its context, ensuring that you don't have inconsistent terminology accross chapters.
I read so many English books that I now have more English vocabulary than I do in my native tongue. I wanted to read back in French, but nobody is publishing translations of the books I read T_T. So I wrote these 3 skills. It takes around 40 minutes to build the glossary and about 1h20 to translate a book — it's really good. After translating a book I had already read, I re-read the translated version and at no point did I find issues with the translation. The glossary really does provide consistency for specific terms used across a series.
yyyymmdd_hhmm_ for chronological sorting and uniquenessif you don't have them claude code will install them from you himself, in your global interpreter once he notices they are missing.
claude-opus-4-6[1M]. Those skills relies on Opus's ability to preserve XML tokens faithfully during translation. Future model updates may affect translation quality or skill compatibility — run a few test chapters before committing to a full book translation.ebooklib (>= 0.18)lxml (>= 4.0)tiktoken (>= 0.5)Install Python dependencies:
pip install ebooklib lxml tiktoken git clone https://github.com/ThongvanAlexis/CABT-Context-Aware-Book-Translator.githttps://github.com/ThongvanAlexis/CABT-Context-Aware-Book-Translator.git pip install ebooklib lxml tiktokenThis requires two separate Claude Code sessions. Replace the path with wherever you cloned the repo.
Session 1 -- register the plugin source:
/plugin marketplace add /path/to/CABT-Context-Aware-Book-Translator
/reload-plugins
exitSession 2 -- install the plugin:
/plugin install cabt@cabt
/reload-plugins
exitSession 3 -- use the plugin:
/prepare-book path/to/book.epubNote: Each step must be followed by a full restart of Claude Code. The plugin won't be picked up if you try to do both in a single session.
CABT uses a three-command pipeline. Each command builds on the output of the previous one.
/prepare-bookExtracts chapters from an EPUB and creates a translation workspace.
/prepare-book path/to/book.epubWhat it asks:
What it produces:
20260324_1902_Book-Title) containing:source/ -- extracted chapter XHTML filesmetadata.json -- book configuration and processing statetest-roundtrip.epub -- validation copy to verify extraction qualitydetection_report.txt -- chapter detection detailsglossary.md, glossary-rules.md, and translation-style-brief.md copied from the previous workspace (glossary stripped of context references)/build-book-glossaryResearches the book online, then processes chapters sequentially to build a terminology glossary.
/build-book-glossary workspace-pathWhat it does:
What it produces:
glossary.md -- categorized terminology with source terms, translations, and contextglossary-rules.md -- translation philosophy decisions from the Q&A sessionAfter completion: Review glossary.md and fix any entries marked with (?) before translating. These are terms where the agent was uncertain about the best translation.
/translate-bookTranslates all chapters in parallel with glossary enforcement, then rebuilds the EPUB.
/translate-book workspace-pathWhat it asks:
What it does:
What it produces:
{book-title}-{language}.epub -- the translated EPUBoutput/{language}/translator-notes/ -- per-chapter translation decisions and flagged passagesoutput/{language}/new-terms.md -- terms discovered during translation that were not in the glossary/prepare-book my-novel.epubWhen prompted, select a genre (e.g., LitRPG), source language (English), and target language (French). Say "no" to reuse. This creates a timestamped workspace like 20260324_1902_My-Novel.
/build-book-glossary 20260324_1902_My-NovelAnswer the translation philosophy questions, then review glossary.md -- fix any entries marked with (?).
/translate-book 20260324_1902_My-NovelAnswer the style brief questions, wait for parallel translation, and find the translated EPUB at My-Novel-french.epub. Check output/french/translator-notes/ for per-chapter decisions and output/french/new-terms.md for terms discovered during translation.
/prepare-book my-novel-book-2.epubSay "yes" to reuse and provide the path to the first book's workspace (20260324_1902_My-Novel). Genre and language are inherited automatically. Glossary, rules, and style brief are copied into the new workspace.
/build-book-glossary 20260325_0930_My-Novel-Book-2The Q&A adapts -- only tone/register differences from the previous book are surfaced. Existing terms carry forward and new terms are added on top.
/translate-book 20260325_0930_My-Novel-Book-2The existing style brief is reused. Only changes in the new book's style are discussed.
| Genre | Specialization |
|---|---|
| LitRPG | Stats, skills, system notifications, level-ups, game mechanics, party roles (Tank/Healer/DPS) |
| Fantasy | Magic systems, fantasy races, nobility titles, medieval and epic settings, spells and incantations |
| Sci-Fi | Technology terms, spaceships, military hierarchies, futuristic settings, scientific jargon |
| General | Simplified terminology categories for books outside the above genres |
<em:1>, </strong:2>) to protect XHTML formatting during LLM translation -- the LLM translates text while preserving tokens in placeCLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 in your shell profile (.bashrc, .zshrc, or PowerShell profile) to avoid output truncation on long chapters.test-roundtrip.epub) is kept in the workspace until translation starts. Open it in an e-reader to verify extraction quality before committing to the full pipeline./translate-book on the same workspace to resume from where it stopped. Already-translated chapters are skipped.glossary.md for consistency in future books of the same series.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.