Building

Workspaces: the studio walls.

A workspace is an isolated container for a body of work: its agents, skills, tools, MCP servers, reference library, and tasks. Isolation is the point — agents in your songwriting studio can't see the tools or documents of your consulting studio, so each workspace stays coherent, safe, and portable.

Defined in one file

Every workspace is a folder under workspaces/ with a WORKSPACE.md — name and description in YAML frontmatter, workspace-wide context in the body. That context is loaded into every agent's prompt, making it the right home for "how we work here" knowledge that belongs to the studio rather than any one agent.

workspaces/song-studio/
  WORKSPACE.md            # identity + shared context
  documents/              # workspace reference library
  goto_agents/            # agents live here
    co-writer/AGENT.md
    editor/AGENT.md
  skills/                 # workspace skills
  TASK_default.md         # workspace tasks

The Explorer

The workspace detail page is a three-pane explorer: the full tree of agents, skills, tools, MCP servers, tasks, and documents on the left; viewer/editor in the middle; contextual panels on the right. Everything in the tree is a file you can open — the explorer is a window onto the folder, not a separate database.

Inheritance and overrides

Capabilities resolve down a scope chain: global → workspace → agent. A workspace inherits global defaults; an agent inherits workspace capabilities; either level can override or disable what it inherits (an agent-level task with the same id replaces the workspace's; a disabled entry blocks fallback). The explorer marks inherited and overridden items so you can always see where a behavior actually comes from.

Portability tracking

Because workspaces are meant to travel, GoTo Agents tracks when a workspace quietly depends on global capabilities it doesn't own. Those show up as unresolved dependencies until you either bring the capability into the workspace or explicitly acknowledge the global dependency (required_globals). Share the folder and the receiver knows exactly what it expects from its environment.

Where it lives

  • core/workspace_manager.py — workspace lifecycle and config.
  • core/capability_scope.py — the scope chain and portability reports.
  • core/tree_builders.py / tree_inheritance.py — the explorer tree and inheritance markers.