Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add HKUDS/CLI-Anything --skill cli-anything-calibre -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/cli-anything-calibre/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cli-anything-calibre/

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

Similar skills

All skills for Notes, tasks and projects →

From the same set55

cli-anything-nsight-graphics Runs NVIDIA Nsight Graphics captures and analysis from the command line. Use it when investigating frames or GPU trace output. CX Codex +1 412installs cli-anything-lldb This skill runs stateful LLDB workflows with JSON output for breakpoints, process inspection, memory reads, and AI-client debugging through DAP. CX Codex +1 405installs cli-anything-quietshrink Compresses macOS screen recordings using Apple Silicon hardware HEVC encoding without stressing the CPU. It reduces .mov and .mp4 file size by 70–90% with visually lossless quality. CX Codex +1 387installs cli-anything-sbox A CLI with 79+ commands for s&box (Source 2): edit scenes, prefabs, materials, and configs from your agent, generate C# code, and validate your project without launching the editor. CX Codex +1 378installs cli-anything-macrocli This skill converts GUI workflows into parameterized CLI commands. An agent calls macro run <name> with parameters, and the system automatically routes execution to the right backend — API, file transformation, or UI automation. CX Codex +1 373installs cli-anything-firefly-iii Connects coding agents to Firefly III via a stateless command-line interface. Helps track accounts and transactions without lingering background processes. CX Codex +1 347installs cli-anything-mailchimp A skill that hands your agent a CLI harness for the Mailchimp Marketing API v3.0: 303 commands covering lists, campaigns, reports and automations. Useful when audiences and sends belong in code, not in the web UI. CX Codex +1 340installs cli-anything-nslogger CLI harness for parsing, filtering, and streaming NSLogger files. It lets your coding agent inspect iOS and macOS crash logs without launching the desktop GUI. CX Codex +1 331installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor