mcpField
G
guided-book-reader

guided-book-reader

github.com/shyxinProductivity562 installsUpdated 1d ago
Repository

About guided-book-reader

guided-book-reader is a guided study workflow for turning an English technical-book PDF into chapter text and ongoing Chinese-language lessons. It teaches one section at a time with comprehension questions and updates concise Markdown notes as reading progresses.

Key features

  1. 01Convert PDFs to text and split chapters
  2. 02Guide reading one section at a time
  3. 03Explain English terms in Chinese
  4. 04Check understanding with multiple-choice questions
  5. 05Update Markdown review notes

Use cases

  1. 01Studying an English technical book from PDF
  2. 02Breaking long chapters into manageable reading sessions
  3. 03Reviewing concepts through questions and saved notes

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/shyxin/skills --skill guided-book-reader

After installing, type/guided-book-readerin Claude Code to confirm it loaded.

Bundled filesreferences/teaching-style.mdscripts/split_pdf_by_chapters.py

Details

From the project README

Guided Book Reader

目标

把一本英文技术书 PDF 变成可持续阅读的学习项目:

  1. 读取 PDF。
  2. 转成全文 txt。
  3. 按章节拆分成独立 txt。
  4. 创建 notes/。
  5. 用中文为主、对话式深读的方式逐小节带读。
  6. 每小节后用选择题确认理解。
  7. 每读完一节,更新对应 markdown 笔记。

工作流

1. 准备文本

当用户给出 PDF 路径时,先检查文件是否存在。然后运行:

python <skill_dir>/scripts/split_pdf_by_chapters.py "<pdf_path>"

脚本会优先调用本机的 pdftotext -layout,将 PDF 转成全文 txt,再根据正文中的章节标题自动切分。

如果脚本输出的章节明显不完整,先不要继续讲书。把 MANIFEST.txt 展示给用户,让用户确认或提供需要修正的章节标题/边界。

2. 建立阅读目录

默认在 PDF 同级目录下创建同名目录,例如:

book.pdf
book/
  00-Preamble.txt
  01-Chapter.txt
  notes/
  MANIFEST.txt

如果用户指定输出目录,使用用户指定目录。

3. 带读方式

读取对应章节 txt。进入新章节时,先给 5-8 行中文路线图,说明本章要解决什么问题、和上一章如何连接、内部小节大致怎么推进。

正式带读时,一次只讲一个小节;如果小节很长,再拆成 2-3 个阅读块。不要一次讲完整章,除非用户明确要求。

每小节使用这个结构:

  1. 说明这一小节在本章中的作用:承接什么、铺垫什么、为什么现在讲。
  2. 处理必要英文术语:给中文翻译、在本书语境里的意思、常见误解。
  3. 说明作者在反对什么误解、建立什么区分或工具。
  4. 用中文解释核心意思,默认保持对话式深度,不要压成提纲。
  5. 给一个贴近日常、工程或书中主题的例子,把概念落地。
  6. 说明这个点为什么重要,以及它如何影响后续阅读。
  7. 用一句话总结。
  8. 给一道选择题,并标出推荐答案。

详细风格见 references/teaching-style.md。

4. 笔记更新

每读完一节,都更新 notes/chapter-XX-<slug>-notes.md。

笔记保持中文复习版,不要和聊天讲解一样长,也不要堆英文原文:

  • 核心意思
  • 例子
  • 结论

只保留必要英文术语,例如 facts、concepts、categories、modalities。

聊天里讲得丰富,notes 只保留复习地图。

5. 继续阅读

用户说“继续”时:

  1. 找到当前章节和上次读到的小节。
  2. 继续下一小节。
  3. 保持同样讲解粒度。
  4. 更新 notes。

如果无法确定进度,读取 notes/ 和当前章节 txt,推断最近读到的位置;推断不稳时,简短询问用户。

PDF 切分策略

优先使用已经验证过的路线:

pdftotext -layout -> full.txt -> Python 按章节标题切分

不要默认依赖 pypdf、PyPDF2、pdfplumber 等 Python 包。只有在 pdftotext 不可用时,才考虑其它方案或提示用户安装 Poppler/Git for Windows。

交互原则

  • 中文为主。
  • 英文术语不只是列词表:要解释中文含义、本书语境和容易误解的地方。
  • 不要大段复制原文。
  • 用户说“太简洁”时,补充例子和解释。
  • 用户说“太多”时,拆小节、缩短输出。
  • 用户希望选择题时,固定用 A/B/C/D。
  • 用户要求写 notes 时,立即落盘,不只在聊天里总结。
  • 不要每次都输出 notes 文件完整路径。notes 照常写,聊天里最多一句“笔记已同步”,除非用户要路径。

Comments

Markdown supported