Install
openclaw skills install @diwakergupta/hardcover-bookshelfTalk to a user's Hardcover bookshelf via the Hardcover GraphQL API. Use when the user wants to manage reading activity in natural language: start a book, finish a book, view the Want to Read shelf, or compute yearly reading stats such as "how many books did I read last year?". Require HARDCOVER_TOKEN before any API call, using the exact `Bearer ...` value copied from Hardcover account API settings. Use this skill whenever the user mentions Hardcover, reading lists, bookshelves, tracking books, or anything related to managing what they're reading.
openclaw skills install @diwakergupta/hardcover-bookshelfUse this skill to treat Hardcover as a conversational bookshelf assistant.
It is optimized for prompts like:
what's on my reading listi started reading the complete mausi finished reading dunehow many books did i read last yearRequire HARDCOVER_TOKEN before making API calls.
Token format is Option A: the env var must contain the full Authorization header value exactly as copied from Hardcover, including the Bearer prefix.
Example:
export HARDCOVER_TOKEN='Bearer eyJ...'
If missing or malformed, stop and ask the user to set it correctly.
Run these from the skill's root directory. Pass --json for machine-readable output.
npx tsx src/cli.ts list [--limit 20] [--json]
npx tsx src/cli.ts start --title "The Complete Maus" [--json]
npx tsx src/cli.ts finish --title "The Complete Maus" [--json]
npx tsx src/cli.ts count-last-year [--json]
These commands call the local TypeScript client in src/ and centralize auth, schema quirks, and error handling.
Interpret reading list as Want to Read.
Run:
npx tsx src/cli.ts list
Return a clean bullet list and mention the total shown.
Run:
npx tsx src/cli.ts start --title "<book>"
Behavior:
Run:
npx tsx src/cli.ts finish --title "<book>"
Behavior:
user_book for that booklast_read_date as the finish-date fieldNote: this is a best-effort implementation based on the live schema tested so far. If Hardcover later exposes a better canonical finish-date field for user books, update the client and references.
Run:
npx tsx src/cli.ts count-last-year
Behavior:
status_id=3 and last_read_date inside that yearsrc/client.ts — Hardcover API client and common operationssrc/cli.ts — unified CLI entrypointreferences/schema-quirks.md — live notes on auth, status IDs, and mutation/query quirks