calibre-clilisted
Install: claude install-skill nelsonlove/claude-code-plugins
# Calibre CLI
Calibre ships a CLI suite alongside its GUI. Most "manage my ebook library" tasks are best done from the shell — bulk operations are slow and clumsy in the GUI. The CLI is mature, well-documented, and stable across versions, but it has several footguns that are not obvious from `--help` alone. This skill captures the non-obvious parts.
## The five binaries that matter
| Binary | Purpose | Use when |
|---|---|---|
| `calibredb` | Library DB operations | Adding, removing, querying, setting metadata, merging — anything that touches `metadata.db` |
| `ebook-meta` | Single-file metadata read/write | Want to read or write metadata inside a file without involving a library |
| `fetch-ebook-metadata` | Pull metadata from online sources | Have an ISBN or title and want canonical metadata + cover |
| `ebook-convert` | Format conversion | Converting EPUB ↔ MOBI ↔ PDF ↔ AZW3 ↔ etc. |
| `calibre-server` | Content server (HTTP/OPDS) | Need to bypass the GUI lock for concurrent CLI writes |
Ignore the rest (`calibre-debug`, `calibre-smtp`, `lrf2lrs`, etc.) unless a specific need arises.
## Library connection
Always pass `--library-path` (or its alias `--with-library`) to every `calibredb` invocation. Two forms:
```bash
# Direct path — requires Calibre GUI to be closed
calibredb list --library-path "/path/to/library" --fields=id,title --limit 5
# Content Server URL — works while the GUI is running
calibredb list --with-library=http://localhost:8080/#mylibrary --fields=i