mcpbeat Sign in

Yao Workspace Agent Skill

Workspace file I/O expert. ALWAYS invoke this skill when you need to list workspaces, read or write files in a workspace on a remote node, or browse workspace directories. Use this for cross-node file operations — for local sandbox files, use standard filesystem tools instead.

942 tokens
context cost
SKILL.md, read when the skill is used
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
7 694
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/YaoApp/yao --skill yao-workspace

The instruction itself

8 sections, as written by the author

Workspace Tools

Five tools for managing workspaces and file I/O, called via bash.

workspace_list

List workspaces with summary info. Use workspace_get for full details.

tai tool workspace_list '{}'
tai tool workspace_list '{"node": "tai-node-1"}'

| Parameter | Type | Required | Description |

|-----------|--------|----------|--------------------------|

| node | string | no | Filter by Tai node ID |

workspace_get

Get full workspace details: name, owner, node, labels, timestamps.

tai tool workspace_get '{"id": "ws-abc123"}'

| Parameter | Type | Required | Description |

|-----------|--------|----------|---------------|

| id | string | yes | Workspace ID |

workspace_file_list

List files and directories in a workspace path.

tai tool workspace_file_list '{"id": "ws-abc123"}'
tai tool workspace_file_list '{"id": "ws-abc123", "path": "src/components"}'

| Parameter | Type | Required | Description |

|-----------|--------|----------|--------------------------------|

| id | string | yes | Workspace ID |

| path | string | no | Directory path (default ".") |

workspace_file_read

Read file content from workspace. Returns text (UTF-8) or base64 encoded.

tai tool workspace_file_read '{"id": "ws-abc123", "path": "README.md"}'
tai tool workspace_file_read '{"id": "ws-abc123", "path": "image.png", "encoding": "base64"}'

| Parameter | Type | Required | Description |

|------------|--------|----------|------------------------------------------|

| id | string | yes | Workspace ID |

| path | string | yes | File path relative to workspace root |

| encoding | string | no | "text" (default) or "base64" |

workspace_file_write

Write content to a file in workspace. For binary files, use base64 encoding.

tai tool workspace_file_write '{"id": "ws-abc123", "path": "output.txt", "content": "Hello World"}'
tai tool workspace_file_write '{"id": "ws-abc123", "path": "data.bin", "content": "base64data...", "encoding": "base64"}'

| Parameter | Type | Required | Description |

|------------|--------|----------|------------------------------------------|

| id | string | yes | Workspace ID |

| path | string | yes | File path relative to workspace root |

| content | string | yes | File content (text or base64 encoded) |

| encoding | string | no | "text" (default) or "base64" |

Typical Workflow

  • workspace_list — discover available workspaces
  • workspace_get — get full details (node, labels)
  • workspace_file_list — browse directory structure
  • workspace_file_read — read specific files
  • workspace_file_write — write output files

Guidelines

  • Use workspace_list for discovery, workspace_get for details (list returns summaries only)
  • For large files (>1MB), prefer local filesystem operations if the workspace is mounted in the sandbox
  • Use encoding: "base64" for binary files (images, archives, etc.)
  • File paths are relative to the workspace root — do not use absolute paths
  • The current sandbox workspace ID is available via $CTX_WORKSPACE_ID
  • All output is JSON

How to use it

Copy the folder

Take yaoapp/yao-workspace from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.