# A reMarkable Paper Pro CLI That Feeds Handwriting to Agents

By Laith Al-Saadoon · Published 2026-03-12 · Updated 2026-09-11

Canonical: https://laithalsaadoon.com/notes/remarkable-spec

Topics: reMarkable, OCR, Tooling

remarkable-spec parses reMarkable .rm files, renders pen strokes, and OCRs handwriting with Vision, Textract and Opus so an agent can read annotations as text.

Took a side quest this week: reinvigorating my note-taking habits by building a bridge between my reMarkable Paper Pro and agentic AI. The result is [**remarkable-spec**](https://github.com/laithalsaadoon/remarkable-spec), a Python CLI that parses the reMarkable’s binary `.rm` files, renders handwritten pages with full pen physics (10 pen types, pressure/tilt/speed), and runs an OCR pipeline that fans out Apple Vision + AWS Textract in parallel, then sends both results plus the original image to Opus 4.6 via Bedrock for a final cross-referenced transcription.

The workflow I built it for runs as a loop. An AI agent pushes a markdown doc to the tablet, I annotate it with a pen (cross things out, scribble notes, draw arrows), and the agent pulls it back, reads the annotations as structured text, and applies my edits to the source file. Handwriting becomes a first-class input to an agentic loop.

Every command has `--json` for structured output an agent can parse, but the larger design shift is that the tool doesn’t try to be self-contained. It renders a page to PNG then delegates understanding to an LLM. It extracts Mermaid from hand-drawn diagrams by sending the image to Opus rather than by running computer vision locally. The OCR pipeline uses extended thinking. The CLI is a thin orchestration layer that assumes a powerful model is on the other end interpreting results, which is the opposite of a traditional CLI that tries to give you the final answer.

It’s a tool for AI that humans can also inspect, rather than a tool for humans that AI can also use. That inversion changes what you build and what you skip.

This is a small experiment in a larger question: [what should agents remember, and where should that memory live?](https://laithalsaadoon.com/notes/agent-substrate)

## Related reading

- https://laithalsaadoon.com/notes/agent-substrate

- https://laithalsaadoon.com/notes/skill-budget-trap

