API Designer
Jeffallan/claude-skills
Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.
Operate Uni-Lab host node via REST API — create resources, test latency, test resource tree, manual confirm.
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS host-node --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/host-node .claude/skills/host-node && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .claude/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-nodeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS host-node --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/host-node .agents/skills/host-node && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .agents/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS host-node --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/host-node .cursor/skills/host-node && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .cursor/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/deepmodeling/Uni-Lab-OS.git --path .cursor/skills/host-node--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS host-node --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/host-node .gemini/skills/host-node && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .gemini/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install deepmodeling/Uni-Lab-OS host-nodeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/host-node .github/skills/host-node && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .github/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS host-node --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepmodeling/Uni-Lab-OS.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/host-node .opencode/skills/host-node && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "host-node" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/host-node into .opencode/skills/host-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "host-node", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
host-nodeOperate Uni-Lab host node via REST API — create resources, test latency, test resource tree, manual confirm.
Host Node is an agent skill from deepmodeling/Uni-Lab-OS. Operate Uni-Lab host node via REST API — create resources, test latency, test resource tree, manual confirm. Use when the user mentions hostnode, creating resources, resource management, testing latency, or any host node operation.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `action-index.md`, `actions/create_resource.json` and `actions/manual_confirm.json`).
It sits in Backend & APIs, covering REST APIs. The repository describes itself as: A Platform for Laboratory Automation. The licence is GPL-3.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 43923ec. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
leap-lab.test.bohrium.comleap-lab.uat.bohrium.comleap-lab.bohrium.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Host Node loads about 1.9k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 277 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from deepmodeling/Uni-Lab-OS at commit 43923ec, republished under its GPL-3.0 licence (© deepmodeling). 277 words, ~1,912 tokens.
.claude/skills/host-node/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.host_nodeunilabos/ros/nodes/presets/host_node.pyHostNodecreate_resource, test_latency, auto-test_resource, manual_confirm)使用本 skill 前,必须先确认以下信息。如果缺少任何一项,立即向用户询问并终止,等补齐后再继续。
从启动参数 --ak --sk 或 config.py 中获取,生成 token:base64(ak:sk) → Authorization: Lab <token>
--addr 值 | BASE |
|---|---|
test | https://leap-lab.test.bohrium.com |
uat | https://leap-lab.uat.bohrium.com |
local | http://127.0.0.1:48197 |
| 不传(默认) | https://leap-lab.bohrium.com |
确认后设置:
BASE="<根据 addr 确定的 URL>"
AUTH="Authorization: Lab <token>"两项全部就绪后才可发起 API 请求。
在整个对话过程中,agent 需要记住以下状态,避免重复询问用户:
lab_uuid — 实验室 UUID(首次通过 API #1 自动获取,不需要问用户)device_name — host_node所有请求使用 curl -s,POST/PATCH/DELETE 需加 Content-Type: application/json。
Windows 平台必须使用
curl.exe(而非 PowerShell 的curl别名)。
curl -s -X GET "$BASE/api/v1/edge/lab/info" -H "$AUTH"返回 data.uuid 为 lab_uuid,data.name 为 lab_name。
curl -s -X POST "$BASE/api/v1/lab/workflow/owner" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"name":"<名称>","lab_uuid":"<lab_uuid>","description":"<描述>"}'返回 data.uuid 为 workflow_uuid。创建成功后告知用户链接:$BASE/laboratory/$lab_uuid/workflow/$workflow_uuid
curl -s -X POST "$BASE/api/v1/edge/workflow/node" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"workflow_uuid":"<workflow_uuid>","resource_template_name":"host_node","node_template_name":"<action_name>"}'resource_template_name 固定为 host_nodenode_template_name — action 名称(如 create_resource, test_latency)curl -s -X DELETE "$BASE/api/v1/lab/workflow/nodes" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"node_uuids":["<uuid1>"],"workflow_uuid":"<workflow_uuid>"}'curl -s -X PATCH "$BASE/api/v1/lab/workflow/node" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"workflow_uuid":"<wf_uuid>","uuid":"<node_uuid>","param":{...}}'param 直接使用创建节点返回的 data.param 结构,修改需要填入的字段值。参考 action-index.md 确定哪些字段是 Slot。
curl -s -X POST "$BASE/api/v1/lab/workflow/node-handles" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"node_uuids":["<node_uuid_1>","<node_uuid_2>"]}'curl -s -X POST "$BASE/api/v1/lab/workflow/edges" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"edges":[{"source_node_uuid":"<uuid>","target_node_uuid":"<uuid>","source_handle_uuid":"<uuid>","target_handle_uuid":"<uuid>"}]}'curl -s -X POST "$BASE/api/v1/lab/workflow/<workflow_uuid>/run" -H "$AUTH"curl -s -X POST "$BASE/api/v1/lab/mcp/run/action" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"lab_uuid":"<lab_uuid>","device_id":"host_node","action":"<action_name>","action_type":"<type>","param":{...}}'param 直接放 goal 里的属性,不要再包一层 {"goal": {...}}。
WARNING:
action_type必须正确,传错会导致任务永远卡住无法完成。 从下表或actions/<name>.json的type字段获取。
| action | action_type |
|---|---|
test_latency | UniLabJsonCommand |
create_resource | ResourceCreateFromOuterEasy |
auto-test_resource | UniLabJsonCommand |
manual_confirm | UniLabJsonCommand |
curl -s -X GET "$BASE/api/v1/lab/mcp/task/<task_uuid>" -H "$AUTH"curl -s -X POST "$BASE/api/v1/lab/mcp/run/workflow/action" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"node_uuid":"<node_uuid>"}'curl -s -X GET "$BASE/api/v1/lab/material/download/$lab_uuid" -H "$AUTH"注意 lab_uuid 在路径中。返回 data.nodes[] 含所有节点(设备 + 物料),每个节点含 name、uuid、type、parent。
curl -s -X GET "$BASE/api/v1/lab/workflow/template/detail/$workflow_uuid" -H "$AUTH"必须使用
/lab/workflow/template/detail/{uuid},其他路径会返回 404。
curl -s -X GET "$BASE/api/v1/lab/material/template/by-name?lab_uuid=$lab_uuid&name=<template_name>" -H "$AUTH"返回 data.uuid 为 res_template_uuid,用于 API #15。
curl -s -X POST "$BASE/api/v1/edge/material/node" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"res_template_uuid":"<uuid>","name":"<名称>","display_name":"<显示名>","parent_uuid":"<父节点uuid>","data":{...}}'curl -s -X PUT "$BASE/api/v1/edge/material/node" \
-H "$AUTH" -H "Content-Type: application/json" \
-d '{"uuid":"<节点uuid>","display_name":"<新名称>","data":{...}}'placeholder_keys 值 | Slot 类型 | 填写格式 | 选取范围 |
|---|---|---|---|
unilabos_resources | ResourceSlot | {"id": "/path/name", "name": "name", "uuid": "xxx"} | 仅物料节点(非设备) |
unilabos_devices | DeviceSlot | "/parent/device_name" | 仅设备节点(type=device) |
unilabos_nodes | NodeSlot | "/parent/node_name" | 所有节点(设备 + 物料) |
unilabos_class | ClassSlot | "class_name" | 注册表中已注册的资源类 |
| Action | 字段 | Slot 类型 | 说明 |
|---|---|---|---|
create_resource | res_id | ResourceSlot | 新资源路径(可填不存在的路径) |
create_resource | device_id | DeviceSlot | 归属设备 |
create_resource | parent | NodeSlot | 父节点路径 |
create_resource | class_name | ClassSlot | 资源类名如 "container" |
auto-test_resource | resource | ResourceSlot | 单个测试物料 |
auto-test_resource | resources | ResourceSlot | 测试物料数组 |
auto-test_resource | device | DeviceSlot | 测试设备 |
auto-test_resource | devices | DeviceSlot | 测试设备 |
Task Progress:
- [ ] Step 1: GET /edge/lab/info 获取 lab_uuid
- [ ] Step 2: 获取资源树 (GET #12) → 记住可用物料
- [ ] Step 3: 读 action-index.md 确定要用的 action 名
- [ ] Step 4: 创建工作流 (POST #2) → 记住 workflow_uuid,告知用户链接
- [ ] Step 5: 创建节点 (POST #3, resource_template_name=host_node) → 记住 node_uuid + data.param
- [ ] Step 6: 根据 _unilabos_placeholder_info 和资源树,填写 data.param 中的 Slot 字段
- [ ] Step 7: 更新节点参数 (PATCH #5)
- [ ] Step 8: 查询节点 handles (POST #6) → 获取各节点的 handle_uuid
- [ ] Step 9: 批量创建边 (POST #7) → 用 handle_uuid 连接节点
- [ ] Step 10: 启动工作流 (POST #8) 或运行单节点 (POST #11)
- [ ] Step 11: 查询任务状态 (GET #10) 确认完成© deepmodeling, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files in .cursor/skills/host-node of deepmodeling/Uni-Lab-OS.
Open the folder on GitHubat commit 43923ec
Host Node next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Host Node this skilldeepmodeling/Uni-Lab-OS | 178 | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| API DesignerJeffallan/claude-skills | 12k | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| Paperclippaperclipai/paperclip | 99k | — | ~9.6k | Automated safety check: Pass | MIT | |
| Nodejs Backend Patternsever-works/ever-works | 158 | 18 repos | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| OpenAPI to MCP Servermcp-use/mcp-use | 11k | — | ~5.2k | Automated safety check: Pass | Apache-2.0 | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT |
Jeffallan/claude-skills
Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.
paperclipai/paperclip
Interact with the Paperclip control plane API for task coordination and governance.
ever-works/ever-works
Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
ruvnet/RuView
Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.
deepmodeling/Uni-Lab-OS
Batch submit experiments (notebooks) to the Uni-Lab cloud platform (leap-lab) — list workflows, generate nodeparams from registry schemas, submit multiple rounds, check notebook status.
deepmodeling/Uni-Lab-OS
Create a skill for any Uni-Lab device by extracting action schemas from the device registry.
deepmodeling/Uni-Lab-OS
Query backend workflow list, aggregate all tags, and filter workflows by domain/scenario requirements using tags.
deepmodeling/Uni-Lab-OS
Submit historical experiment results (agentresult) to Uni-Lab cloud platform (leap-lab) notebook — read data files, assemble JSON payload, PUT to cloud API.
deepmodeling/Uni-Lab-OS
Guide for adding new devices to Uni-Lab-OS (接入新设备). An agent skill from deepmodeling/Uni-Lab-OS.
deepmodeling/Uni-Lab-OS
Guide for adding new resources (materials, bottles, carriers, decks, warehouses) to Uni-Lab-OS (添加新物料/资源).
Categories
Operate Uni-Lab host node via REST API — create resources, test latency, test resource tree, manual confirm. Host Node is an agent skill from deepmodeling/Uni-Lab-OS. Operate Uni-Lab host node via REST API — create resources, test latency, test resource tree, manual confirm.
Host Node fits situations like: the user mentions hostnode; creating resources; resource management; testing latency.
Run `npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a claude-code`. Or copy the skill folder (.cursor/skills/host-node in deepmodeling/Uni-Lab-OS) into .claude/skills/host-node in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a codex`. Or copy the skill folder (.cursor/skills/host-node in deepmodeling/Uni-Lab-OS) into .agents/skills/host-node in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add deepmodeling/Uni-Lab-OS --skill host-node -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/host-node, .gemini/skills/host-node, .github/skills/host-node and .opencode/skills/host-node in your project.
Going by SKILL.md and its folder, Host Node needs the command-line tools its instructions call (curl). Our summary lists: Python 3.
SKILL.md names 3 domains. In commands or code: leap-lab.test.bohrium.com, leap-lab.uat.bohrium.com and leap-lab.bohrium.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Host Node is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Host Node: API Designer (Jeffallan/claude-skills, 12k stars), Paperclip (paperclipai/paperclip, 99k stars), Nodejs Backend Patterns (ever-works/ever-works, 158 stars) and OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
deepmodeling (a GitHub organization) maintains it in deepmodeling/Uni-Lab-OS, which has 178 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on September 24, 2026.
Source: deepmodeling/Uni-Lab-OS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.