hathitrust-lookup
Skill1 starsChanged 59 days agoMITView on GitHub
Look up books and serials in the HathiTrust Digital Library by identifier (OCLC, LCCN, ISBN, ISSN, HathiTrust id, or catalog record number) and list each digitized item's reading-room URL and access status. Use when the user has an identifier (or a citation/MARC record containing one) and wants HathiTrust metadata, availability, or a link to read/search a volume. Note: this is identifier lookup, not keyword search.
In this repository16 other files it gives its agents.
- debug-remote-pipelineSkill
- dictateSkill
- dtcatSkill
- dtdiffSkill
- dtfilterSkill
- dtsetSkill
- esync-setupSkill
- hathifilesSkill
- julia-releaseSkill
- marginSkill
- mint-gh-tokenSkill
- nclqSkill
- pr-walkthroughSkill
- rendering-spec-docsSkill
- wrds-downloadSkill
- wrds-downloadSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Check command -v ht-lookup first.
- Distinctive: line 96
No API key or authentication is needed.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
hathitrust-lookup — HathiTrust catalog lookup
Resolve identifiers to HathiTrust catalog records using the ht-lookup CLI,
a thin client over the HathiTrust Bibliographic
API. For each record it prints
the title, identifiers, publish dates, and the list of digitized items
(volumes) — each with its HathiTrust id (htid), reading-room URL, and US
access status (Full view vs Limited (search-only)).
ht-lookup oclc 424023
ht-lookup isbn 9780030110405 lccn 62009520 # batch, up to 20 ids
ht-lookup --json --full recordnumber 000578050 # raw JSON incl. MARC-XMLScope — read this first
This is identifier lookup, not keyword/full-text search. HathiTrust does not expose its catalog free-text search as an open API (the search pages sit behind a bot challenge), and the page-content Data API was retired in July 2024. So you cannot script "find books about X" here.
To go from a title/author to an identifier: have the user search the catalog in a browser at https://catalog.hathitrust.org, then pass back the OCLC number or record number. Citations, library catalog entries, and MARC records usually already carry an OCLC/LCCN/ISBN you can feed straight in.
For bulk text mining (the "research datasets" that replaced the old API), point the user to the HathiTrust Research Center (Extracted Features dataset, Data Capsules) — out of scope for this skill.
Install
Check command -v ht-lookup first. If missing, download the release binary
(the repo is public — no token needed):
mkdir -p ~/.local/bin
curl -fsSL -o ~/.local/bin/ht-lookup \
"https://github.com/LouLouLibs/claude-skills/releases/latest/download/ht-lookup-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"
chmod +x ~/.local/bin/ht-lookupAssets: ht-lookup-linux-x86_64 (static musl — runs on any Linux, including
NixOS microVM guests) and ht-lookup-darwin-arm64. Runtime requirement:
curl on PATH (HTTPS is delegated to it).
Usage
ht-lookup [--full] [--json] <idtype> <id> [<idtype> <id> ...]idtype | one of oclc, lccn, issn, isbn, htid, recordnumber |
--full | request full MARC records (adds MARC-XML; pair with --json) |
--json | print the raw API JSON instead of the formatted view |
Up to 20 identifiers per call (the API's batch limit). Mixed id types in one call are fine.
Reading the output
Infinite series (1962)
record: https://catalog.hathitrust.org/Record/000578050
oclc: 424023
lccn: 62009520
items (2):
[Limited (search-only)] mdp.39015025315527 University of Michigan
https://babel.hathitrust.org/cgi/pt?id=mdp.39015025315527[Full view]— the full text is readable online at the item URL.[Limited (search-only)]— in-copyright; only page-level search is public. The item URL still opens the (limited) viewer.For serials/multi-volume sets each item is tagged with its enumeration in brackets, e.g.
[v.2 1881]. These records can list many items — use--jsonand pipe throughjqto filter, e.g. only Full-view volumes:ht-lookup --json oclc 6412936 \ | jq -r '.[].items[] | select(.usRightsString | startswith("Full")) | .htid'
Notes
- No API key or authentication is needed; the API is public and unauthenticated.
- An unknown identifier prints
<query>: no record foundand still exits 0. HT_API_BASEoverrides the API base URL (used by the test harness).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

