yao-workspace
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.
Install
npx skills add https://github.com/YaoApp/yao/tree/main/tools/skills/yao-workspace
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install yaoapp-yao@llmmart
git clone https://github.com/YaoApp/yao.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole yaoapp/yao collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
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 workspacesworkspace_get— get full details (node, labels)workspace_file_list— browse directory structureworkspace_file_read— read specific filesworkspace_file_write— write output files
Guidelines
- Use
workspace_listfor discovery,workspace_getfor 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
Files (yao)
-
SKILL.md 3.7 KB
--- name: yao-workspace description: 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. --- # 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. ```bash 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. ```bash 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. ```bash 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. ```bash 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. ```bash 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 1. `workspace_list` — discover available workspaces 2. `workspace_get` — get full details (node, labels) 3. `workspace_file_list` — browse directory structure 4. `workspace_file_read` — read specific files 5. `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
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.