mcpField
L
library-curator

library-curator

github.com/nexu-ioDesign & UI104.6k995 installsUpdated today
Repository

About library-curator

library-curator helps design agents reuse assets from a user's OD Library without re-uploading them. It searches by query and metadata, then copies a selected asset into the project and returns its usable path.

Key features

  1. 01Search assets in the OD Library
  2. 02Filter results by kind, title, and dimensions
  3. 03Copy selected assets into the project
  4. 04Return a project-relative path

Use cases

  1. 01Use a previously clipped screenshot in a page
  2. 02Add the user's logo or hero image to a project
  3. 03Reuse manually uploaded or agent-generated media

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nexu-io/open-design --skill library-curator

After installing, type/library-curatorin Claude Code to confirm it loaded.

Details

From the project README

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

{ "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

{ "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.

Comments

Markdown supported