OpenParable
Skip to content
← Back to skills

Yao Workspace

Documents
yao-workspace

Yao Workspace is an Agent Skill for documents published in the YaoApp/yao repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

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.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/YaoApp/yao/blob/HEAD/tools/skills/yao-workspace/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/yao-workspace, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

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"}'
ParameterTypeRequiredDescription
nodestringnoFilter by Tai node ID

workspace_get

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

tai tool workspace_get '{"id": "ws-abc123"}'
ParameterTypeRequiredDescription
idstringyesWorkspace 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"}'
ParameterTypeRequiredDescription
idstringyesWorkspace ID
pathstringnoDirectory 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"}'
ParameterTypeRequiredDescription
idstringyesWorkspace ID
pathstringyesFile path relative to workspace root
encodingstringno"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"}'
ParameterTypeRequiredDescription
idstringyesWorkspace ID
pathstringyesFile path relative to workspace root
contentstringyesFile content (text or base64 encoded)
encodingstringno"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