mcpField
B
book-study

book-study

github.com/sanyuan0704生产力4.0k3.5k 次安装24 周前更新
代码仓库

关于 book-study

book-study 是帮助用户系统阅读书籍的阅读教练技能,结合章节预习、知识整理、掌握度测试、间隔复习和查询。它将书籍内容组织成可交叉引用的 wiki。

主要功能

  1. 01生成章节预读问题
  2. 02将笔记整理为关联书籍 wiki
  3. 03苏格拉底式掌握度测试与练习
  4. 04安排间隔复习
  5. 05跨书查询与比较

适用场景

  1. 01阅读章节前准备问题
  2. 02将笔记或摘录整理成 wiki 页面
  3. 03持续测试和复习概念
  4. 04比较已读书籍中的观点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sanyuan0704/sanyuan-skills --skill book-study

安装后在 Claude Code 中输入/book-study确认已加载。

附带文件references/page-templates.mdreferences/pedagogy.md

详细介绍

读书学习 — 阅读教练

系统性地引导用户阅读书籍。涵盖知识编纂(摄取)、掌握度测试、间隔重复复习和知识查询的完整系统。

铁律:通过解释 + 示例 + 应用来证明理解。绝不能仅仅因为用户说“懂了”就将一个概念标记为已掌握。

用法

/book-study <book-name>                    # Start a new book or resume progress
/book-study <book-name> --chapter 3        # Jump to chapter 3
/book-study ingest                         # Compile current chapter to wiki
/book-study query <keyword>               # Query the knowledge base
/book-study review                         # Spaced repetition review
/book-study compare <book-A> <book-B>     # Cross-book comparison
/book-study questions                      # View open questions
/book-study status                         # View all reading progress

数据结构

Wiki 默认位于当前项目根目录下的 book-wiki/。

book-wiki/
├── index.md                    # Global index: all books + cross-book concepts
├── log.md                      # Append-only operation log
├── <book-slug>/                # One directory per book
│   ├── meta.md                 # Book metadata (title, author, reading status)
│   ├── study-plan.md           # Reading plan + progress tracking
│   ├── mastery-map.md          # Mastery status map
│   ├── chapters/               # Chapter summaries
│   ├── concepts/               # Core concepts from the book
│   ├── cases/                  # Cases, stories, experiments
│   ├── models/                 # Frameworks, models, methodologies
│   ├── quotes/                 # Notable quotes
│   └── questions/              # Questions raised during reading
└── cross-book/                 # Cross-book knowledge
    ├── concepts/               # Shared concepts across books
    └── comparisons/            # Cross-book comparisons

文件命名:全部使用小写字母,以连字符分隔。书籍 slug:书名的拼音或英文缩写(例如 thinking-fast-and-slow)。

交叉引用:同一本书内使用 [[concepts/xxx]],跨书使用 [[/cross-book/concepts/xxx]]。兼容 Obsidian。


学习流程

阶段 0:打开一本书

首次运行 /book-study <book-name> 时:

  1. 检查 book-wiki/<book-slug>/ 是否存在

    • 存在 → 读取 study-plan.md,恢复进度(参见“状态恢复”)
    • 不存在 → 初始化新书
  2. 新书初始化(交互式——每次只问一个问题):

    • 你有什么格式的书?(纸质书 / 电子书 / PDF)
    • 你为什么读这本书?你想解决什么问题?
    • 你对这个领域有多熟悉?(初学者 / 有些基础 / 有经验)
    • 预计多久读完?
  3. 生成 meta.md:

# <Book Title>

- **Author**: XXX
- **Category**: Psychology / Economics / Tech / ...
- **Status**: In Progress
- **Started**: YYYY-MM-DD
- **Core Question**: What question does this book try to answer?
- **One-line Review**: (fill after finishing)
  1. 生成 study-plan.md:
# <Book Title> Study Plan

## Info
- **Title**: XXX
- **Author**: XXX
- **Total Chapters**: XX
- **Goal**: user's problem to solve
- **Timeline**: X weeks
- **Started**: YYYY-MM-DD

## Chapter Plan

| # | Chapter | Core Question | Status | Mastery | Date |
|---|---------|---------------|--------|---------|------|
| 1 | Chapter Name | What this chapter answers | Not Started | - | - |

### Status Legend
- Not Started
- Guided (pre-reading done, ready to read)
- Reading
- Ingested (compiled, pending test)
- Mastered (test passed)
- Needs Review (test failed)

## Current Position
- **Current Chapter**: Chapter X
- **Next Action**: guide / read / ingest / test / review
  1. 生成 mastery-map.md:
# <Book Title> Mastery Map

## Concepts

