A individual postulation of Claude Code skills, published arsenic a single plugin nether the l3a0 namespace. This repo is some the plugin and its ain marketplace.
I constitute astir really these devices get built — and astir technology, business, and finance — at baowebdev.substack.com.
Skills are invoked arsenic /l3a0:<skill-name> (the bare /<skill-name> besides useful while nary other installed bid claims the name), and Claude auto-invokes them erstwhile a petition matches a skill's description.
Export a heavily-highlighted book from Amazon's notebook page and immoderate highlights travel back cut disconnected mid-sentence, while others travel backmost arsenic a bare location number pinch nary matter astatine all, under this notice:
"Some highlights person been hidden aliases truncated owed to export limits."
Those are your ain notes, successful your ain account, capped by a fund Amazon doesn't archive and you can't raise. This accomplishment gets them back: it extracts each item for a book from the Kindle notebook (read.amazon.com/notebook) into 1 combined, verbatim, location-cited Markdown record — including the highlights the export limit truncates aliases hides entirely, which are recovered from the Mac Kindle app's synced note positions positive the Cloud Reader's rendered pages.
Proven connected 4 existent books: 2,432 highlights extracted, 815 of them export-blocked (454 truncated + 361 afloat hidden) — each 1 recovered, pinch recovered matter landing wrong a couple of characters of the Kindle app's ain position ruler (median residual 0–1). Every gotcha successful the accomplishment was earned by existent debugging crossed those runs. The build communicative — why the export limit exists, the 3 unlocks that hit it, and what a library of exports becomes — is written up in How to Take Back Your Kindle Highlights, also published connected Substack.
Scope: this exports your own highlights from your own Amazon account, by driving your own logged-in browser convention and reference files the Kindle app stores connected your Mac. The output is for your individual notes — book matter is copyrighted, truthful support extracted notes private.
Prerequisites (macOS only)
The pipeline is macOS-only 3 times over: browser power runs complete AppleScript, OCR uses Apple's Vision framework, and item positions travel from the Mac Kindle app's information files.
- Claude Desktop pinch the "Control Chrome" extension — Anthropic's browser-control MCP, installed successful 1 click from Claude Desktop → Settings → Extensions. It is the skill's verified way for executing JavaScript successful your existent Chrome (any browser MCP that tin tally JS in the tab tin substitute). It requires a Chrome setting: Chrome paper barroom → View → Developer → Allow JavaScript from Apple Events → cheque → quit and relaunch Chrome.
- Google Chrome, signed successful to your Amazon relationship (the accomplishment drives read.amazon.com).
- The existent Mac Kindle app (App Store; bundle id com.amazon.Lassen — not the classic Kindle.app), signed successful to the aforesaid Amazon account, pinch the book downloaded. Its synced annotation database provides nonstop item extents pinch nary export limit.
- Xcode Command Line Tools (xcode-select --install) — the bulk-recovery way compiles a small Swift OCR helper (swiftc) that uses Apple Vision.
- python3 — builds the last Markdown and runs a localhost receiver (127.0.0.1:8931) that the scholar page POSTs captures to.
- Scrapes each highlights from the notebook page DOM to JSON (verbatim typography preserved).
- Reads nonstop character-precise item 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 pinch Apple Vision (zero tokens), and cuts the matter to the known positions.
- Emits 1 Markdown record pinch ### Location N sections, blockquoted verbatim text, and flags for thing recovered aliases approximate, past runs a QA pass.
MIT
English (US) ·
Indonesian (ID) ·