cli-anything-calibre — Claude Code skill: what it does, how to install
Controls Calibre libraries, edits e-book metadata, and runs format conversions directly from CLI agents.
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a claude-codeWhat cli-anything-calibre does
This skill acts as a command-line wrapper around Calibre binaries: calibredb, ebook-convert, and ebook-meta. It offers both an interactive REPL mode and structured JSON output via the --json flag. The CLI maintains state across invocations, storing the active library path inside ~/.cli-anything-calibre/session.json.
A system-level Calibre installation and Python 3.10+ are mandatory prerequisites. If calibredb and ebook-convert are missing from PATH, every operation fails immediately.
The tool exposes Calibre query syntax for filtering by author, tag, or rating. It converts books across formats such as EPUB, MOBI, PDF, and DOCX. It also includes an export-chapters command that splits an EPUB into individual per-chapter PDF files.
What it helps with
- convert e-books between formats like EPUB, MOBI, and PDF
- edit metadata, tags, and series order in a Calibre database
- split EPUB chapters into separate PDF files
- query Calibre libraries with complex search filters
Example prompts for the agent
- Search my Calibre library for books by Asimov with rating above 3.
- Convert book 42 from EPUB to MOBI format.
- Export the first five chapters of book 42 as PDFs to ./pdfs.
How to install cli-anything-calibre
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a claude-code2Manually: put the files in place
~/.claude/skills/cli-anything-calibre/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cli-anything-calibre/
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a codex2Manually: put the files in place
.agents/skills/cli-anything-calibre/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a cursor2Manually: put the files in place
.cursor/skills/cli-anything-calibre/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install HKUDS/CLI-Anything cli-anything-calibre2Manually: put the files in place
.github/skills/cli-anything-calibre/SKILL.md1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a gemini-cli2Platform CLI
gemini skills install https://github.com/HKUDS/CLI-Anything --path skills/cli-anything-calibreManually: put the files in place
.devin/skills/cli-anything-calibre/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about cli-anything-calibre
How to install cli-anything-calibre in Claude Code?
Run npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a claude-code. Make sure Calibre and Python 3.10+ are already installed on your system.
What does cli-anything-calibre do?
It gives AI agents a CLI interface to Calibre. Agents can inspect libraries, run conversions, update metadata fields, and export catalog lists in JSON.
What are the hard dependencies for this skill?
You need Python 3.10+ and a local Calibre installation. The binaries calibredb, ebook-convert, and ebook-meta must be discoverable in your system PATH.
Source text
SKILL.md · Apache-2.0
--- name: "cli-anything-calibre" description: >- 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)... --- # cli-anything-calibre A 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. ## Installation This CLI is installed as part of the cli-anything-calibre package: ```bash pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=calibre/agent-harness ``` **Prerequisites:** - Python 3.10+ - Calibre must be installed on your system (hard dependency) ```bash # 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 ``` ## Usage ### Basic Commands ```bash # 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 list ``` ### REPL Mode When invoked without a subcommand, the CLI enters an interactive REPL session: ```bash cli-anything-calibre # Enter commands interactively with tab-completion and history # Use 'help' to see available commands # Use 'quit' or 'exit' to leave ``` ## Command Groups ### Library Library 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 | ### Books 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) | ### Meta 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 | ### Formats 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 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 Catalog generation. | Command | Description | |---------|-------------| | `catalog <output>` | Generate a catalog of the library (EPUB, CSV, or OPDS) | ## Examples ### Connect and List Books Connect to your Calibre library and list books. ```bash 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 and Filter Search books using Calibre query language. ```bash cli-anything-calibre books search "title:Foundation" cli-anything-calibre books search "author:asimov and tags:scifi" cli-anything-calibre books search "rating:>3" ``` ### Metadata Editing Set metadata fields on books. ```bash 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 5 ``` ### Format Conversion Convert between e-book formats. ```bash cli-anything-calibre formats convert 42 EPUB MOBI cli-anything-calibre formats convert 42 EPUB PDF --output /tmp/book.pdf ``` ### Export Chapters as PDFs Export each chapter of an EPUB as a separate PDF file. ```bash cli-anything-calibre books export-chapters 42 --to-dir ./pdfs cli-anything-calibre books export-chapters 42 --to-dir ./pdfs --chapters 1-5 ``` ## Calibre Query Language Used 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 ``` ## Key Metadata Fields | 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`) | ## Supported Formats **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 ## State Management The CLI maintains session state with: - **Session file**: `~/.cli-anything-calibre/session.json` - **Library path persistence**: Active library is saved across sessions - **Environment override**: `CALIBRE_LIBRARY` environment variable ## Output Formats All commands support dual output modes: - **Human-readable** (default): Tables, colors, formatted text - **Machine-readable** (`--json` flag): Structured JSON for agent consumption ```bash # Human output cli-anything-calibre books list # JSON output for agents cli-anything-calibre --json books list ``` ## For AI Agents When using this CLI programmatically: 1. **Always use `--json` flag** for parseable output 2. **Check return codes** - 0 for success, non-zero for errors 3. **Parse stderr** for error messages on failure 4. **Verify outputs exist** after export/conversion operations 5. **Use `--library` flag** or `CALIBRE_LIBRARY` env to specify library path 6. **Chapter export requires EPUB format** - convert first if needed ## More Information - Full documentation: See README.md in the package - Architecture SOP: See CALIBRE.md in the agent-harness directory - Test coverage: See test_core.py and test_full_e2e.py in the tests directory - Methodology: See HARNESS.md in the cli-anything-plugin ## Version 1.0.0
© HKUDS · Apache-2.0 · HKUDS/CLI-Anything