Incremental Reading Toolkit
approvedby kieran
Process long-form reading into scheduled topics, extracts, and Spaced Repetition flashcards. - This plugin has not been manually reviewed by Obsidian staff.
Incremental Reading Toolkit
Turn long-form reading into scheduled topics, focused extracts, and durable flashcards—without leaving Obsidian.
Documentation · User guide · Releases · Changelog
Incremental 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. Flashcard scheduling and grading are handled by the actively maintained Spaced Repetition community plugin.
[!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 | Native Markdown flashcards in #flashcards/incremental-reading | Spaced Repetition plugin |
Source → Read a portion → Extract the useful part → Make a card → Review
↑ A-Factor schedules topics Spaced Repetition ↑
Highlights
| Feature | What it gives you | |
|---|---|---|
| 🔀 | Mixed learning queue | Alternates priority-aware reading topics with Spaced Repetition card notes. |
| 🧠 | 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 converts it into native Spaced Repetition card notes.
Installation
Community Plugins
- Open Settings → Community plugins in Obsidian.
- Install and enable Spaced Repetition.
- Search for Incremental Reading Toolkit, then install and enable it.
- Run Incremental Reading Toolkit: Run setup check from the plugin settings.
Card creation writes Spaced Repetition-compatible Markdown. Topic scheduling remains available if Spaced Repetition is missing, and card-review commands will show an installation reminder.
Manual installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Copy them into
<vault>/.obsidian/plugins/incremental-reading-toolkit/. - Install and enable Spaced Repetition.
- Reload Obsidian, then enable Incremental Reading Toolkit.
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. When Next element opens a card note, Spaced Repetition starts automatically and the accepted review finishes that queue entry.
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 without recalculating collection views; automatically start SR when it is a card. |
| Grade current reading topic | Grade and schedule the current source or extract without navigating. Cards finish automatically in SR. |
| Extract selection | Turn selected source text into a linked extract. |
| Flashcard from clipboard | Create a native Spaced Repetition card from clipboard text. |
| Capture or create… | New/imported sources, PDF-aware extracts, image cards, image extracts, and occlusions. |
| Current element actions… | Done, 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. |
| Inline cards | Question/answer and cloze parsing patterns. |
| Spaced Repetition | Dependency status, deck tag, and multiline card separators. |
| Knowledge tree | Branch warnings, completion visibility, and expansion state. |
| Paths | Every plugin-managed source, extract, card, category, attachment, dashboard, and log path. |
| General | Date convention and diagnostic logging. |
Use Run setup check at the top of the settings page to verify the Spaced Repetition dependency, folder separation, A-Factor bounds, and card separators. Each path setting has a reset-to-default button. Configure card algorithms and review behaviour in Spaced Repetition itself.
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.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.