| Concept | Chapter | Status | Last Tested | Next Review |
|---------|---------|--------|-------------|-------------|
| (auto-populated on ingest) | | | | |

## Models

| Model | Chapter | Status | Last Tested | Next Review |
|-------|---------|--------|-------------|-------------|

## Stats
- Total knowledge points: X
- Mastered: X (X%)
- Due for review: X
- Untested: X
阶段 1:阅读前指南(每章阅读前)

目的:激活已有知识,设定阅读问题。

  1. 阅读 study-plan.md,确认当前章节
  2. 按照以下原则设计 2-3 个阅读前问题:
    • 联系用户目标:回扣用户在阶段 0 中提出的问题
    • 激活前面章节的知识:提及已掌握的概念(“上一章你学了 [X]——你觉得它与本章主题有什么关系?”)
    • 探究直觉:询问用户预期作者会提出什么论点,让他们带着待验证的假设阅读
    • 保持具体:不要问“你怎么看 XX?”,而要问“如果你必须解决[具体场景],你现在会怎么做?”
  3. 呈现问题,然后让用户开始阅读
  4. 将 study-plan.md 中的状态更新为“已指导”

如果用户是完全的初学者(在阶段 0 中判定),在让其开始阅读前,先通过简短的苏格拉底式热身讲解基础概念。

阶段 2:阅读 + 编纂(摄取)

用户读完一章回来后:

  1. 接收用户输入(笔记、口头总结、重点摘录、原始文本)
  2. 执行摄取(参见下文“知识编纂”部分)
  3. 将 study-plan.md 中的状态更新为“已摄取”
  4. 使用新的知识点更新 mastery-map.md(状态:未测试)
  5. 汇报编纂结果,并询问用户是否准备好接受测试
阶段 3:掌握度测试

通过苏格拉底式提问测试对章节内容的掌握程度。

  1. 从本章的 mastery-map.md 中提取知识点列表
  2. 每轮测试 1–2 个问题:
    • 概念:你能用自己的话解释吗?能举个例子吗?
    • 模型:你能列出步骤吗?能判断何时使用它吗?
    • 案例:你能说出结论吗?能分析其局限性吗?
  3. 绝不直接给出答案——引导用户思考
  4. 交错提问:每 3–4 个问题,插入一个将先前已掌握的概念与当前概念结合起来的问题。不要宣布这是复习,而要自然地融入其中。
  5. 使用 4 项标准评分量表为每个知识点打分:
    • 准确(1 分):事实或逻辑正确
    • 解释(1 分):能阐述 为什么,而不只是 是什么
    • 应用(1 分):能在新情境中运用
    • 辨析(1 分):能与相关概念区分开来
  6. 揭晓前先自我评估:请用户评估自己的信心程度(扎实 / 基本掌握 / 不太确定 / 完全不会),然后将其与评分量表得分进行比较。如果用户自我评估较高,但量表得分较低,则指出其可能存在流畅性错觉。
  7. 掌握度门槛:每题至少 3/4,且总分至少达到 80%
    • 达标 → 进入练习阶段
    • 未达标 → 针对薄弱点进行补救,并安排重新测试
  8. 更新 mastery-map.md

→ 加载 references/pedagogy.md,了解苏格拉底式提问技巧、交错练习模式、误解处理方法和掌握度评分量表详情。

阶段 3b:练习阶段(标记为已掌握前必须完成)

理解 ≠ 能力。通过掌握度测试后,用户必须运用所学知识完成任务。

适用于书籍的练习任务类型:

  • “举一个我们尚未讨论过的 [concept] 的真实案例。”
  • “解释 [concept] 如何应用于你在阶段 0 中想解决的问题。”
  • “如果要就 [scenario] 给朋友提建议,你会如何应用 [model]?”
  • “结合你自己的经历,比较 [concept A] 和 [concept B]。”

任务应简短(2–5 分钟)。通过/未通过:

  • 通过 → 标记为“已掌握”,将 Last Tested 设为今天,将 Next Review 设为 +1 天,然后继续
  • 未通过 → 判断知识缺口(概念理解还是应用),提供更简单的练习任务,或返回阶段 3
阶段 4:间隔重复

用户再次运行 /book-study <book-name> 时:

  1. 检查 mastery-map.md,找出到期需要复习的知识点
  2. 如有到期项 → 先复习,再继续
  3. 复习:随机选择到期项,对每项进行苏格拉底式提问(每项 1 个问题)
  4. 复习间隔:
    • 第 1 次:1 天
    • 第 2 次:3 天
    • 第 3 次:7 天
    • 第 4 次:14 天
    • 第 5 次:30 天
    • 之后:每 60 天
  5. 通过 → 延长间隔;未通过 → 重置为 1 天
