nexu-io/open-design

library-curator

Search the OD Library (the global asset registry) and apply matching assets into the current project mid-task.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/nexu-io/open-design --skill library-curator

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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.

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills