Lets you search Korean public library catalogs through the Data4Library API without managing auth keys yourself. You can find books by keyword, check detailed bibliographic info by ISBN, see which libraries in a region hold a specific book, and verify real-time availability at a particular branch. It proxies requests through k-skill-proxy so you don't need to register for API credentials. The workflow is read-only and straightforward: search, get an ISBN, then narrow down by region code or library code. Most useful if you're helping Korean users locate physical books in their local public library system, though you'll want to remind them that availability can lag due to sync delays.
npx -y skills add nomadamas/k-skill --skill library-book-search --agent claude-codeInstalls into .claude/skills of the current project.
국립중앙도서관의 도서관 정보나루(Data4Library) Open API를 k-skill-proxy가 중계하는 HTTP API로 조회한다.
curl 사용 가능 환경k-skill-proxy에 DATA4LIBRARY_AUTH_KEY가 설정된 배포(기본 hosted 또는 self-host)에 접근 가능할 것사용자에게 필요한 시크릿은 없으며, DATA4LIBRARY_AUTH_KEY는 프록시 서버에서만 관리한다.
KSKILL_PROXY_BASE_URL — self-host·별도 프록시를 쓸 때만 설정. 비우면 기본 hosted https://k-skill-proxy.nomadamas.org 를 사용한다.DATA4LIBRARY_AUTH_KEY 는 프록시 서버 환경에만 둔다. 사용자에게 인증키를 요구하거나 응답에 노출하지 않는다.BASE="${KSKILL_PROXY_BASE_URL:-https://k-skill-proxy.nomadamas.org}"
BASE="${BASE%/}"
사용자 요청에 따라 필요한 값만 묻는다.
keyword만 있으면 시작한다.region)가 필요하다. 시군구 상세코드(dtl_region)가 있으면 같이 쓴다.libraryCode) + ISBN이 필요하다.도서관 코드나 지역코드가 없으면 먼저 library-search로 후보를 보거나, 사용자에게 알고 있는 도서관명·지역을 더 물어본다. 이름만으로 확정되지 않으면 임의로 하나를 고르지 않는다.
/v1/data4library/book-search)curl -fsS --get "${BASE}/v1/data4library/book-search" \
--data-urlencode "keyword=역사" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=10"
별칭: q, query, page, limit도 허용된다.
응답의 response.docs[].doc에서 주로 볼 필드:
bookname — 도서명authors — 저자publisher — 출판사publication_year — 출판연도isbn13 — 상세/소장 조회에 쓸 ISBN/v1/data4library/book-detail)curl -fsS --get "${BASE}/v1/data4library/book-detail" \
--data-urlencode "isbn13=9788971998557" \
--data-urlencode "loaninfoYN=Y"
loaninfoYN=Y를 주면 upstream이 제공하는 인기 대출 지역·연령·대출건수 같은 추가 정보를 함께 요청한다./v1/data4library/libraries-by-book)curl -fsS --get "${BASE}/v1/data4library/libraries-by-book" \
--data-urlencode "isbn=9788971998557" \
--data-urlencode "region=11" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=10"
region은 도서관 정보나루 지역코드다. 예: 서울특별시 코드가 필요한 경우 11처럼 숫자 코드를 사용한다.dtl_region이 있으면 더 좁힌다.book-exists로 확인한다./v1/data4library/book-exists)curl -fsS --get "${BASE}/v1/data4library/book-exists" \
--data-urlencode "libraryCode=111001" \
--data-urlencode "isbn13=9788971998557"
hasBook, loanAvailable 등 upstream 응답 필드를 그대로 해석한다./v1/data4library/library-search)curl -fsS --get "${BASE}/v1/data4library/library-search" \
--data-urlencode "region=11" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=10"
https://www.data4library.kr/apiUtilizationDATA4LIBRARY_AUTH_KEY 미설정 → 503 / upstream_not_configured400 / bad_requestDATA4LIBRARY_AUTH_KEY는 프록시 서버 전용이다. 사용자 측에는 시크릿이 없다.authKey와 format=json을 주입하므로, 사용자가 넘긴 authKey/format은 신뢰하지 않는다.juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills