Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

library-curator — Claude Code skill: what it does, how to install

Pulls images, logos and screenshots out of the OD Library and copies the file into your project, handing back a relative path you can drop into markup.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add nexu-io/open-design --skill library-curator -a claude-code
Open on GitHub

What library-curator does

The asset already exists in the user's library. The agent just has no way to reach it mid-task. This skill closes that gap: it queries the registry with POST /api/tools/library/search, ranks the hits by dimensions, title and source, then copies the pick over through POST /api/tools/library/apply. What comes back is a project-relative path such as assets/<hash>.png, and that is what you reference from the HTML or CSS you are editing.

Both endpoints take the run's OD_TOOL_TOKEN, injected by the daemon. Copies land in a library/ subdirectory unless you pass a different dir.

Here is where it gets thin. With no embedding model configured, search is keyword and metadata matching only, marked by semantic: false, so ranking is on you. An empty result set is a cue to generate media instead. A made-up path breaks the page, so only use a relPath that apply actually returned.

What it helps with

  • drop an earlier upload into the page you are building
  • reuse the project logo instead of generating a new one
  • copy a library asset into the repo and get its relative path
  • pick a background image by size and title
  • pull back media the agent generated in an earlier run

Example prompts for the agent

  • Grab the logo from my library and put it in this page header
  • Find that screenshot I clipped earlier and use it as the hero image
  • Insert from library a background texture and write the path into the CSS

How to install library-curator

1Skills CLI (Vercel)

npx skills add nexu-io/open-design --skill library-curator -a claude-code

2Manually: put the files in place

~/.claude/skills/library-curator/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/library-curator/

From the same set106

The whole set →
ui-ux-pro-max nexu-io A discovery catalog entry for the UI/UX Pro Max skill in OpenDesign. It registers design system triggers so agents recognize interface usability requests. Claude Code CX Codex Cursor +1 5,400installs frontend-design nexu-io Skill for building frontend interfaces with considered typography, color and layout — from landing pages to dashboards. Claude Code CX Codex Cursor +1 4,800installs threejs nexu-io Guides the agent in building browser 3D scenes, materials, interactive controls, and post-processing with Three.js. Claude Code CX Codex Cursor +1 3,400installs creative-director nexu-io This skill takes a creative concept from brief to presentation and checks it on three axes. Use it for campaign ideas and creative critique. Claude Code CX Codex Cursor +1 3,400installs design-brief nexu-io Parses an I-Lang design brief into a concrete spec with palette, typography, density, and constraints. Eliminates ambiguity from phrases like "make it professional." Claude Code CX Codex Cursor +1 3,400installs apple-hig nexu-io Integrates Apple Human Interface Guidelines for iOS, macOS, visionOS, watchOS, and tvOS into your coding agent during planning. Claude Code CX Codex Cursor +1 3,200installs hatch-pet nexu-io Creates, validates, and packages 8×9 animated pet spritesheets for Codex. Use it when turning visual references or concept prompts into importable digital pet companions. Claude Code CX Codex Cursor +1 3,100installs design-md nexu-io Creates and maintains DESIGN.md with design direction, tokens, and visual rules. Useful when an agent needs one source of truth for a project’s design system. Claude Code CX Codex Cursor +1 3,100installs

Similar

appllama-usage Appllama (appllama.io) Guides Appllama MCP research for mobile apps: inspect real screens and flows before building or improving an interface. Claude Code CX Codex Cursor +1 4,000installs ads-photoshoot AgriciDaniel Generates rights-cleared paid-ad product photography from an authorized image and brand profile. Keeps packaging and logos intact across studio or lifestyle scenes. Claude Code CX Codex Cursor +1 3,800installs ads-generate AgriciDaniel Generates paid-ad image assets from a validated brief and brand profile using a configured image provider. Keeps generation audits with hashes and safe zones. Claude Code CX Codex Cursor +1 3,800installs mobile-app-ui-design ceorkm Provides mobile UX and UI guidelines for coding agents. Helps generate mobile screens, components, and design flows that follow structured layout rules. Claude Code CX Codex Cursor +1 11,500installs html-diagram plannotator Generates standalone interactive HTML diagrams without external services or build steps. Helps visualize component topology, state transitions, timelines, and quantitative structures. Claude Code CX Codex Cursor +1 4,100installs tailwind-design-system sickn33 A skill that keeps the agent on Tailwind while you build a design system: tokens, component variants, responsive patterns, accessibility. Useful when the UI drifts. Claude Code CX Codex Cursor +1 1,600installs frontend-design official anthropics This skill guides intentional visual design for new interfaces and redesigns. Use it when a generic generated UI is not enough. Claude Code Claude.ai 1,025,790installs grill-me Matt Pocock grill-me interviews you about a plan or design to expose gaps and sharpen decisions. Use it before implementation starts. Claude Code 1,424,476installs

Questions about library-curator

How do I install library-curator in Claude Code?

Run npx skills add nexu-io/open-design --skill library-curator -a claude-code. The skill file then sits at ~/.claude/skills/library-curator/SKILL.md.

What does library-curator do?

It searches the OD Library for an asset, copies the chosen file into the project and returns the path the agent wires into your markup or styles.

Does search still work without an embedding model?

Yes, as keyword and metadata matching. The response carries semantic: false, which means the agent has to order the results itself.

Source text

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

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor