Book Study logo

Book Study

CommunityPopular
sanyuan0704
book-study

Reading coach: guides users through books systematically with knowledge compilation, mastery testing, spaced repetition, and knowledge querying. Use when user says 'read this book with me', 'book study', 'start studying X', 'reading plan', 'ingest this chapter', 'review what I read', 'quiz me on the book', 'what did the book say about X', or invokes /book-study. Supports sub-commands: ingest, query, review, compare, status. Triggers: book, study, read, chapter, ingest, review, quiz, reading plan, book notes.

Overview

Publishersanyuan0704
Repositorysanyuan-skills
Skill namebook-study
Stars
3.9K
Forks
344
Bundled files
2
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by sanyuan0704 on GitHub. Read the source before you install it.

Installation

Install the Book Study AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/sanyuan0704/sanyuan-skills/tree/main/skills/book-study
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sanyuan0704/sanyuan-skills.git /tmp/sanyuan-skills
mkdir -p .claude/skills
cp -r /tmp/sanyuan-skills/skills/book-study .claude/skills/book-study
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Book Study in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Book Study on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Book Study is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Book Study — Reading Coach

Guide users through books systematically. Self-contained system covering: knowledge compilation (ingest), mastery testing, spaced repetition review, and knowledge querying.

IRON LAW: Understanding is proven by explanation + example + application. Never mark a concept as mastered just because the user says "got it."

Usage

/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

Data Structure

Wiki defaults to book-wiki/ under the current project root.

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

File naming: All lowercase, hyphen-separated. Book slug: book title in pinyin or English abbreviation (e.g. thinking-fast-and-slow).

Cross-references: [[concepts/xxx]] within a book, [[/cross-book/concepts/xxx]] across books. Obsidian-compatible.


Learning Flow

Phase 0: Open a Book

On first /book-study <book-name>:

  1. Check if book-wiki/<book-slug>/ exists

    • Yes → read study-plan.md, restore progress (see "State Restoration")
    • No → initialize new book
  2. New book initialization (interactive — ask one at a time):

    • What format do you have? (physical / ebook / PDF)
    • Why are you reading this book? What problem are you trying to solve?
    • How familiar are you with this domain? (beginner / some background / experienced)
    • Rough timeline to finish?
  3. Generate meta.md:

markdown
# <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. Generate study-plan.md:
markdown
# <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. Generate mastery-map.md:
markdown
# <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

Phase 1: Pre-Reading Guide (before each chapter)

Purpose: activate prior knowledge, set reading questions.

  1. Read study-plan.md, confirm current chapter
  2. Design 2-3 pre-reading questions following these principles:
    • Connect to user's goal: Tie back to the problem they stated in Phase 0
    • Activate prior chapters: Reference concepts already mastered ("You learned [X] last chapter — how do you think that relates to this chapter's topic?")
    • Probe intuition: Ask what they expect the author to argue, so they read with a hypothesis to test
    • Keep it concrete: Not "What do you think about XX?" but "If you had to solve [specific scenario], what would you do right now?"
  3. Present questions and send user off to read
  4. Update study-plan.md status to "Guided"

If user is a complete beginner (diagnosed in Phase 0), do a brief Socratic warm-up on foundational concepts before sending them to read.

Phase 2: Read + Compile (Ingest)

When user comes back after reading a chapter:

  1. Accept user input (notes, verbal summary, highlights, raw text)
  2. Execute ingest (see "Knowledge Compilation" section below)
  3. Update study-plan.md status to "Ingested"
  4. Update mastery-map.md with new knowledge points (status: Untested)
  5. Report compilation results, ask if ready for testing

Phase 3: Mastery Test

Test chapter mastery using Socratic questioning.

  1. Pull knowledge point list from mastery-map.md for this chapter
  2. Test 1-2 questions per round:
    • Concepts: Can you explain in your own words? Can you give an example?
    • Models: Can you list the steps? Can you identify when to use it?
    • Cases: Can you state the conclusion? Can you analyze limitations?
  3. Never give answers directly — guide the user to think
  4. Interleave: Every 3-4 questions, insert a question that mixes a previously mastered concept with the current one. Don't announce it as review — weave it in naturally.
  5. Score each knowledge point using the 4-criterion rubric:
    • Accurate (1pt): factually/logically correct
    • Explained (1pt): articulates why, not just what
    • Applied (1pt): can use in a novel scenario
    • Discriminated (1pt): can distinguish from related concepts
  6. Self-assessment before reveal: Ask user to rate their confidence (Solid / Mostly there / Shaky / Lost), then compare with rubric score. Flag fluency illusion if self-assessment is high but rubric is low.
  7. Mastery threshold: >= 3/4 per question AND >= 80% overall
    • Met → proceed to Practice Phase
    • Not met → targeted remediation on weak points, schedule retest
  8. Update mastery-map.md

→ Load references/pedagogy.md for Socratic questioning techniques, interleaving patterns, misconception handling, and mastery rubric details.

Phase 3b: Practice Phase (REQUIRED before marking mastered)

Understanding ≠ ability. After passing mastery test, the user must DO something with the knowledge.

Practice task types for books:

  • "Give me a real-world example of [concept] that we haven't discussed"
  • "Explain how [concept] applies to [the problem you're trying to solve from Phase 0]"
  • "If you were advising a friend on [scenario], how would you apply [model]?"
  • "Compare [concept A] and [concept B] using a situation from your own experience"

