Skip to content
Back to skills

Libby Book Monitor

ASecurity

Track book availability on Libby/OverDrive libraries. Search library catalogues, manage a watchlist, and get notified when books are added. Use for \"libby\", \"check libby\", \"libby watchlist\", \"is book on libby\", \"book available\", \"overdrive\", \"library catalogue\", \"ספרייה\", \"ספרים\".

  • 33 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
toolspythonbashgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill libby-book-monitor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Libby Book Monitor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Libby Book Monitor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-libby-book-monitor/badge)](https://www.skillsdirectory.com/skills/dvcrn-libby-book-monitor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: libby-book-monitor
description: "Track book availability on Libby/OverDrive libraries. Search library catalogues, manage a watchlist, and get notified when books are added. Use for \"libby\", \"check libby\", \"libby watchlist\", \"is book on libby\", \"book available\", \"overdrive\", \"library catalogue\", \"ספרייה\", \"ספרים\"."
homepage: https://github.com/alexpolonsky/agent-skill-libby-book-monitor
---

# Libby/OverDrive Book Monitor

Track book availability on Libby/OverDrive libraries. Search catalogues, manage a watchlist, and get notified when books are added to your library's collection.

> **Disclaimer**: This is an unofficial tool, not affiliated with or endorsed by OverDrive/Libby. Catalogue data queries APIs that power the website and may not reflect actual availability. This tool does NOT borrow books or place holds. Provided "as is" without warranty of any kind.

## Quick Start

```bash
# Search a library catalogue
python3 {baseDir}/scripts/libby-book-monitor.py search telaviv "Project Hail Mary"

# Add a book to your watchlist
python3 {baseDir}/scripts/libby-book-monitor.py watch "Kafka on the Shore" --author "Haruki Murakami"

# Check your watchlist against the API
python3 {baseDir}/scripts/libby-book-monitor.py check

# Show your watchlist
python3 {baseDir}/scripts/libby-book-monitor.py list
```

## Commands

| Command | Description |
|---------|-------------|
| `search <library> <query>` | Search a library catalogue by title/author |
| `watch <title>` | Add a book to the watchlist |
| `unwatch <title>` | Remove a book from the watchlist |
| `list` | Show the watchlist with status |
| `check` | Check all watchlist books against the API |

## Options

| Option | Commands | Description |
|--------|----------|-------------|
| `--profile <name>` | all | Separate watchlist per user |
| `--author <name>` | watch | Specify book author |
| `--library <code>` | watch | Library code (default: from config) |
| `--notify` | check | Only print newly found books (for cron) |
| `--data-dir <path>` | all | Custom data directory |

## Profiles

Use `--profile` to maintain separate watchlists for different people:

```bash
python3 {baseDir}/scripts/libby-book-monitor.py --profile jane watch "Dune"
python3 {baseDir}/scripts/libby-book-monitor.py --profile bob check --notify
```

## Configuration

Default library is `telaviv` Israel Digital. Edit `~/.libby-book-monitor/config.json` to change:

```json
{
  "default_library": "nypl",
  "libraries": {
    "nypl": "New York Public Library"
  }
}
```

The library code is the subdomain from your library's OverDrive site (e.g., `nypl.overdrive.com` -> `nypl`).

## Cron Integration

Run a daily check that only outputs when books are newly found:

```bash
python3 {baseDir}/scripts/libby-book-monitor.py --profile jane check --notify
```

If any new books are found, send the results to the user.

## Notes

- Works with non-Latin scripts (Hebrew, Arabic, CJK, etc.)
- Books are considered "found" when `isOwned: true` in the API response
- 1-second delay between API calls when checking multiple books
- No external dependencies (Python stdlib only)
- Data stored in `~/.libby-book-monitor/` (configurable via `--data-dir` or `$LIBBY_BOOK_MONITOR_DATA`)

Files in this skill

  • README.md7.7 KB
  • SKILL.md3.2 KB
  • scripts/libby-book-monitor.py11.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…