Install
openclaw skills install deeptutorA personalized content-driven deep reading tutor. Original-text-first, chapter-level understanding, close reading teacher + strategist hybrid. Auto-saves to...
openclaw skills install deeptutorA personalized, content-driven deep reading tutor. Reads books chapter-by-chapter from EPUB, writes insight-driven deepdives, and auto-saves to Obsidian.
clawhub install deeptutor
Or install a specific version:
clawhub install deeptutor@1.1.1
Clone this repo to your OpenClaw skills folder:
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:
deeptutor,读 Chapter 4
Or more explicitly:
用 deeptutor 带我读 Chapter 4
If spawning a subagent to read a book:
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.
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.
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.
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 templatesdeeptutor,读 Chapter 3
用 deeptutor 带我读 Chapter 4,content-driven 方式
deeptutor,读 Chapter 4,然后生成一个 quiz
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.