Isolated Linux Agent Workspace
agent-sh/agent-workspace-linux
Drives a hidden, agent-owned Linux desktop and browser over MCP for GUI testing and web automation without touching the user's real desktop.
Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library.
$ npx skills add HKUDS/OpenSpace --skill delegate-task -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HKUDS/OpenSpace delegate-task --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/HKUDS/OpenSpace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/openspace/host_skills/delegate-task .claude/skills/delegate-task && 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 "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .claude/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-taskType 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 HKUDS/OpenSpace --skill delegate-task -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HKUDS/OpenSpace delegate-task --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/openspace/host_skills/delegate-task .agents/skills/delegate-task && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .agents/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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 HKUDS/OpenSpace --skill delegate-task -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HKUDS/OpenSpace delegate-task --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/openspace/host_skills/delegate-task .cursor/skills/delegate-task && 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 "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .cursor/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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/HKUDS/OpenSpace.git --path openspace/host_skills/delegate-task--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 HKUDS/OpenSpace --skill delegate-task -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HKUDS/OpenSpace delegate-task --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/openspace/host_skills/delegate-task .gemini/skills/delegate-task && 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 "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .gemini/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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 HKUDS/OpenSpace delegate-taskInstalls 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 HKUDS/OpenSpace --skill delegate-task -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .github/skills && cp -r skills-src/openspace/host_skills/delegate-task .github/skills/delegate-task && 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 "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .github/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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 HKUDS/OpenSpace --skill delegate-task -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HKUDS/OpenSpace delegate-task --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/openspace/host_skills/delegate-task .opencode/skills/delegate-task && 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 "delegate-task" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/openspace/host_skills/delegate-task into .opencode/skills/delegate-task/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "delegate-task", 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.
delegate-taskDelegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library.
Delegate Task is an agent skill from HKUDS/OpenSpace. Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Productivity & Automation, covering MCP servers and Desktop control. The repository describes itself as: "OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3827781. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Delegate Task loads about 2.6k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,036 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 HKUDS/OpenSpace at commit 3827781, republished under its MIT licence (© HKUDS). 1,036 words, ~2,644 tokens.
.claude/skills/delegate-task/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.OpenSpace is connected as an MCP server. Whether the host uses stdio, sse, or streamable-http, you have the same tools available: cloud_auth_flow, execute_task, search_skills, cloud_browse_skills, fix_skill, upload_skill.
Set up OpenSpace cloud access for cloud skill search or skill upload.
Use it only when the user asks for cloud features, or when a cloud operation reports a missing/invalid key.
Ask for email and agent_name. Ask for password only through secure secret input; it must be 8 to 72 characters. Do not ask for passcode/OTP because this tool does not accept one.
If secure password input is available, call:
cloud_auth_flow(
action="bootstrap_agent_key",
email="user@example.com",
password="<securely-collected-password>",
agent_name="openspace-local-agent"
)If secure password input is not available, ask the user to run:
openspace-cloud-auth bootstrap-agent-key --email user@example.com --agent-name openspace-local-agentAfter setup, report only whether the key was saved and verified. Never print or repeat passwords, bearer tokens, or raw API keys.
Delegate a task to OpenSpace. It will search for relevant skills, execute, and auto-evolve skills if needed.
execute_task(task="Monitor Docker containers, find the highest memory one, restart it gracefully", search_scope="all")| Parameter | Required | Default | Description |
|---|---|---|---|
task | yes | — | Task instruction in natural language |
search_scope | no | "all" | Local + cloud; falls back to local-only if no API key |
max_iterations | no | 20 | Max agent iterations — increase for complex tasks, decrease for simple ones |
Check response for evolved_skills. If present with upload_ready: true, decide whether to upload (see "When to upload" below).
{
"status": "success",
"response": "Task completed successfully",
"evolved_skills": [
{
"skill_dir": "/path/to/skills/new-skill",
"name": "new-skill",
"origin": "captured",
"change_summary": "Captured reusable workflow pattern",
"upload_ready": true
}
]
}Search locally installed skills before deciding whether to handle a task yourself or delegate.
search_skills(query="docker container monitoring")| Parameter | Required | Default | Description |
|---|---|---|---|
query | yes | — | Search query (natural language or keywords) |
limit | no | 20 | Max results |
Use search_skills for local discovery. If you need cloud results, use cloud_browse_skills so you can inspect packages and choose the skill explicitly.
Use this single stepwise tool for LLM-guided cloud package/skill selection. Continue calling the same tool with the returned next_actions[].action.
Recommended flow:
cloud_browse_skills(
action="search_skills",
query="browser login automation",
limit=5
)Inspect results[]: each item has cloud_skill_id, title, summary, package_id, and package_path.
Use package discovery only when you need package outlines before choosing a skill:
cloud_browse_skills(
action="recall",
query="browser login automation",
limit=5
)
cloud_browse_skills(
action="pull_projection",
search_id="<search_id>",
package_ids=["<package_id>"]
)Inspect pulls[].packages[], pulls[].skills[], projection_hash, and root_package_path. This is JSON projection, not the real zip files.
If you need concrete skill ranking inside one package, use the scoped skill-first search:
cloud_browse_skills(
action="search_skills",
package_id="<package_id>",
query="browser login automation"
)Before import, optionally inspect exact metadata:
cloud_browse_skills(action="fetch_skill_detail", cloud_skill_id="<cloud_skill_id>")Choose or create the local taxonomy path:
cloud_browse_skills(
action="local_placement",
query="browser login automation"
)
cloud_browse_skills(
action="local_placement",
local_category_path="technology/computing/browser-automation"
)Inspect existing_path_candidates, new_child_path_examples, and
local_category_path_policy. You may choose an existing path or create a nearby
new child path. For DERIVED/CAPTURED suggestions, put the selected path in
local_category_path.
Import the exact chosen cloud skill with the selected local path:
cloud_browse_skills(
action="import_skill",
cloud_skill_id="<cloud_skill_id>",
local_category_path="technology/computing/browser-automation/login"
)Choose local_category_path as a local package taxonomy path. It uses the same
classification style as cloud package paths, but is stored independently. It can
start from a cloud-like path and diverge with finer local child paths.
If the package outline or bundled artifacts are needed, import the package bundle explicitly:
cloud_browse_skills(action="import_package_bundle", package_id="<package_id>")Do not use package bundle import as the default search step. Use it only after a package has been selected and you need package outline files or bundled artifacts.
Run a manual FIX job for a broken skill through OpenSpace evolution. The tool first creates a TriggerJob, then asks OpenSpace to drain that exact job through the evolution engine. It never directly edits the skill.
fix_skill(
skill_dir="/path/to/skills/weather-api",
direction="The upstream endpoint path changed; update all URLs and add the new 'units' parameter"
)| Parameter | Required | Description |
|---|---|---|
skill_dir | yes | Path to skill directory (must contain SKILL.md) |
direction | yes | What's broken and how to fix — be specific |
Only treat the skill as repaired when status is fixed. If the result is accepted_audit_only, rejected, or failed, do not call upload_skill automatically; report the job/action IDs and reason to the user.
Upload a trusted skill to the cloud community. Public and private uploads both require a matching trusted record in the local SkillStore; provisional and unknown skills remain local. For committed evolved skills, lineage metadata is pre-saved; provide skill_dir and visibility. For non-fix uploads without pre-saved placement, use upload_skill as a step-by-step cloud package picker before uploading. The cloud path is separate from the local local_category_path.
Interactive cloud placement flow:
upload_skill(skill_dir=...) without cloud_package_path; inspect domain_index.sub_domain_nodes and interaction_flow.upload_skill(skill_dir=..., cloud_sub_domain_package_id=...); inspect one bounded subtree.subtree.selectable_regular_packages[].package_path, or create one new child path by appending one segment under subtree.creatable_parent_packages[].package_path.upload_skill(skill_dir=..., visibility=..., cloud_package_path=...); the tool resolves the path to confirmed UUID placement, saves .upload_meta.json, revalidates, then uploads.New cloud package paths are allowed, but only as one new regular package segment under an eligible parent. Do not upload directly to domain/sub-domain paths, and do not try to create multiple missing segments in one upload.
upload_skill(
skill_dir="/path/to/skills/weather-api",
visibility="private",
cloud_package_path="Technology/Computing/API clients"
)| Parameter | Required | Default | Description |
|---|---|---|---|
skill_dir | yes | — | Path to skill directory (must contain SKILL.md) |
visibility | no | "private" | "public" or "private" |
cloud_package_path | for non-fix uploads without saved placement | auto | Agent-selected existing regular package path, or one new child regular package segment under an eligible parent |
cloud_sub_domain_package_id | no | — | Browse one upload subtree before selecting/creating cloud_package_path |
cloud_package_query | no | — | Filter cloud package picker results |
cloud_package_path_prefix | no | — | Expand/filter one cloud path prefix |
cloud_package_limit | no | 12 | Maximum picker rows returned |
origin | no | auto | How the skill was created |
parent_local_skill_ids | no | auto | Local parent skill IDs; OpenSpace resolves cloud parent IDs before upload |
| Situation | Action |
|---|---|
| Skill is provisional or missing from SkillStore | Keep it local; use it successfully until it becomes trusted |
| Skill was originally from the cloud | Upload as "private" unless the user explicitly asks to share the improvement |
| Trusted fix/evolution is generally useful | Upload as "private" during broader testing; use "public" only with explicit sharing intent |
| Fix/evolution is project-specific | Upload as "private", or skip |
| User says to share | Upload with the visibility the user wants |
execute_task may take minutes — this is expected for multi-step tasks.execute_task times out, first check the host's MCP timeout settings. Changing from stdio to HTTP (sse or streamable-http) does not remove host-side per-call time limits.upload_skill requires a cloud API key; if it fails, the evolved skill is still saved locally.SKILL_NOT_TRUSTED, SKILL_TRUST_UNKNOWN, and SKILL_RECORD_PATH_MISMATCH stop locally before cloud package browsing or upload.© HKUDS, MIT. 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 1 other file in openspace/host_skills/delegate-task of HKUDS/OpenSpace.
Open the folder on GitHubat commit 3827781
Delegate Task 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 |
|---|---|---|---|---|---|---|
| Delegate Task this skillHKUDS/OpenSpace | 7.7k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Isolated Linux Agent Workspaceagent-sh/agent-workspace-linux | 185 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Windows CLIsbroenne/mcp-windows | 105 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Amazon Workspaces Agent Accessaws/agent-toolkit-for-aws | 2.8k | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| No Previewsflornkm/personal-site | 149 | — | ~436 | Automated safety check: Pass | None | |
| Linux Desktop Controlagent-sh/computer-use-linux | 661 | — | ~2.7k | Automated safety check: Pass | MIT |
agent-sh/agent-workspace-linux
Drives a hidden, agent-owned Linux desktop and browser over MCP for GUI testing and web automation without touching the user's real desktop.
sbroenne/mcp-windows
Guidance for driving Windows desktop automation from the wincli command-line tool - the token-efficient entry point that mirrors the Windows MCP server.
aws/agent-toolkit-for-aws
Connects AI agents to remote Windows desktop applications on Amazon WorkSpaces Applications (AppStream 2.0) through the managed Agent Access MCP server, and guides reliable desktop automation.
flornkm/personal-site
ALWAYS ACTIVE. An agent skill from flornkm/personal-site.
agent-sh/computer-use-linux
Lets an agent observe and operate a local Linux desktop through the computer-use-linux MCP server or Pi tools: accessibility trees, screenshots, windows and input.
antibrow/anti-detect-browser-skills
Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so…
HKUDS/OpenSpace
Walks through producing a master audio track plus stems in Python, from checking a reference file and timing sections by BPM to effects, a zip archive and final verification.
HKUDS/OpenSpace
Handle cascading data retrieval tool failures by falling back to embedded knowledge generation
HKUDS/OpenSpace
Gives an agent a workaround when its code-execution sandbox keeps failing: save the Python script to a file and run it through the shell instead.
HKUDS/OpenSpace
A recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output.
HKUDS/OpenSpace
Fallback ladder for failed sandboxed code runs, plus the habit of fixing the working directory first so generated files land in the right place.
HKUDS/OpenSpace
Fallback workflow for executing Python code when executecodesandbox fails repeatedly
Categories
Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Delegate Task is an agent skill from HKUDS/OpenSpace. Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library.
Delegate Task fits situations like: tasks that involve MCP servers; tasks that involve Desktop control.
Run `npx skills add HKUDS/OpenSpace --skill delegate-task -a claude-code`. Or copy the skill folder (openspace/host_skills/delegate-task in HKUDS/OpenSpace) into .claude/skills/delegate-task in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HKUDS/OpenSpace --skill delegate-task -a codex`. Or copy the skill folder (openspace/host_skills/delegate-task in HKUDS/OpenSpace) into .agents/skills/delegate-task 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 HKUDS/OpenSpace --skill delegate-task -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/delegate-task, .gemini/skills/delegate-task, .github/skills/delegate-task and .opencode/skills/delegate-task in your project.
SKILL.md names no scripts, command-line tools or credentials: Delegate Task is instructions for the agent only. Our summary lists: Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Delegate Task is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 11k 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 Delegate Task: Isolated Linux Agent Workspace (agent-sh/agent-workspace-linux, 185 stars), Windows CLI (sbroenne/mcp-windows, 105 stars), Amazon Workspaces Agent Access (aws/agent-toolkit-for-aws, 2.8k stars) and No Previews (flornkm/personal-site, 149 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,743 GitHub stars. The repository holds 199 skills in this directory. The repository was last updated on August 12, 2026.
Source: HKUDS/OpenSpace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.