Command-line interface for Calibre - A stateful CLI harness for e-book library management, metadata editing, and format conversion wrapping the real Calibre tools (calibredb, ebook-convert, ebook-meta)...
58
66%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./calibre/agent-harness/cli_anything/calibre/skills/SKILL.mdA stateful CLI harness for Calibre e-book management. Wraps the real Calibre tools (calibredb, ebook-convert, ebook-meta) to give AI agents and scripts a clean, structured interface for library operations, metadata editing, and format conversion.
This CLI is installed as part of the cli-anything-calibre package:
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=calibre/agent-harnessPrerequisites:
# Debian/Ubuntu
sudo apt-get install calibre
# macOS
brew install --cask calibre
# Verify tools are in PATH
which calibredb
which ebook-convert
which ebook-meta# Show help
cli-anything-calibre --help
# Start interactive REPL mode
cli-anything-calibre
# Connect to a Calibre library
cli-anything-calibre library connect ~/Calibre\ Library
# Run with JSON output (for agent consumption)
cli-anything-calibre --json books listWhen invoked without a subcommand, the CLI enters an interactive REPL session:
cli-anything-calibre
# Enter commands interactively with tab-completion and history
# Use 'help' to see available commands
# Use 'quit' or 'exit' to leaveLibrary management commands.
| Command | Description |
|---|---|
connect <path> | Set active library path |
info | Show library statistics (book count, formats, db size) |
check | Verify library integrity using calibredb check_library |
Book operations (wrap calibredb).
| Command | Description |
|---|---|
list | List books with filtering and sorting |
search <query> | Search using Calibre query language |
add <files> | Add book files to library |
remove <ids> | Remove books (move to trash or permanent delete) |
show <id> | Show full metadata for a book |
export <ids> | Export books to directory |
export-chapters <id> | Export each chapter as separate PDF (requires EPUB format) |
Metadata editing (wrap calibredb set_metadata).
| Command | Description |
|---|---|
get <id> [field] | Get metadata (all or specific field) |
set <id> <field> <value> | Set a metadata field |
embed <ids> | Embed metadata into book files |
Format management (wrap calibredb + ebook-convert).
| Command | Description |
|---|---|
list <id> | List available formats for a book |
add <id> <file> | Add a format to a book |
remove <id> <fmt> | Remove a format from a book |
convert <id> <input_fmt> <output_fmt> | Convert book format |
Custom columns (wrap calibredb).
| Command | Description |
|---|---|
list | List all custom columns |
add <label> <name> <type> | Create custom column |
remove <label> | Delete custom column |
set <id> <label> <value> | Set custom field value |
Catalog generation.
| Command | Description |
|---|---|
catalog <output> | Generate a catalog of the library (EPUB, CSV, or OPDS) |
Connect to your Calibre library and list books.
cli-anything-calibre library connect ~/Calibre\ Library
cli-anything-calibre books list
# Or with JSON output
cli-anything-calibre --json books list --search "author:asimov"Search books using Calibre query language.
cli-anything-calibre books search "title:Foundation"
cli-anything-calibre books search "author:asimov and tags:scifi"
cli-anything-calibre books search "rating:>3"Set metadata fields on books.
cli-anything-calibre meta set 42 title "New Title"
cli-anything-calibre meta set 42 series "Foundation"
cli-anything-calibre meta set 42 series_index 1
cli-anything-calibre meta set 42 tags "scifi,classic"
cli-anything-calibre meta set 42 rating 5Convert between e-book formats.
cli-anything-calibre formats convert 42 EPUB MOBI
cli-anything-calibre formats convert 42 EPUB PDF --output /tmp/book.pdfExport each chapter of an EPUB as a separate PDF file.
cli-anything-calibre books export-chapters 42 --to-dir ./pdfs
cli-anything-calibre books export-chapters 42 --to-dir ./pdfs --chapters 1-5Used with books search and books list --search:
author:asimov # Author contains "asimov"
title:"Foundation" # Title phrase
tags:fiction # Tag match
rating:>3 # Rating greater than 3
series:"Foundation" # Series match
pubdate:[2020-01-01,2021-12-31] # Date range
identifiers:isbn:1234567890 # Specific identifier
has:cover # Has cover image
not:tags:fiction # Negation
author:asimov and tags:scifi # Boolean AND| Field | Type | Description |
|---|---|---|
title | text | Book title |
authors | text | Author names (&-separated) |
tags | text | Comma-separated tags |
series | text | Series name |
series_index | float | Position in series |
rating | float | Rating 1-5 |
publisher | text | Publisher name |
pubdate | datetime | Publication date |
comments | text | Description/comments |
languages | text | Language codes |
identifiers | text | ISBN, ASIN, etc. (type:value) |
Input: EPUB, MOBI, AZW, AZW3, PDF, HTML, DOCX, ODT, FB2, TXT, RTF, LIT, and more
Output (conversion): EPUB, MOBI, AZW3, PDF, HTML, DOCX, TXT, and more
The CLI maintains session state with:
~/.cli-anything-calibre/session.jsonCALIBRE_LIBRARY environment variableAll commands support dual output modes:
--json flag): Structured JSON for agent consumption# Human output
cli-anything-calibre books list
# JSON output for agents
cli-anything-calibre --json books listWhen using this CLI programmatically:
--json flag for parseable output--library flag or CALIBRE_LIBRARY env to specify library path1.0.0
34f5195
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.