プログラミング
Kindleのエクスポート制限でブロックされたハイライトを復元するClaudeコードスキル
A Claude Code skill that recovers export-blocked Kindle highlights (github.com)
要約
Amazon Kindleのハイライトエクスポート機能では、一部のハイライトが途中で切れたり、完全に非表示になったりする制限があります。このClaudeコードスキルは、Kindleアプリのローカルデータとクラウドリーダーのレンダリングページからこれらの隠されたハイライトを復元し、位置情報付きのMarkdownファイルとして出力します。このプロセスはmacOS専用で、ブラウザ制御、OCR、ローカルデータベースアクセスを組み合わせて実現されます。
全文翻訳
l3a0's Claude Code plugins
l3a0の名前空間で公開されているClaudeコードスキルの個人的なコレクションです。このリポジトリは、プラグインであり、それ自体のマーケットプレイスでもあります。
これらのツールがどのように構築されるか、そしてテクノロジー、ビジネス、金融について、baowebdev.substack.comで執筆しています。
claude plugin marketplace をインストールする
claude plugin install l3a0/claude-plugins
claude plugin install l3a0@l3a0
スキルは /l3a0:<skill-name> として呼び出されます(他のインストール済みコマンドが名前を主張していない限り、単なる /<skill-name> も機能します)。リクエストがスキルの説明と一致すると、Claudeは自動的にスキルを呼び出します。
スキル
kindle-highlights
Amazonのノートブックページから、エクスポートが高度にハイライトされた書籍をエクスポートすると、一部のハイライトは文の途中でカットされ、他のハイライトは「一部のハイライトはエクスポート制限により非表示または切り捨てられました」という通知の下に、テキストなしの単なる位置番号として返されます。これらはあなた自身のメモであり、あなた自身のアカウントにあり、Amazonが文書化しておらず、あなたが引き上げることのできない予算によって制限されています。
このスキルはそれらを取り戻します。Kindleノートブック(read.amazon.com/notebook)から、エクスポート制限によって切り捨てられたり完全に非表示にされたりしたハイライトを含め、すべてのハイライトを1つの結合された、原文通りの、位置が引用されたMarkdownファイルに抽出します。復元されたハイライトは、Mac Kindleアプリの同期されたアノテーション位置と、クラウドリーダーのレンダリングページから取得されます。
4冊の実際の書籍で実証済み:2,432件のハイライトが抽出され、そのうち815件がエクスポートブロックされました(454件が切り捨て、361件が完全に非表示)。すべてが復元され、復元されたテキストはKindleアプリ自身の位置ルーラーの数文字以内に収まっています(中央値の残差0-1)。スキルのすべての落とし穴は、それらの実行を通じて実際のエラーデバッグによって得られました。
構築の物語 — エクスポート制限が存在する理由、それを克服する3つのアンロック、そしてエクスポートのライブラリが何になるか — は、How to Take Back Your Kindle Highlights に書かれており、これもSubstackで公開されています。
スコープ:これは、あなた自身のログイン済みブラウザセッションを操作し、KindleアプリがMacに保存するファイルを読み取ることで、あなた自身のAmazonアカウントからあなた自身のハイライトをエクスポートします。出力はあなたの個人的なメモ用です — 書籍のテキストは著作権で保護されているため、抽出したメモはプライベートにしてください。
前提条件(macOSのみ)
このパイプラインは、3つの点でmacOS専用です:ブラウザ制御はAppleScriptを介して実行され、OCRはAppleのVisionフレームワークを使用し、ハイライト位置はMac Kindleアプリのデータファイルから取得されます。
Claude Desktop と「Control Chrome」拡張機能 — Anthropicのブラウザ制御MCPで、Claude Desktop → Settings → Extensions からワンクリックでインストールできます。これは、スキルが実際のChromeでJavaScriptを実行するための検証済みのパスです(タブでJSを実行できる任意のブラウザMCPで代用できます)。Chromeの設定が必要です:Chromeメニューバー → View → Developer → Allow JavaScript from Apple Events → チェック → Chromeを終了して再起動します。
Google Chromeで、Amazonアカウントにサインインしていること(スキルはread.amazon.comを操作します)。
現在のMac Kindleアプリ(App Store; バンドルID com.amazon.Lassen — クラシックなKindle.appではない)、同じAmazonアカウントにサインインしており、書籍がダウンロードされていること。その同期されたアノテーションデータベースは、エクスポート制限なしで正確なハイライト範囲を提供します。
Xcode Command Line Tools(xcode-select --install) — 大量復元パスは、Apple Visionを使用する小さなSwift OCRヘルパー(swiftc)をコンパイルします。
python3 — 最終的なMarkdownをビルドし、リーダーページがキャプチャをPOSTするlocalhostレシーバー(127.0.0.1:8931)を実行します。
何をするか、簡単に
ノートブックページのDOMからすべてのハイライトを(原文のタイポグラフィを保持して)JSONにスクレイピングします。
KindleアプリのSQLiteデータベースから、Webエクスポートが完全に隠すハイライトを含む、正確な文字単位のハイライト位置を読み取ります。
ブロックされたテキストの場合、クラウドリーダーのレンダリングページをキャンバス経由でキャプチャし(OSスクリーンショットは不要)、Apple VisionでローカルにOCR処理し(トークンゼロ)、既知の位置にテキストを切り抜きます。
### Location N セクション、ブロック引用された原文テキスト、および復元または近似されたものを示すフラグを含む1つのMarkdownファイルを生成し、その後QAパスを実行します。
ライセンス
MIT