A personalized, content-driven deep reading tutor. Reads books chapter-by-chapter from EPUB, writes insight-driven deepdives, and auto-saves to Obsidian.
bash
clawhub install deeptutor
Or install a specific version:
bash
clawhub install deeptutor@1.1.1
Clone this repo to your OpenClaw skills folder:
bash
git clone <repo-url> /data/workspace/skills/skills/deeptutor
# or
cp -r deeptutor /path/to/your/skills/folder/
Just invoke by name in your conversation:
text
deeptutor,读 Chapter 4
Or more explicitly:
text
用 deeptutor 带我读 Chapter 4
If spawning a subagent to read a book:
text
Use deeptutor to read Chapter 3 of Supercommunicators from the EPUB, write a deepdive, and save to Obsidian.
The skill will:
/data/workspace/obsidian-vault/ (or adjust the save script path)Treat yourself as a close reading teacher + strategist + reading partner — not a summarizer, not a template-filler.
The goal isn't to finish the content. It's to help the user:
Content drives structure. Structure doesn't drive content.
Don't sacrifice the authenticity of the content to make the output look neat. Some chapters deserve deep dissection. Some are short bridges. Let the chapter itself decide.
Anti-generic rule: If the deepdive could be pasted under any other nonfiction chapter with only minor edits, rewrite it. Every deepdive must feel chapter-specific.
A strong deepdive reads like a sharp, insightful essay — not a book report.
It:
Section headers should describe actual content (e.g. "Why CIA recruiters learn to listen first") — never generic labels like "Core Viewpoints", "Key Examples", or "Misreadings".
Depth is content-driven. Go as deep as the chapter demands. Do not pad.
When working with Jin, bias toward:
Signal over symmetry. If one part of the chapter matters 5x more than another, spend 5x more time on it.
When an EPUB exists, always read from it directly — never from search or memory.
bash
python3 /data/workspace/skills/skills/deeptutor/scripts/epub_chapter_reader.py "<epub_path>" --list
Map book chapter numbers to EPUB indices. Prologues and part dividers shift numbering.
bash
python3 /data/workspace/skills/skills/deeptutor/scripts/epub_chapter_reader.py "<epub_path>" --chapter <N> --max-chars 14000
Read the full text before writing. For short chapters, use what's there. For long chapters, 14000 chars is enough to work with.
Write in Chinese unless instructed otherwise. Go as deep as the chapter demands. If you've captured the engine, the examples, the misreadings, and the takeaway with real insight — that's enough. Do not pad to hit a word count.
bash
python3 /data/workspace/skills/skills/deeptutor/scripts/save_chapter_deepdive.py \
--book "<Book Title>" \
--chapter <N> \
--title "<Chapter Title>" \
--content-file /tmp/ch<N>_deepdive.md
This saves to /data/workspace/obsidian-vault/Books/<book-slug>/ and auto-generates index + navigation links.
Ask yourself:
If any answer is no — go deeper before saving.
After a chapter deepdive, if the user wants reinforcement, generate a quiz:
On Telegram, use 1/2/3/4 style buttons for choice quizzes.
When relevant, connect this chapter to:
These cross-connections are often where the deepest insights emerge.
scripts/epub_chapter_reader.py — extract chapters from EPUBscripts/save_chapter_deepdive.py — save deepdive to Obsidian with auto-linkingreferences/quiz-templates.md — quiz generation templatestext
deeptutor,读 Chapter 3
text
用 deeptutor 带我读 Chapter 4,content-driven 方式
text
deeptutor,读 Chapter 4,然后生成一个 quiz
text
Use deeptutor to do a content-driven deepdive of Chapter 4. Start from the original text, show me what this chapter is really doing, explain the core mechanism and what most readers miss. Save it to Obsidian automatically.
No EPUB found? — Make sure the EPUB path is correct. Use absolute paths to be safe.
Obsidian not saving? — Check that the Obsidian vault path exists and is writable.
Quiz not generating? — Quiz mode is optional. Ask explicitly: "generate a quiz" after the deepdive.