Back to skills
SKILL.md
Ingest Kindle
ASecurityIngest Kindle books and highlights into the library pipeline. Parses My Clippings.txt, converts .epub/.mobi/.azw3 to text, and outputs to ~/clawd/library/books/ for downstream QRA extraction.
- 6 stars
- 0 votes
- 0 copies
- 2 views
- Added September 11, 2026
Works with
Security analysis
100/100Pro scans all 9 files and shows the line behind each finding
npx -y skills add grahama1970/agent-skills --skill ingest-kindle --agent claude-codeAre you the author of Ingest Kindle?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/grahama1970-ingest-kindle)---
name: ingest-kindle
description: >
Ingest Kindle books and highlights into the library pipeline.
Parses My Clippings.txt, converts .epub/.mobi/.azw3 to text,
and outputs to ~/clawd/library/books/ for downstream QRA extraction.
triggers:
- ingest kindle
- kindle highlights
- my clippings
- kindle book
- import kindle
- parse clippings
allowed-tools:
- Bash
- Read
metadata:
clawdbot:
emoji: "π"
requires:
bins:
- uv
provides:
- ingest-kindle
composes:
- memory
- consume-book
- doc2qra
- task-monitor
- agentic-evals
disciplines:
- data-engineering
---
> STOP. READ THIS ENTIRE SKILL.MD BEFORE CALLING ANY ENDPOINT.
# ingest-kindle
**Ingest Kindle books and highlights into the library pipeline.**
Parses My Clippings.txt for highlights/annotations, converts ebooks (.epub, .mobi, .azw3) to markdown text, and outputs to `~/clawd/library/books/<Title>/` for downstream processing with `/consume-book` and `/doc2qra`.
## Quick Start
```bash
# Parse Kindle highlights
./run.sh clippings /media/kindle/documents/My\ Clippings.txt
# Ingest a single ebook
./run.sh ingest book.epub --scope hasard_lee
# Batch process a directory of Kindle exports
./run.sh ingest-all ~/kindle-exports/
# Check progress
./run.sh status
# Verify dependencies
./run.sh health
```
## Commands
| Command | Description |
|---------|-------------|
| `clippings [path]` | Parse My Clippings.txt into structured highlights JSON |
| `ingest <file>` | Process single .epub/.mobi/.azw3 to text.md |
| `ingest-all [dir]` | Batch process Kindle export directory |
| `status [--json]` | Show ingestion progress |
| `health` | Verify dependencies (ebooklib, calibre) |
## Output Structure
```
~/clawd/library/books/<Title>/
βββ text.md # Full extracted text
βββ highlights.json # Structured highlights from My Clippings
βββ metadata.json # Author, title, ASIN, format
```
The `<!-- EXTRACTION_COMPLETE -->` marker in text.md signals downstream tools that extraction finished successfully (follows ingest-audiobook quality gate pattern).
## Pipeline Integration
```
Kindle Device/App
β
βββ My Clippings.txt βββ clippings βββ highlights.json
β
βββ .epub/.mobi/.azw3 βββ ingest βββ text.md
β
βββββββββββ΄βββββββββββ
β β
/consume-book /doc2qra
(search, annotate) (QRA extraction)
```
## Format Support
| Format | Library | Notes |
|--------|---------|-------|
| `.epub` | ebooklib | Native Python, no external deps |
| `.mobi` | calibre `ebook-convert` | Optional external dep |
| `.azw3` | calibre `ebook-convert` | Optional external dep |
| My Clippings.txt | Pure Python parser | Well-defined format |
## My Clippings.txt Format
Kindle stores all highlights/notes in a single file with this structure:
```
Book Title (Author Name)
- Your Highlight on page 42 | Location 612-615 | Added on Monday, January 15, 2024 12:30:00 AM
The highlighted text goes here.
==========
```
The parser handles:
- Highlights, notes, and bookmarks
- Multiple books in one file
- Unicode content
- Various date formats
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `KINDLE_LIBRARY_DIR` | `~/clawd/library/books` | Output directory |
| `KINDLE_CLIPPINGS_PATH` | - | Default path to My Clippings.txt |
## Dependencies
- `ebooklib` β EPUB parsing (pure Python)
- `typer` β CLI framework
- `rich` β Terminal output
- `python-dotenv` β Environment loading
- `calibre` ebook-convert CLI β Optional, for .mobi/.azw3 conversion
Files in this skill
- SKILL.md
- clippings.py
- fixtures/agentic_eval.json
- formats.py
- kindle_ingest.py
- memory_integration.py
- pyproject.toml
- run.sh
- sanity.sh
Attribution
Comments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.