Transcribe handwritten book notes from reMarkable PDFs or paper photos. Trigger phrase "process book notes". Handles single-source book notes with optional chapter structure...
Transcribe handwritten book notes into structured Obsidian notes.
User says "process book notes" and provides either:
Notes may be in Czech or English. Preserve the original language throughout. Do not translate.
For PDF input:
from pdf2image import convert_from_path
images = convert_from_path('notes.pdf', dpi=150)
for i, img in enumerate(images):
img.save(f'page_{i+1}.png', 'PNG')
For image input: Accept images directly and process in order.
Then visually read and transcribe each page.
reMarkable exports are often one very tall single page (an infinite vertical scroll). Render with pdftoppm -png -r 150 input.pdf out, then slice the tall PNG into overlapping page-height bands (e.g. 2200px tall, 200px overlap) with PIL so no line is cut mid-stroke and detail survives.
Flag what you can't read. Do not silently guess ambiguous handwriting - re-render the region at higher DPI to resolve it, mark anything still uncertain inline (word [?] / [illegible]), and give the user a short "Needs your eyes" list at the end with your best guess and reasoning. See ../shared/formatting-rules.md → "Uncertain or illegible readings".
Book notes typically have:
If user provides multi-source research notes, suggest: "This looks like multi-source research notes. Should I use 'process deep dive notes' instead?"
See ../shared/formatting-rules.md for complete conventions. Key rules:
! at bullet start → italics!!! at bullet start → bold#) marks book title##) marks chapters/sections if presentAuthor: *"Quote text"*Section long transcriptions. If the transcription runs longer than ~1.5 A4 of text, divide it into meaningful thematic ## sections, each ≤1-2 A4. Use the book's own chapter structure if the notes carry it; otherwise group by theme. This keeps the note skimmable and gives the enrichment step (below) coherent units to work from.
Ask user for:
Then query Obsidian for existing tags:
obsidian-mcp-tools:search_vault_simple with relevant keywords
Select 3-5 tags that match the vault's existing taxonomy.
If transcribed content exceeds ~1 A4 of text, generate a 1-3 paragraph summary covering:
Place summary after frontmatter, before raw transcription.
---
title: [Book title]
author: [Author name]
date_created: [YYYY-MM-DD] # the processing date - also keys the Book notes/[YEAR]/ folder and chronological browsing
source_type: book
tags:
- [3-5 relevant tags from vault]
---
If transcription contains quotes (format: Author: "Quote text"):
In transcription:
- Author: *"Quote text"*
Append to Obsidian quotes file 10 - 🧠Knowledge/3 - 📚 Resources/Learning/Quotes.md:
- Author: "Quote text"
Create file in inbox: 02 - 📩 Inbox/[Book Title].md
Use obsidian-mcp-tools:create_vault_file with the complete markdown content.
Query Obsidian for related existing notes and add a ## Related notes section with wiki-links at the end.
Once the transcript is saved, mine it for the parts that clearly mattered to the reader and graft them into existing notes so the knowledge lives where it gets used - not just in an inbox file.
!!! (bold) → underlined/highlighted → ! (italic) → other strong standalone insights. A rich, lengthy set of notes usually means the book landed - mine it harder; a thin set, lighter.## ... section that names the source book. ^short-id at end of the line) and, in the enriched node, point back with a block reference: [[Book Title#^short-id]]. This makes traceability bidirectional - the reader can jump from the node to the originating note, and the transcript's backlinks pane shows every node that reused a line.The inbox is a processing bay, not a home. Once transcription, summary, quotes, related notes, and cross-pollination are all complete, move the finished note to its permanent location:
10 - 🧠Knowledge/3 - 📚 Resources/Book notes/[YEAR]/, where [YEAR] is the year of date_created (create the year subfolder if it doesn't exist). Book notes are their own first-class collection - one home, divided by year, browsable chronologically by date_created.The cross-pollination backlinks use short-form wiki-links ([[Book Title#^id]]), which resolve by name and survive the move - but verify nothing breaks. Once the transcription is verified, remove the source export (PDF/photos) from the inbox too (or keep it as an attachment if the reader prefers); don't leave raw sources cluttering the inbox.
---
[frontmatter]
---
## Summary
[AI-generated summary if content is long enough]
---
# [Book Title]
- [transcribed bullets with formatting]
- *important point*
- **very important point**
- Author: *"Quote text"*
## [Chapter/Section Name] (if applicable)
- [chapter-specific notes]
## Related notes
- [[Related Note 1]]
- [[Related Note 2]]