{
  "schemaVersion": "1.0",
  "item": {
    "slug": "multi-workplace",
    "name": "Multi Workplace",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/dickwu/multi-workplace",
    "canonicalUrl": "https://clawhub.ai/dickwu/multi-workplace",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/multi-workplace",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multi-workplace",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "assets/templates/config.json",
      "assets/templates/deploy/dev.md",
      "assets/templates/deploy/main.md",
      "assets/templates/deploy/pre.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "multi-workplace",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T15:43:47.786Z",
      "expiresAt": "2026-05-09T15:43:47.786Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multi-workplace",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multi-workplace",
        "contentDisposition": "attachment; filename=\"multi-workplace-0.4.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "multi-workplace"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/multi-workplace"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/multi-workplace",
    "agentPageUrl": "https://openagent3.xyz/skills/multi-workplace/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multi-workplace/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multi-workplace/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Workplace Skill",
        "body": "Manage multiple project workplaces with per-workspace agents, isolated memory, and Swarm-style agent orchestration."
      },
      {
        "title": "/workplace Command (Telegram / Slash)",
        "body": "Hierarchical navigation with parent → child drill-down.\n\n/workplace or /workplace list → Show top-level view: parent workspaces and standalone workplaces as buttons. Parents show (N) child count. Current workspace marked with ✓.\nClick a parent button → Drill into children. Shows child buttons + \"Use parent\" + \"← Back\".\n/workplace <name> → If standalone or child, switch directly. If parent with children, show drill-in.\n/workplace parent:child → Direct switch using colon syntax (e.g. log-stream:logstream).\n/workplace status → Current workspace card with parent, linked, agents, deploy envs.\n/workplace agents → Agent list with start/stop buttons."
      },
      {
        "title": "Colon Syntax",
        "body": "/workplace log-stream:logstream resolves parent by name, then finds child under that parent. Supports quick switching without navigating menus."
      },
      {
        "title": "Context Switching",
        "body": "When the user switches workplaces (via button click, name, or colon syntax):\n\nUpdate ~/.openclaw/workspace/.workplaces/current.json with the selected UUID and path\nUpdate lastActive in registry.json\nLoad the new workspace's .workplace/config.json for context\nSend confirmation: name, path, parent (if any), linked workplaces, agent list\nSubsequent messages in the session should be aware of the active workspace context\n\nRead current.json at the start of any workplace operation to know which workspace is active.\n\nSee telegram-ui.md for full button layouts, callback routing, and platform fallbacks."
      },
      {
        "title": "Quick Reference",
        "body": "CommandActionworkplace init [path]Initialize workplace (scan existing or set up new)workplace listList all workplaces (inline buttons to switch)workplace switch <name|uuid>Switch active workplaceworkplace scan [path]Discover .git workplaces in subdirectoriesworkplace link <path>Link a related workplaceworkplace unlink <path|uuid>Remove a linked workplaceworkplace statusCurrent workplace info + agent statusworkplace agentsList agents in current workplaceworkplace agent start <name>Start an agent (runs as sub-agent)workplace agent stop <name>Stop a running agentworkplace kernel startStart persistent kernel agentworkplace kernel stopStop kernel agentworkplace export [zip|json]Export workplace configworkplace import <file>Import workplace from exportworkplace delete <name|uuid>Remove from registryworkplace deploy <env>Show/run deploy instructionsworkplace sync <ide>Generate context for cursor/claude/opencode/all"
      },
      {
        "title": "Registry",
        "body": "Central registry at ~/.openclaw/workspace/.workplaces/:\n\nregistry.json — all known workplaces with UUID, path, hostname, links\ncurrent.json — currently active workplace"
      },
      {
        "title": "Per-Workplace Structure",
        "body": "Each project gets a .workplace/ directory:\n\n.workplace/\n├── config.json          # UUID, name, path, hostname, linked, parent\n├── agents/*.md          # Agent role definitions (kernel.md always present)\n├── memory/              # Isolated daily logs (YYYY-MM-DD.md)\n├── skills/              # Workplace-specific skills (user-managed via git)\n├── chat.md              # Inter-agent communication\n├── structure.json       # Auto-scanned file tree\n├── full-tree.md         # Full tree with parent + linked workplaces (by hostname)\n├── process-status.json  # Agent runtime states and errors\n└── deploy/              # Deployment docs: dev.md, main.md, pre.md"
      },
      {
        "title": "Workplace Detection",
        "body": "Any directory with .git/ is a potential workplace\nSubmodules included as nested workplaces\nParent workplace auto-detected from parent directories\nManual linking via workplace link"
      },
      {
        "title": "Initialize a Workplace",
        "body": "Run scripts/init_workplace.sh <path> [--name <name>] [--desc <desc>]\nFor existing projects: scan file structure, read *.md files, analyze project type, suggest agents\nFor empty folders: ask project name, description, language/framework, roles needed\nCreates .workplace/ structure, registers in central registry, sets as current\nSee init-guide.md for full flow details"
      },
      {
        "title": "Agent System",
        "body": "Agents are defined as .md files in .workplace/agents/ with YAML frontmatter (name, role, triggers, handoff_to). Run agents via sessions_spawn with system prompts built from their definitions + workplace context.\n\nSee agent-system.md for agent creation, Swarm handoff, and runtime details"
      },
      {
        "title": "Inter-Agent Communication",
        "body": "Agents communicate via chat.md using a structured message protocol. The Rust file-watcher server monitors changes and outputs parsed messages as JSON lines.\n\nSee chat-protocol.md for message format spec"
      },
      {
        "title": "Rust File-Watcher Server",
        "body": "Binary at assets/bin/workplace-server-{os}-{arch}. Build from source with scripts/build.sh.\n\n# Start server for a workplace\nworkplace-server /path/to/project\n\n# Server outputs JSON lines to stdout for each new chat.md message\n{\"timestamp\":\"...\",\"sender\":\"coder\",\"recipient\":\"reviewer\",\"broadcast\":[],\"message\":\"...\",\"line_number\":1}"
      },
      {
        "title": "Export/Import",
        "body": "ZIP: Full .workplace/ folder (memory excluded by default)\nJSON: Config + agent definitions + deploy docs as portable manifest\nImport generates a new UUID to avoid collisions"
      },
      {
        "title": "Chat UI (Telegram / Discord)",
        "body": "On platforms with inline buttons, workplace list shows a clickable switcher. workplace agents shows start/stop buttons per agent. workplace deploy shows environment buttons.\n\nSee telegram-ui.md for message formats, button components, and callback handling.\n\nFallback: numbered text lists on platforms without button support (WhatsApp, Signal)."
      },
      {
        "title": "IDE Integration",
        "body": "Sync workplace context to external coding tools:\n\nCursor → .cursor/rules/workplace.mdc (MDC with frontmatter)\nClaude Code → CLAUDE.md (markdown, marker-based updates)\nOpenCode → opencode.jsonc instructions field\n\nRun workplace sync all to update all detected IDEs, or target one: workplace sync cursor.\n\nSee ide-sync.md for implementation details."
      },
      {
        "title": "Scripts",
        "body": "ScriptPurposescripts/init_workplace.shInitialize .workplace/ in a directoryscripts/scan_workplaces.shFind .git workplaces under a pathscripts/build.shBuild Rust server for current platform"
      },
      {
        "title": "Supermemory Integration",
        "body": "Each workplace uses its UUID as containerTag for supermemory operations:\n\nKernel agent saves structure summaries and project facts\nAll workplace memories are isolated by containerTag\nEnables cross-session project state awareness"
      },
      {
        "title": "Command Details",
        "body": "See commands.md for full command reference with examples."
      }
    ],
    "body": "Workplace Skill\n\nManage multiple project workplaces with per-workspace agents, isolated memory, and Swarm-style agent orchestration.\n\n/workplace Command (Telegram / Slash)\n\nHierarchical navigation with parent → child drill-down.\n\n/workplace or /workplace list → Show top-level view: parent workspaces and standalone workplaces as buttons. Parents show (N) child count. Current workspace marked with ✓.\nClick a parent button → Drill into children. Shows child buttons + \"Use parent\" + \"← Back\".\n/workplace <name> → If standalone or child, switch directly. If parent with children, show drill-in.\n/workplace parent:child → Direct switch using colon syntax (e.g. log-stream:logstream).\n/workplace status → Current workspace card with parent, linked, agents, deploy envs.\n/workplace agents → Agent list with start/stop buttons.\nColon Syntax\n\n/workplace log-stream:logstream resolves parent by name, then finds child under that parent. Supports quick switching without navigating menus.\n\nContext Switching\n\nWhen the user switches workplaces (via button click, name, or colon syntax):\n\nUpdate ~/.openclaw/workspace/.workplaces/current.json with the selected UUID and path\nUpdate lastActive in registry.json\nLoad the new workspace's .workplace/config.json for context\nSend confirmation: name, path, parent (if any), linked workplaces, agent list\nSubsequent messages in the session should be aware of the active workspace context\n\nRead current.json at the start of any workplace operation to know which workspace is active.\n\nSee telegram-ui.md for full button layouts, callback routing, and platform fallbacks.\n\nQuick Reference\nCommand\tAction\nworkplace init [path]\tInitialize workplace (scan existing or set up new)\nworkplace list\tList all workplaces (inline buttons to switch)\nworkplace switch <name|uuid>\tSwitch active workplace\nworkplace scan [path]\tDiscover .git workplaces in subdirectories\nworkplace link <path>\tLink a related workplace\nworkplace unlink <path|uuid>\tRemove a linked workplace\nworkplace status\tCurrent workplace info + agent status\nworkplace agents\tList agents in current workplace\nworkplace agent start <name>\tStart an agent (runs as sub-agent)\nworkplace agent stop <name>\tStop a running agent\nworkplace kernel start\tStart persistent kernel agent\nworkplace kernel stop\tStop kernel agent\nworkplace export [zip|json]\tExport workplace config\nworkplace import <file>\tImport workplace from export\nworkplace delete <name|uuid>\tRemove from registry\nworkplace deploy <env>\tShow/run deploy instructions\nworkplace sync <ide>\tGenerate context for cursor/claude/opencode/all\nArchitecture\nRegistry\n\nCentral registry at ~/.openclaw/workspace/.workplaces/:\n\nregistry.json — all known workplaces with UUID, path, hostname, links\ncurrent.json — currently active workplace\nPer-Workplace Structure\n\nEach project gets a .workplace/ directory:\n\n.workplace/\n├── config.json          # UUID, name, path, hostname, linked, parent\n├── agents/*.md          # Agent role definitions (kernel.md always present)\n├── memory/              # Isolated daily logs (YYYY-MM-DD.md)\n├── skills/              # Workplace-specific skills (user-managed via git)\n├── chat.md              # Inter-agent communication\n├── structure.json       # Auto-scanned file tree\n├── full-tree.md         # Full tree with parent + linked workplaces (by hostname)\n├── process-status.json  # Agent runtime states and errors\n└── deploy/              # Deployment docs: dev.md, main.md, pre.md\n\nWorkplace Detection\nAny directory with .git/ is a potential workplace\nSubmodules included as nested workplaces\nParent workplace auto-detected from parent directories\nManual linking via workplace link\nWorkflows\nInitialize a Workplace\nRun scripts/init_workplace.sh <path> [--name <name>] [--desc <desc>]\nFor existing projects: scan file structure, read *.md files, analyze project type, suggest agents\nFor empty folders: ask project name, description, language/framework, roles needed\nCreates .workplace/ structure, registers in central registry, sets as current\nSee init-guide.md for full flow details\nAgent System\n\nAgents are defined as .md files in .workplace/agents/ with YAML frontmatter (name, role, triggers, handoff_to). Run agents via sessions_spawn with system prompts built from their definitions + workplace context.\n\nSee agent-system.md for agent creation, Swarm handoff, and runtime details\nInter-Agent Communication\n\nAgents communicate via chat.md using a structured message protocol. The Rust file-watcher server monitors changes and outputs parsed messages as JSON lines.\n\nSee chat-protocol.md for message format spec\nRust File-Watcher Server\n\nBinary at assets/bin/workplace-server-{os}-{arch}. Build from source with scripts/build.sh.\n\n# Start server for a workplace\nworkplace-server /path/to/project\n\n# Server outputs JSON lines to stdout for each new chat.md message\n{\"timestamp\":\"...\",\"sender\":\"coder\",\"recipient\":\"reviewer\",\"broadcast\":[],\"message\":\"...\",\"line_number\":1}\n\nExport/Import\nZIP: Full .workplace/ folder (memory excluded by default)\nJSON: Config + agent definitions + deploy docs as portable manifest\nImport generates a new UUID to avoid collisions\nChat UI (Telegram / Discord)\n\nOn platforms with inline buttons, workplace list shows a clickable switcher. workplace agents shows start/stop buttons per agent. workplace deploy shows environment buttons.\n\nSee telegram-ui.md for message formats, button components, and callback handling.\n\nFallback: numbered text lists on platforms without button support (WhatsApp, Signal).\n\nIDE Integration\n\nSync workplace context to external coding tools:\n\nCursor → .cursor/rules/workplace.mdc (MDC with frontmatter)\nClaude Code → CLAUDE.md (markdown, marker-based updates)\nOpenCode → opencode.jsonc instructions field\n\nRun workplace sync all to update all detected IDEs, or target one: workplace sync cursor.\n\nSee ide-sync.md for implementation details.\n\nScripts\nScript\tPurpose\nscripts/init_workplace.sh\tInitialize .workplace/ in a directory\nscripts/scan_workplaces.sh\tFind .git workplaces under a path\nscripts/build.sh\tBuild Rust server for current platform\nSupermemory Integration\n\nEach workplace uses its UUID as containerTag for supermemory operations:\n\nKernel agent saves structure summaries and project facts\nAll workplace memories are isolated by containerTag\nEnables cross-session project state awareness\nCommand Details\n\nSee commands.md for full command reference with examples."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/dickwu/multi-workplace",
    "publisherUrl": "https://clawhub.ai/dickwu/multi-workplace",
    "owner": "dickwu",
    "version": "0.4.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/multi-workplace",
    "downloadUrl": "https://openagent3.xyz/downloads/multi-workplace",
    "agentUrl": "https://openagent3.xyz/skills/multi-workplace/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multi-workplace/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multi-workplace/agent.md"
  }
}