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.
npx skills add https://github.com/YaoApp/yao --skill yao-workspace
Five tools for managing workspaces and file I/O, called via bash.
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 |
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 |
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 ".") |
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" |
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" |
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 filesworkspace_list for discovery, workspace_get for details (list returns summaries only)encoding: "base64" for binary files (images, archives, etc.)$CTX_WORKSPACE_IDTake yaoapp/yao-workspace from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.