cd /news/developer-tools/a-claude-code-skill-that-recovers-ex… Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-109150] src=github.com β†— pub= topic=developer-tools verified=true sentiment=Β· neutral

A Claude Code skill that recovers export-blocked Kindle highlights

A new Claude Code plugin by developer l3a0 recovers Kindle highlights that Amazon's export limit truncates or hides, extracting 2,432 highlights from four real books, including 815 export-blocked ones (454 truncated and 361 fully hidden), with recovered text matching the Kindle app's position ruler within a median residual of 0–1 characters. The macOS-only pipeline uses the Claude Desktop 'Control Chrome' extension, the Mac Kindle app's SQLite database, and Apple Vision OCR to bypass Amazon's undocumented export cap.

read3 min views1 publishedAug 24, 2026
A Claude Code skill that recovers export-blocked Kindle highlights
Image: Michielbdejong (auto-discovered)

A personal collection of Claude Code skills, published as a single plugin under the l3a0

namespace. This repo is both the plugin and its own marketplace.

I write about how these tools get built β€” and about technology, business, and finance β€” at baowebdev.substack.com.

claude plugin marketplace add l3a0/claude-plugins
claude plugin install l3a0@l3a0

Skills are invoked as /l3a0:<skill-name>

(the bare /<skill-name>

also works while no other installed command claims the name), and Claude auto-invokes them when a request matches a skill's description.

Export a heavily-highlighted book from Amazon's notebook page and some highlights come back cut off mid-sentence, while others come back as a bare location number with no text at all, under this notice:

"Some highlights have been hidden or truncated due to export limits."

Those are your own notes, in your own account, capped by a budget Amazon doesn't document and you can't raise. This skill gets them back: it extracts every highlight for a book from the Kindle notebook (read.amazon.com/notebook

) into one combined, verbatim, location-cited Markdown file β€” including the highlights the export limit truncates or hides entirely, which are recovered from the Mac Kindle app's synced annotation positions plus the Cloud Reader's rendered pages.

Proven on four real books: 2,432 highlights extracted, 815 of them export-blocked (454 truncated + 361 fully hidden) β€” every one recovered, with recovered text landing within a couple of characters of the Kindle app's own position ruler (median residual 0–1). Every gotcha in the skill was earned by real debugging across those runs. The build story β€” why the export limit exists, the three unlocks that beat it, and what a library of exports becomes β€” is written up in How to Take Back Your Kindle Highlights, also published on Substack.

Scope: this exports your own highlights from your own Amazon account, by driving your own logged-in browser session and reading files the Kindle app stores on your Mac. The output is for your personal notes β€” book text is copyrighted, so keep extracted notes private.

The pipeline is macOS-only three times over: browser control runs over AppleScript, OCR uses Apple's Vision framework, and highlight positions come from the Mac Kindle app's data files.

Claude Desktop with the "Control Chrome" extension— Anthropic's browser-control MCP, installed in one click from Claude Desktop → Settings → Extensions. It is the skill's verified path for executing JavaScript in your real Chrome (any browser MCP that can run JS in the tab can substitute). It requires a Chrome setting: Chrome menu bar → View → Developer →Allow JavaScript from Apple Events→ check → quit and relaunch Chrome.** Google Chrome**, signed in to your Amazon account (the skill drivesread.amazon.com

).The current Mac Kindle app(App Store; bundle idcom.amazon.Lassen

β€” not the classic Kindle.app), signed in to the same Amazon account, with the book downloaded. Its synced annotation database provides exact highlight extents with no export limit.Xcode Command Line Tools(xcode-select --install

) β€” the bulk-recovery path compiles a small Swift OCR helper (swiftc

) that uses Apple Vision.python3β€” builds the final Markdown and runs a localhost receiver (127.0.0.1:8931

) that the reader page POSTs captures to.

  • Scrapes all highlights from the notebook page DOM to JSON (verbatim typography preserved).
  • Reads exact character-precise highlight positions from the Kindle app's SQLite database β€” including highlights the web export hides completely.
  • For blocked text, captures the Cloud Reader's rendered pages via canvas (no OS screenshots needed), OCRs them locally with Apple Vision (zero tokens), and cuts the text to the known positions.
  • Emits one Markdown file with ### Location N

sections, blockquoted verbatim text, and flags for anything recovered or approximate, then runs a QA pass.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @claude code 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/a-claude-code-skill-…] indexed:0 read:3min 2026-08-24 Β· β€”