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 Virtual Workbench via REST API — prepare materials, move to heating stations, start heating, move to output, transfer resources.
$ npx skills add deepmodeling/Uni-Lab-OS --skill virtual-workbench -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS virtual-workbench --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/virtual-workbench .claude/skills/virtual-workbench && 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 "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .claude/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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/virtual-workbenchType 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 virtual-workbench -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS virtual-workbench --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/virtual-workbench .agents/skills/virtual-workbench && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .agents/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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 virtual-workbench -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS virtual-workbench --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/virtual-workbench .cursor/skills/virtual-workbench && 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 "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .cursor/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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/virtual-workbench--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 virtual-workbench -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepmodeling/Uni-Lab-OS virtual-workbench --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/virtual-workbench .gemini/skills/virtual-workbench && 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 "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .gemini/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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 virtual-workbenchInstalls 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 virtual-workbench -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/virtual-workbench .github/skills/virtual-workbench && 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 "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .github/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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 virtual-workbench -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 virtual-workbench --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/virtual-workbench .opencode/skills/virtual-workbench && 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 "virtual-workbench" agent skill from https://github.com/deepmodeling/Uni-Lab-OS/tree/main/.cursor/skills/virtual-workbench into .opencode/skills/virtual-workbench/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "virtual-workbench", 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.
virtual-workbenchOperate Virtual Workbench via REST API — prepare materials, move to heating stations, start heating, move to output, transfer resources.
Virtual Workbench is an agent skill from deepmodeling/Uni-Lab-OS. Operate Virtual Workbench via REST API — prepare materials, move to heating stations, start heating, move to output, transfer resources. Use when the user mentions virtual workbench, virtualworkbench, 虚拟工作台, heating stations, material processing, or workbench operations.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `action-index.md`, `actions/manual_confirm.json` and `actions/move_to_heating_station.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.
Virtual Workbench loads about 2.4k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 371 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). 371 words, ~2,402 tokens.
.claude/skills/virtual-workbench/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.virtual_workbenchunilabos/devices/virtual/workbench.pyVirtualWorkbenchauto-prepare_materials, auto-move_to_heating_station, auto-start_heating, auto-move_to_output, transfer)manual_confirm、扣电测试 test(需要启用时先从最新注册表重新提取 schema)prepare_materials — 生成 A1-A5 物料(5 个 output handle)move_to_heating_station — 物料并发竞争机械臂,移动到空闲加热台start_heating — 启动加热(3 个加热台可并行)move_to_output — 加热完成后移到输出位置 Cn使用本 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 请求。
lab_uuid — 实验室 UUID(首次通过 API #1 自动获取,不需要问用户)device_name — virtual_workbench所有请求使用 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":"virtual_workbench","node_template_name":"<action_name>"}'resource_template_name 固定为 virtual_workbenchnode_template_name — action 名称(如 auto-prepare_materials, auto-move_to_heating_station)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":{...}}'参考 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":"virtual_workbench","action":"<action_name>","action_type":"<type>","param":{...}}'param 直接放 goal 里的属性,不要再包一层 {"goal": {...}}。
WARNING:
action_type必须正确,传错会导致任务永远卡住无法完成。 从下表或actions/<name>.json的type字段获取。
| action | action_type |
|---|---|
auto-prepare_materials | UniLabJsonCommand |
auto-move_to_heating_station | UniLabJsonCommand |
auto-start_heating | UniLabJsonCommand |
auto-move_to_output | UniLabJsonCommand |
transfer | UniLabJsonCommandAsync |
manual_confirm和扣电测试test当前不纳入本 skill 的推荐操作范围;不要基于历史 JSON 直接调用,需先重新生成并校验 schema。
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 类型 | 说明 |
|---|---|---|---|
transfer | resource | ResourceSlot | 待转移物料数组 |
transfer | target_device | DeviceSlot | 目标设备路径 |
transfer | mount_resource | ResourceSlot | 目标孔位数组 |
prepare_materials、move_to_heating_station、start_heating、move_to_output这 4 个动作无 Slot 字段,参数为纯数值/整数。manual_confirm先跳过,不维护其 Slot 字段表。
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=virtual_workbench) → 记住 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) 确认完成prepare_materials (count=5)
├─ channel_1 → move_to_heating_station (material_number=1) → start_heating → move_to_output
├─ channel_2 → move_to_heating_station (material_number=2) → start_heating → move_to_output
├─ channel_3 → move_to_heating_station (material_number=3) → start_heating → move_to_output
├─ channel_4 → move_to_heating_station (material_number=4) → start_heating → move_to_output
└─ channel_5 → move_to_heating_station (material_number=5) → start_heating → move_to_output创建节点时,prepare_materials 的 5 个 output handle(channel_1 ~ channel_5)分别连接到 5 个 move_to_heating_station 节点的 material_input handle。每个 move_to_heating_station 的 heating_station_output 和 material_number_output 连接到对应 start_heating 的 station_id_input 和 material_number_input。
start_heating 完成后还需要继续连接到 move_to_output,否则加热完成的物料不会移出加热台:
| source action | source handle | target action | target handle | 传递参数 |
|---|---|---|---|---|
auto-prepare_materials | channel_N | auto-move_to_heating_station | material_input | material_number |
auto-move_to_heating_station | heating_station_output | auto-start_heating | station_id_input | station_id |
auto-move_to_heating_station | material_number_output | auto-start_heating | material_number_input | material_number |
auto-start_heating | heating_done_station | auto-move_to_output | output_station_input | station_id |
auto-start_heating | heating_done_material | auto-move_to_output | output_material_input | material_number |
© 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 7 other files in .cursor/skills/virtual-workbench of deepmodeling/Uni-Lab-OS.
Open the folder on GitHubat commit 43923ec
Virtual Workbench 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 |
|---|---|---|---|---|---|---|
| Virtual Workbench this skilldeepmodeling/Uni-Lab-OS | 178 | — | ~2.4k | Automated safety check: Pass | GPL-3.0 | |
| API DesignerJeffallan/claude-skills | 12k | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| Paperclippaperclipai/paperclip | 98k | — | ~9.6k | Automated safety check: Pass | MIT | |
| Nodejs Backend Patternsever-works/ever-works | 158 | 17 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 Virtual Workbench via REST API — prepare materials, move to heating stations, start heating, move to output, transfer resources. Virtual Workbench is an agent skill from deepmodeling/Uni-Lab-OS. Operate Virtual Workbench via REST API — prepare materials, move to heating stations, start heating, move to output, transfer resources.
Virtual Workbench fits situations like: the user mentions virtual workbench; virtualworkbench; heating stations; material processing.
Run `npx skills add deepmodeling/Uni-Lab-OS --skill virtual-workbench -a claude-code`. Or copy the skill folder (.cursor/skills/virtual-workbench in deepmodeling/Uni-Lab-OS) into .claude/skills/virtual-workbench in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepmodeling/Uni-Lab-OS --skill virtual-workbench -a codex`. Or copy the skill folder (.cursor/skills/virtual-workbench in deepmodeling/Uni-Lab-OS) into .agents/skills/virtual-workbench 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 virtual-workbench -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/virtual-workbench, .gemini/skills/virtual-workbench, .github/skills/virtual-workbench and .opencode/skills/virtual-workbench in your project.
Going by SKILL.md and its folder, Virtual Workbench 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.
Virtual Workbench 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 2.4k tokens (SKILL.md is roughly 9.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 Virtual Workbench: API Designer (Jeffallan/claude-skills, 12k stars), Paperclip (paperclipai/paperclip, 98k 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.