library-curator — скилл для Claude Code: что делает и как установить
Достаёт картинки, логотипы и скриншоты из OD Library, копирует файл в проект и отдаёт относительный путь, который остаётся вписать в разметку.
npx skills add nexu-io/open-design --skill library-curator -a claude-codeЧто делает library-curator
Нужный ассет уже лежит в библиотеке пользователя, но агент про него не знает. Скилл закрывает этот зазор: ищет по реестру через POST /api/tools/library/search, отбирает подходящий файл по размерам, заголовку и источнику, потом копирует его в проект запросом POST /api/tools/library/apply. На выходе — относительный путь вида assets/<hash>.png, его и прописывают в HTML или CSS.
Оба запроса авторизуются токеном запуска OD_TOOL_TOKEN, его подставляет демон. Копия попадает в подпапку library/, если не передать свой dir.
Если embedding-модель не настроена, поиск идёт по ключевым словам и метаданным, о чём говорит флаг semantic: false, поэтому ранжировать выдачу придётся самому. Пустой ответ — повод перейти к генерации медиа. Придуманный путь ломает страницу: в разметку годится только relPath, который вернул apply.
Какие задачи решает
- вставить ранее загруженный скриншот в собираемую страницу
- найти свой логотип в библиотеке вместо генерации нового
- скопировать ассет в проект и получить относительный путь
- подобрать фоновое изображение по размерам и названию
- переиспользовать медиа, которое агент сделал раньше
Примеры запросов агенту
- Возьми логотип из моей библиотеки и вставь его в хедер этой страницы
- Найди в library asset тот скриншот, что я загружал раньше, и поставь его в hero-секцию
- Insert from library фоновую картинку и пропиши путь в CSS
Как установить library-curator
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill library-curator -a claude-code2Вручную: положить файлы
~/.claude/skills/library-curator/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/library-curator/
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill library-curator -a codex2Вручную: положить файлы
.agents/skills/library-curator/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill library-curator -a cursor2Вручную: положить файлы
.cursor/skills/library-curator/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install nexu-io/open-design library-curator2Вручную: положить файлы
.github/skills/library-curator/SKILL.md1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill library-curator -a gemini-cli2Командой платформы
gemini skills install https://github.com/nexu-io/open-design --path skills/library-curatorВручную: положить файлы
.devin/skills/library-curator/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill library-curator -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора106
Весь набор →Похожие
Вопросы о library-curator
Как установить library-curator в Claude Code?
Выполните npx skills add nexu-io/open-design --skill library-curator -a claude-code. Файл скилла появится по пути ~/.claude/skills/library-curator/SKILL.md.
Что делает library-curator?
Ищет ассеты в OD Library по запросу и метаданным, копирует выбранный файл в проект и возвращает путь, который агент подставляет в разметку или стили.
Заработает ли поиск без embedding-модели?
Да, но по ключевым словам и метаданным: ответ приходит с semantic: false, и порядок результатов агенту приходится выставлять самому.
Исходный текст
SKILL.md · Apache-2.0
---
name: library-curator
description: |
Search the OD Library (the global asset registry) and apply matching assets
into the current project mid-task. Use when the user asks to reuse an image
they captured/uploaded earlier, "pull a logo/screenshot from my library", or
to find and drop a stored asset into the page being built.
triggers:
- "from my library"
- "library asset"
- "use the image I captured"
- "insert from library"
od:
mode: utility
category: assets
---
# library-curator
Reuse assets that already live in the user's OD Library — images captured with
the OD Clipper, manual uploads, agent-generated media, and design-system
material — without asking the user to re-upload them.
## When to use
- The user references an asset they already have ("the screenshot I clipped",
"my logo", "that hero image from earlier").
- You need an image for the page you're building and the user prefers their own
library over freshly generated media.
## Tools (tool-token track)
Both endpoints authenticate with the run's tool token (`OD_TOOL_TOKEN`, injected
by the daemon) and operate on the project the run belongs to.
### Search
`POST /api/tools/library/search`
```json
{ "query": "blue hero background", "kind": "image", "limit": 20 }
```
Returns `{ "results": [{ "asset": { "id": "...", "kind": "image", "sourceTitle": "...", "width": 1600, "height": 900, "sources": [...] }, "score": 0 }], "semantic": false }`.
`semantic: false` means keyword/metadata matching (no embedding model
configured). Filter and rank the results yourself from the asset metadata.
### Apply
`POST /api/tools/library/apply`
```json
{ "assetId": "<id from search>", "dir": "assets" }
```
Copies the asset into the project (default subdir `library/`, or the `dir` you
pass) and returns `{ "relPath": "assets/<hash>.png" }`. Reference that
`relPath` from the HTML/CSS you write (e.g. `<img src="assets/ab12cd34ef.png">`).
## Recipe
1. Search with a tight query for the kind you need.
2. Pick the best result by dimensions / title / source.
3. Apply it to get a project-relative path.
4. Wire that path into the artifact you're editing.
If search returns nothing, fall back to media generation rather than guessing a
path — never invent a `relPath` that `apply` did not return.
© nexu-io · Apache-2.0 · nexu-io/open-design