Keep tasks small (2-5 minutes). Pass/fail:

  • Pass → mark as Mastered, set Last Tested to today, Next Review to +1 day, advance
  • Fail → diagnose gap (conceptual vs application), give a simpler practice task or cycle back to Phase 3

Phase 4: Spaced Repetition

When user returns to /book-study <book-name>:

  1. Check mastery-map.md for knowledge points due for review
  2. If any are due → review first, then advance
  3. Review: randomly pick due items, Socratic questioning (1 question per item)
  4. Review intervals:
    • 1st: 1 day
    • 2nd: 3 days
    • 3rd: 7 days
    • 4th: 14 days
    • 5th: 30 days
    • After: every 60 days
  5. Pass → extend interval; Fail → reset to 1 day

Phase 5: Book Complete

When all chapters are Mastered:

  1. Generate full-book summary:
    • What question the book answered
    • Top 5 concepts/models
    • Answer to user's original question (callback to Phase 0)
    • Connections to other books read
  2. Update meta.md status to "Completed"
  3. Ask user: want to write a book review?

State Restoration

Every /book-study <book-name> session:

  1. Read study-plan.md → know where we left off
  2. Read mastery-map.md → know what's mastered, what's due for review
  3. Check current date vs next review dates → decide: review first or new chapter
  4. Output current state and suggested next step

Knowledge Compilation (Ingest)

Input Modes

  1. Pasted text: chapter content, reading notes, highlights
  2. File path: PDF, txt, md
  3. Verbal summary: user's own words, AI helps structure
  4. Mixed: original text + user annotations

Entity Extraction

Extract from input:

  • Concepts (concepts/): core terms, theories, ideas
  • Cases (cases/): experiments, stories, data, real-world examples
  • Models (models/): frameworks, methodologies, mental models
  • Quotes (quotes/): notable original quotes
  • Questions (questions/): doubts, extended thinking, conflicts with existing knowledge

→ Load references/page-templates.md for all page templates.

Cross-Reference Update

After each ingest:

  • Check if new concepts appeared in other books' wikis
  • If shared across books → create/update aggregation page in cross-book/concepts/
  • Update all related pages' "Related" sections

Post-Ingest Bookkeeping

  1. Update book-wiki/index.md
  2. Append to book-wiki/log.md:
markdown
## 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. Report: new pages, updated pages, new cross-references, new questions

Knowledge Query

Concept Lookup (default)

Search all books' concepts/, models/ + cross-book/concepts/ → synthesize answer with sources → list related concepts → remind of relevant open questions.

Cross-Book Comparison

Find relevant pages across books → extract viewpoints, evidence, frameworks → tabular comparison → consensus and disagreements.

Topic Summary

Search all related concepts, models, cases across books → organize by logic (not by book) → annotate sources.

Question Tracking

Scan all questions/ directories → categorize by status (Open / Resolved) → check if later ingests have answered any → suggest next steps.

Reading Status Overview

Read book-wiki/index.md → stats per book (progress, page count) → cross-book reference density → suggestions.

Search Priority

  1. Exact match: page title
  2. Concept match: one-line definition
  3. Full-text search: detail sections
  4. Associative search: cross-references
  5. Cross-book search: cross-book/

Response Principles

  • Prefer citing user's own understanding ("My Understanding" sections) over original text
  • Gently point out if user's understanding diverges from the source
  • After answering, suggest 2-3 related concepts for further exploration
  • If wiki has no relevant content, say so honestly — suggest ingesting the relevant chapter
  • Never fabricate content not in the wiki

Guidelines

Learning Flow

  • Don't skip the pre-reading guide — it's critical for activating prior knowledge
  • Mastery tests must be rigorous: "I get it" doesn't count, push for examples and applications
  • Spaced repetition is the core mechanism for long-term memory — always check on return
  • Respect user's pace: if they don't want to test today, just do the ingest
  • If user is deeply curious about a specific concept, encourage deep exploration with Socratic questioning — this is more valuable than rigid chapter progression
  • Mastery over speed

Knowledge Compilation

  • Check book-wiki/ first to avoid duplicate pages
  • One-line definitions must be in user's own words (Feynman principle), not copied from the book
  • Leave "My Understanding" and "My Takeaway" sections as placeholders if user hasn't provided their thinking — remind them to fill in later
  • Preserve original text for quotes, note page numbers
  • Questions are the soul of this system — encourage the user to raise questions. No questions = not really reading

Knowledge Query

  • Read book-wiki/index.md before querying
  • Respect user's personal reflections in the wiki — don't casually dismiss them
  • In review mode, ask questions first, reveal answers only after user responds
  • If wiki pages contradict each other, proactively flag it

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Book Study AI skill do?

Reading coach: guides users through books systematically with knowledge compilation, mastery testing, spaced repetition, and knowledge querying. Use when user says 'read this book with me', 'book study', 'start studying X', 'reading plan', 'ingest this chapter', 'review what I read', 'quiz me on the book', 'what did the book say about X', or invokes /book-study. Supports sub-commands: ingest, query, review, compare, status. Triggers: book, study, read, chapter, ingest, review, quiz, reading plan, book notes.

Why use Book Study on TypingMind?

Because you install it once and use it with any model. Book Study is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Book Study in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sanyuan0704/sanyuan-skills/tree/main/skills/book-study. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Book Study?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Book Study?

As many as you like. As long as a model supports skills, you can use Book Study with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Book Study AI skill free?

Yes. It is published on GitHub by sanyuan0704 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