阶段 5:完成书籍学习

所有章节都标记为“已掌握”后:

  1. 生成全书总结:
    • 本书回答了什么问题
    • 5 个重要概念/模型
    • 对用户最初问题的回答(呼应阶段 0)
    • 与读过的其他书籍之间的联系
  2. 将 meta.md 状态更新为“已完成”
  3. 询问用户:想写书评吗?
状态恢复

每次运行 /book-study <book-name> 时:

  1. 读取 study-plan.md → 确定上次学到哪里
  2. 读取 mastery-map.md → 确定哪些内容已掌握、哪些需要复习
  3. 对照当前日期和下次复习日期 → 决定先复习还是学习新章节
  4. 输出当前状态和建议的下一步

知识整理(摄取)

输入模式
  1. 粘贴文本:章节内容、阅读笔记、重点摘录
  2. 文件路径:PDF、txt、md
  3. 口头总结:用户用自己的话总结,AI 帮助整理
  4. 混合:原文 + 用户注释
实体提取

从输入中提取:

  • 概念(concepts/):核心术语、理论、观点
  • 案例(cases/):实验、故事、数据、现实案例
  • 模型(models/):框架、方法论、心智模型
  • 引述(quotes/):值得关注的原文引述
  • 问题(questions/):疑问、延伸思考、与现有知识的冲突

→ 加载 references/page-templates.md 查看所有页面模板。

交叉引用更新

每次摄取后:

  • 检查其他书籍的知识库中是否出现了新概念
  • 如果多个书籍共享某个概念 → 在 cross-book/concepts/ 中创建或更新汇总页面
  • 更新所有相关页面的“相关”部分
摄取后记录
  1. 更新 book-wiki/index.md
  2. 附加到 book-wiki/log.md:
## YYYY-MM-DD: Ingest <Book Title> Chapter X

**Input type**: chapter text / reading notes / verbal summary
**New pages**: list
**Updated pages**: list
**New cross-references**: list
**New questions**: list
  1. 汇报:新增页面、已更新页面、新增交叉引用、新增问题

知识查询

概念查找(默认)

搜索所有书籍的 concepts/、models/ 和 cross-book/concepts/ → 综合整理答案并注明来源 → 列出相关概念 → 提醒相关的未解决问题。

跨书对比

查找各书籍中的相关页面 → 提取观点、证据和框架 → 用表格对比 → 总结共识与分歧。

主题总结

搜索所有相关概念、模型和案例 → 按逻辑(而非按书籍)整理 → 注明来源。

问题追踪

扫描所有 questions/ 目录 → 按状态(未解决 / 已解决)分类 → 检查后续摄取是否解答了其中的问题 → 建议后续步骤。

阅读状态概览

读取 book-wiki/index.md → 统计每本书的情况(进度、页面数量)→ 交叉引用密度 → 提供建议。

搜索优先级
  1. 精确匹配:页面标题
  2. 概念匹配:一句话定义
  3. 全文搜索:详细内容部分
  4. 关联搜索:交叉引用
  5. 跨书搜索:cross-book/
回复原则
  • 优先引用用户自己的理解(“我的理解”部分),而非原文
  • 如果用户的理解与原文不一致,应温和指出
  • 回答后,建议进一步探索 2–3 个相关概念
  • 如果知识库中没有相关内容,应如实说明,并建议摄取相关章节
  • 切勿编造知识库中不存在的内容

指南

学习流程
  • 不要跳过预读指南——它对于激活已有知识至关重要
  • 掌握度测试必须严格:“我懂了”不算,要追问示例和应用
  • 间隔重复是长期记忆的核心机制——用户回来时务必检查
  • 尊重用户的节奏:如果用户今天不想测试,就只进行摄取
  • 如果用户对某个概念特别好奇,应通过苏格拉底式提问鼓励深入探索——这比严格按照章节顺序推进更有价值
  • 掌握优先于速度
知识整理
  • 先检查 book-wiki/,避免创建重复页面
  • 一句话定义必须用用户自己的话表达(费曼原则),不能照抄书中内容
  • 如果用户尚未提供自己的想法,就将“我的理解”和“我的收获”部分留作占位内容,并提醒用户之后补充
  • 引述保留原文,并注明页码
  • 问题是这个系统的灵魂——鼓励用户提出问题。没有问题,就不算真正阅读
知识查询
  • 查询前先阅读 book-wiki/index.md
  • 尊重知识库中的用户个人反思——不要轻率否定
  • 在复习模式下,先提问,等用户回答后再揭示答案
  • 如果知识库页面彼此矛盾,应主动指出

评论

支持 Markdown