README file from
GithubIncremental Reading Toolkit helps you read long sources a little at a time, revisit them on a useful schedule, extract the parts that matter, and turn those extracts into flashcards. It works with Markdown notes, PDFs, clipboard content, and images.
Topic scheduling uses a progress-aware A-Factor. For flashcards, choose the Toolkit's built-in FSRS review, export to Anki through Reuseman's Flashcards plugin, or retain the existing Spaced Repetition integration.
[!IMPORTANT] This plugin is desktop-only. Its integrated reader uses Electron and Node APIs to open vault PDFs and local external PDF paths; those APIs are unavailable on mobile.
At a glance
| Material | Role in the workflow | Scheduling |
|---|---|---|
| 📖 Sources | Articles, books, videos, and long notes you revisit in portions | Reading queue + A-Factor |
| ✂️ Extracts | Focused passages linked back to their parent source | Reading queue + A-Factor |
| 🃏 Cards | Markdown flashcards linked to their source | Toolkit FSRS, Anki, or Spaced Repetition |
Source → Read a portion → Extract the useful part → Make a card → Review
↑ A-Factor schedules topics chosen card system ↑
Highlights
| Feature | What it gives you | |
|---|---|---|
| 🔀 | Mixed learning queue | Alternates priority-aware reading topics with Toolkit and Spaced Repetition card notes. Anki cards stay in Anki's review queue. |
| 🧠 | Progress-aware scheduling | Recomputes topic intervals from remaining pages or seconds, with pace controls and a stall guard. |
| ✂️ | Fast capture | Creates extracts from selected text, the clipboard, or a PDF and links them to their parent. |
| 🃏 | Flexible flashcards | Creates cards from text, images, inline syntax, and image occlusion. |
| 🌳 | Knowledge tree | Shows source and extract relationships with filtering, ordering, and drag-to-reparent. |
| 📋 | Reading queue | Keeps today’s session, overdue work, new material, and active topics visible in the sidebar. |
| 📊 | Analytics dashboard | Shows session health, a 14-day review graph, queue workload, collection mix, and lifetime totals. |
| 📄 | Integrated PDF reader | Opens vault or external PDFs with page navigation and saved read points. |
Inline-card export understands Q:: … ::A::, {{c1::…}}, and ==highlight== syntax and sends new cards to the selected card system.
Installation
Community Plugins
- Open Settings → Community plugins in Obsidian.
- Search for Incremental Reading Toolkit, then install and enable it.
- Under Flashcards → Create cards with, choose Toolkit (in-house) or Anki via Flashcards. The compatibility option keeps the existing Spaced Repetition workflow.
- For Anki, install Flashcards by Reuseman and AnkiConnect, grant permission in Flashcards settings, and keep Anki running when syncing. For the SR option, install Spaced Repetition.
- Run the setup check from the Toolkit settings.
The choice applies to newly created cards. Backend ownership is stored on each card, so changing the setting does not silently convert existing material.
Manual installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Copy them into
<vault>/.obsidian/plugins/incremental-reading-toolkit/. - Reload Obsidian, then enable Incremental Reading Toolkit.
- Optionally install Reuseman's Flashcards or Spaced Repetition for the corresponding external workflow.
Five-minute workflow
- Capture a source. Open Capture or create…, then choose Import clipping (active note) or New source.
- Build the queue. Run Build today's session queue once, then run Next element.
- Keep the valuable parts. Select important text and run Extract selection.
- Schedule the return. Leave the cursor where you stopped, then run Grade current reading topic.
- Create recall material. Run Flashcard from clipboard. Toolkit cards open the built-in review window; SR cards open that plugin; Anki cards sync to Anki and are reviewed there.
For recommended keybindings and complete note, PDF, card, queue, and date workflows, open the user guide. You can also run Open user guide inside Obsidian.
[!NOTE] Upgrading from a pre-release development build? Open Advanced tools… and run Migrate legacy cards to Spaced Repetition once. It preserves card content and source links while replacing legacy scheduling fields.
Command reference
| Command | Purpose |
|---|---|
| Build today's session queue | Explicitly calculate and save today's scheduled queue. |
| Next element | Open the following saved queue path; start the correct in-vault card reviewer when applicable. |
| Grade current reading topic | Grade the current source/extract, or an open Toolkit-owned card, without navigating. |
| Extract selection | Turn selected source text into a linked extract. |
| Flashcard from clipboard | Create a card in the selected Toolkit, Anki, or SR workflow. |
| Capture or create… | New/imported sources, PDF-aware extracts, image cards, image extracts, and occlusions. |
| Current element actions… | Done/reset (including cards), dismiss, postpone, schedule, priority, parent/PDF navigation, read points, and checkpoints. |
| Open Toolkit view… | Dashboard, analytics, queue, knowledge tree, or user guide. |
| Advanced tools… | Subset/overload tools, splits, tree editing, migration, inline-card export, and diagnostics. |
Settings
Settings are grouped by workflow and include plain-language descriptions.
| Section | Configure |
|---|---|
| Scheduling | Reading intervals, progress awareness, A-Factor bounds, pace adjustments, and the stall guard. |
| Queue | Mixed-card behaviour, ordering, filters, and session display. |
| Flashcards | Backend used for newly created cards. |
| Inline cards | Question/answer and cloze parsing patterns. |
| Anki via Flashcards | Reuseman Flashcards status, target deck, card tag, and automatic sync. |
| Spaced Repetition | Dependency status, deck tag, and multiline card separators. |
| Knowledge tree | Multi-select Done/Reset actions, branch warnings, completion visibility, and expansion state. |
| Paths | Every plugin-managed source, extract, card, category, attachment, dashboard, and log path. |
| General | Date convention, extract highlight colour, and diagnostic logging. |
Use Run setup check to verify the selected card dependency, folder separation, and A-Factor bounds. Toolkit cards use built-in FSRS; Anki and Spaced Repetition retain ownership of their own review algorithms.
Privacy and permissions
Incremental Reading Toolkit is local-first: no telemetry, advertisements, account requirement, or built-in update mechanism.
| Permission | Behaviour |
|---|---|
| Clipboard | Reads text or images only after you run a clipboard capture command. |
| External files | Reads only the local PDF stored in the active source’s pdf_path; it does not modify the PDF. EPUB is not supported. |
| Network | Makes no plugin-initiated network requests. Opening a YouTube embed allows Obsidian to connect to YouTube. |
| Vault | Enumerates configured toolkit folders and writes only to configured plugin paths. Migrations require an explicit command. |
Design lineage
The toolkit is inspired by SuperMemo’s incremental reading workflow and bjsi’s Incremental Writing plugin for Obsidian.
SuperMemo established the model of importing sources, revisiting prioritized portions, extracting important material, and turning it into durable question-and-answer knowledge. Incremental Writing demonstrated how prioritized, scheduled queues can feel native inside an Obsidian vault.
This is an independent plugin and is not affiliated with or endorsed by SuperMemo or the Incremental Writing project. See SuperMemo workflow alignment for a feature-by-feature comparison and the intentional differences.
Development
npm install
npm run check
main.js is the shipped plugin. tree-core.js contains the pure, Obsidian-free tree logic that is unit-tested and inlined into main.js; a regression test keeps both copies synchronized.
See RELEASING.md for the release and Community Plugins submission checklist.
License
Released under the MIT License.