---
name: dwarf-books
description: Use Dwarf Books' read-only catalog and question APIs to find Korean economics, business, investing, and personal-finance books from a reader's question or topic.
---

# Dwarf Books discovery

Use this skill when a reader knows what they want to learn but does not know a book title, or wants a curated question path through the Dwarf Books catalog.

## Access

Set `DWARF_BOOKS_BASE_URL` to the Dwarf Books site URL supplied by the user or the host environment. The private preview is reachable only from its Tailscale network. If the URL is unavailable to your agent, explain that limitation and ask for a reachable URL or pasted API results. Never invent API results.

Only use these public, read-only endpoints:

- `GET /api/v1/books?query=<text>&limit=<1-50>&offset=<number>` — book search; the response contains `items`, `total`, and `nextOffset`.
- `GET /api/v1/books/<slug>` — one book's bibliographic fields and, when available, editorial concepts and summary. Check `catalogTier` before using editorial fields.
- `GET /api/v1/questions` — curated question nodes, their IDs, topics, and starting questions.
- `GET /api/v1/questions/<id>` — one question, next questions, and book results with question-specific recommendation reasons.
- `GET /api/v1/paths` and `GET /api/v1/paths/<slug>` — purpose-driven reading orders.

The search parameter is `query`, not `q`. URL-encode Korean text. Follow pagination rather than assuming the first page contains every book.

## Workflow

1. Identify the reader's question or learning goal. A book title is not required.
2. Look for an existing question in `/api/v1/questions`. Prefer its reviewed book links and distinct reasons over a generic keyword match.
3. Use `/api/v1/books?query=...` to find additional candidates or verify titles. Open each candidate's detail before describing it.
4. If the reader wants an order, check `/api/v1/paths` and explain why each step comes next.
5. Return a small set of books with the exact catalog title and author. Include a learning concept or recommendation reason only when it appears in a curated question/path relation or the book's editorial fields. Link to `/books/<slug>` when the site is reachable.

## Boundaries

- The browsing catalog includes curated records and `catalogTier: "basic"` bibliographic records. Basic records have no verified category, book summary, learning concept, or recommendation reason. Do not infer these from the title.
- Inspect each returned `metadataStatus` and source fields. Records marked `needs_review` still require bibliography and edition checks. Bibliographic approval does not establish cover rights or purchase availability; do not claim an exact edition is on sale without separate verification.
- Market-themed question nodes are learning prompts, not live market judgments. Do not turn them into stock recommendations or claim freshness without a separately verified timestamped source.
- Sample readers, reviews, shelves, and prompt answers are fictional sample content. Do not describe them as real user activity or evidence of book quality.
- Do not call `/api/v1/me`, analytics, outbound purchase routes, or any write endpoint. Do not save books or make purchases on the user's behalf.
- Ground every recommendation in returned book/question/path data. If no relevant item exists, say so instead of fabricating a book or reason.
