Use 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共 1 个版本