Files
Selig 4c966a3ad2 Initial commit: OpenClaw Skill Collection
6 custom skills (assign-task, dispatch-webhook, daily-briefing,
task-capture, qmd-brain, tts-voice) with technical documentation.
Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
2026-03-13 10:58:30 +08:00

93 lines
12 KiB
JSON
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "Agent workspace",
"content": "The workspace is the agent's home. It is the only working directory used for\nfile tools and for workspace context. Keep it private and treat it as memory.\n\nThis is separate from `~/.openclaw/`, which stores config, credentials, and\nsessions.\n\n**Important:** the workspace is the **default cwd**, not a hard sandbox. Tools\nresolve relative paths against the workspace, but absolute paths can still reach\nelsewhere on the host unless sandboxing is enabled. If you need isolation, use\n[`agents.defaults.sandbox`](/gateway/sandboxing) (and/or peragent sandbox config).\nWhen sandboxing is enabled and `workspaceAccess` is not `\"rw\"`, tools operate\ninside a sandbox workspace under `~/.openclaw/sandboxes`, not your host workspace.\n\n* Default: `~/.openclaw/workspace`\n* If `OPENCLAW_PROFILE` is set and not `\"default\"`, the default becomes\n `~/.openclaw/workspace-<profile>`.\n* Override in `~/.openclaw/openclaw.json`:\n\n`openclaw onboard`, `openclaw configure`, or `openclaw setup` will create the\nworkspace and seed the bootstrap files if they are missing.\n\nIf you already manage the workspace files yourself, you can disable bootstrap\nfile creation:\n\n## Extra workspace folders\n\nOlder installs may have created `~/openclaw`. Keeping multiple workspace\ndirectories around can cause confusing auth or state drift, because only one\nworkspace is active at a time.\n\n**Recommendation:** keep a single active workspace. If you no longer use the\nextra folders, archive or move them to Trash (for example `trash ~/openclaw`).\nIf you intentionally keep multiple workspaces, make sure\n`agents.defaults.workspace` points to the active one.\n\n`openclaw doctor` warns when it detects extra workspace directories.\n\n## Workspace file map (what each file means)\n\nThese are the standard files OpenClaw expects inside the workspace:\n\n* `AGENTS.md`\n * Operating instructions for the agent and how it should use memory.\n * Loaded at the start of every session.\n * Good place for rules, priorities, and \"how to behave\" details.\n\n* `SOUL.md`\n * Persona, tone, and boundaries.\n * Loaded every session.\n\n* `USER.md`\n * Who the user is and how to address them.\n * Loaded every session.\n\n* `IDENTITY.md`\n * The agent's name, vibe, and emoji.\n * Created/updated during the bootstrap ritual.\n\n* `TOOLS.md`\n * Notes about your local tools and conventions.\n * Does not control tool availability; it is only guidance.\n\n* `HEARTBEAT.md`\n * Optional tiny checklist for heartbeat runs.\n * Keep it short to avoid token burn.\n\n* `BOOT.md`\n * Optional startup checklist executed on gateway restart when internal hooks are enabled.\n * Keep it short; use the message tool for outbound sends.\n\n* `BOOTSTRAP.md`\n * One-time first-run ritual.\n * Only created for a brand-new workspace.\n * Delete it after the ritual is complete.\n\n* `memory/YYYY-MM-DD.md`\n * Daily memory log (one file per day).\n * Recommended to read today + yesterday on session start.\n\n* `MEMORY.md` (optional)\n * Curated long-term memory.\n * Only load in the main, private session (not shared/group contexts).\n\nSee [Memory](/concepts/memory) for the workflow and automatic memory flush.\n\n* `skills/` (optional)\n * Workspace-specific skills.\n * Overrides managed/bundled skills when names collide.\n\n* `canvas/` (optional)\n * Canvas UI files for node displays (for example `canvas/index.html`).\n\nIf any bootstrap file is missing, OpenClaw injects a \"missing file\" marker into\nthe session and continues. Large bootstrap files are truncated when injected;\nadjust the limit with `agents.defaults.bootstrapMaxChars` (default: 20000).\n`openclaw setup` can recreate missing defaults without overwriting existing\nfiles.\n\n## What is NOT in the workspace\n\nThese live under `~/.openclaw/` and should NOT be committed to the workspace repo:\n\n* `~/.openclaw/openclaw.json` (config)\n* `~/.openclaw/credentials/` (OAuth tokens, API keys)\n* `~/.openclaw/agents/<agentId>/sessions/` (session transcripts + metadata)\n* `~/.openclaw/skills/` (managed skills)\n\nIf you need to migrate sessions or config, copy them separately and keep them\nout of version control.\n\n## Git backup (recommended, private)\n\nTreat the workspace as private memory. Put it in a **private** git repo so it is\nbacked up and recoverable.\n\nRun these steps on the machine where the Gateway runs (that is where the\nworkspace lives).\n\n### 1) Initialize the repo\n\nIf git is installed, brand-new workspaces are initialized automatically. If this\nworkspace is not already a repo, run:\n\n### 2) Add a private remote (beginner-friendly options)\n\nOption A: GitHub web UI\n\n1. Create a new **private** repository on GitHub.\n2. Do not initialize with a README (avoids merge conflicts).\n3. Copy the HTTPS remote URL.\n4. Add the remote and push:\n\nOption B: GitHub CLI (`gh`)\n\nOption C: GitLab web UI\n\n1. Create a new **private** repository on GitLab.\n2. Do not initialize with a README (avoids merge conflicts).\n3. Copy the HTTPS remote URL.\n4. Add the remote and push:\n\n### 3) Ongoing updates\n\n## Do not commit secrets\n\nEven in a private repo, avoid storing secrets in the workspace:\n\n* API keys, OAuth tokens, passwords, or private credentials.\n* Anything under `~/.openclaw/`.\n* Raw dumps of chats or sensitive attachments.\n\nIf you must store sensitive references, use placeholders and keep the real\nsecret elsewhere (password manager, environment variables, or `~/.openclaw/`).\n\nSuggested `.gitignore` starter:\n\n## Moving the workspace to a new machine\n\n1. Clone the repo to the desired path (default `~/.openclaw/workspace`).\n2. Set `agents.defaults.workspace` to that path in `~/.openclaw/openclaw.json`.\n3. Run `openclaw setup --workspace <path>` to seed any missing files.\n4. If you need sessions, copy `~/.openclaw/agents/<agentId>/sessions/` from the\n old machine separately.\n\n* Multi-agent routing can use different workspaces per agent. See\n [Channel routing](/concepts/channel-routing) for routing configuration.\n* If `agents.defaults.sandbox` is enabled, non-main sessions can use per-session sandbox\n workspaces under `agents.defaults.sandbox.workspaceRoot`.",
"code_samples": [
{
"code": "`openclaw onboard`, `openclaw configure`, or `openclaw setup` will create the\nworkspace and seed the bootstrap files if they are missing.\n\nIf you already manage the workspace files yourself, you can disable bootstrap\nfile creation:",
"language": "unknown"
},
{
"code": "## Extra workspace folders\n\nOlder installs may have created `~/openclaw`. Keeping multiple workspace\ndirectories around can cause confusing auth or state drift, because only one\nworkspace is active at a time.\n\n**Recommendation:** keep a single active workspace. If you no longer use the\nextra folders, archive or move them to Trash (for example `trash ~/openclaw`).\nIf you intentionally keep multiple workspaces, make sure\n`agents.defaults.workspace` points to the active one.\n\n`openclaw doctor` warns when it detects extra workspace directories.\n\n## Workspace file map (what each file means)\n\nThese are the standard files OpenClaw expects inside the workspace:\n\n* `AGENTS.md`\n * Operating instructions for the agent and how it should use memory.\n * Loaded at the start of every session.\n * Good place for rules, priorities, and \"how to behave\" details.\n\n* `SOUL.md`\n * Persona, tone, and boundaries.\n * Loaded every session.\n\n* `USER.md`\n * Who the user is and how to address them.\n * Loaded every session.\n\n* `IDENTITY.md`\n * The agent's name, vibe, and emoji.\n * Created/updated during the bootstrap ritual.\n\n* `TOOLS.md`\n * Notes about your local tools and conventions.\n * Does not control tool availability; it is only guidance.\n\n* `HEARTBEAT.md`\n * Optional tiny checklist for heartbeat runs.\n * Keep it short to avoid token burn.\n\n* `BOOT.md`\n * Optional startup checklist executed on gateway restart when internal hooks are enabled.\n * Keep it short; use the message tool for outbound sends.\n\n* `BOOTSTRAP.md`\n * One-time first-run ritual.\n * Only created for a brand-new workspace.\n * Delete it after the ritual is complete.\n\n* `memory/YYYY-MM-DD.md`\n * Daily memory log (one file per day).\n * Recommended to read today + yesterday on session start.\n\n* `MEMORY.md` (optional)\n * Curated long-term memory.\n * Only load in the main, private session (not shared/group contexts).\n\nSee [Memory](/concepts/memory) for the workflow and automatic memory flush.\n\n* `skills/` (optional)\n * Workspace-specific skills.\n * Overrides managed/bundled skills when names collide.\n\n* `canvas/` (optional)\n * Canvas UI files for node displays (for example `canvas/index.html`).\n\nIf any bootstrap file is missing, OpenClaw injects a \"missing file\" marker into\nthe session and continues. Large bootstrap files are truncated when injected;\nadjust the limit with `agents.defaults.bootstrapMaxChars` (default: 20000).\n`openclaw setup` can recreate missing defaults without overwriting existing\nfiles.\n\n## What is NOT in the workspace\n\nThese live under `~/.openclaw/` and should NOT be committed to the workspace repo:\n\n* `~/.openclaw/openclaw.json` (config)\n* `~/.openclaw/credentials/` (OAuth tokens, API keys)\n* `~/.openclaw/agents/<agentId>/sessions/` (session transcripts + metadata)\n* `~/.openclaw/skills/` (managed skills)\n\nIf you need to migrate sessions or config, copy them separately and keep them\nout of version control.\n\n## Git backup (recommended, private)\n\nTreat the workspace as private memory. Put it in a **private** git repo so it is\nbacked up and recoverable.\n\nRun these steps on the machine where the Gateway runs (that is where the\nworkspace lives).\n\n### 1) Initialize the repo\n\nIf git is installed, brand-new workspaces are initialized automatically. If this\nworkspace is not already a repo, run:",
"language": "unknown"
},
{
"code": "### 2) Add a private remote (beginner-friendly options)\n\nOption A: GitHub web UI\n\n1. Create a new **private** repository on GitHub.\n2. Do not initialize with a README (avoids merge conflicts).\n3. Copy the HTTPS remote URL.\n4. Add the remote and push:",
"language": "unknown"
},
{
"code": "Option B: GitHub CLI (`gh`)",
"language": "unknown"
},
{
"code": "Option C: GitLab web UI\n\n1. Create a new **private** repository on GitLab.\n2. Do not initialize with a README (avoids merge conflicts).\n3. Copy the HTTPS remote URL.\n4. Add the remote and push:",
"language": "unknown"
},
{
"code": "### 3) Ongoing updates",
"language": "unknown"
},
{
"code": "## Do not commit secrets\n\nEven in a private repo, avoid storing secrets in the workspace:\n\n* API keys, OAuth tokens, passwords, or private credentials.\n* Anything under `~/.openclaw/`.\n* Raw dumps of chats or sensitive attachments.\n\nIf you must store sensitive references, use placeholders and keep the real\nsecret elsewhere (password manager, environment variables, or `~/.openclaw/`).\n\nSuggested `.gitignore` starter:",
"language": "unknown"
}
],
"headings": [
{
"level": "h2",
"text": "Default location",
"id": "default-location"
},
{
"level": "h2",
"text": "Extra workspace folders",
"id": "extra-workspace-folders"
},
{
"level": "h2",
"text": "Workspace file map (what each file means)",
"id": "workspace-file-map-(what-each-file-means)"
},
{
"level": "h2",
"text": "What is NOT in the workspace",
"id": "what-is-not-in-the-workspace"
},
{
"level": "h2",
"text": "Git backup (recommended, private)",
"id": "git-backup-(recommended,-private)"
},
{
"level": "h3",
"text": "1) Initialize the repo",
"id": "1)-initialize-the-repo"
},
{
"level": "h3",
"text": "2) Add a private remote (beginner-friendly options)",
"id": "2)-add-a-private-remote-(beginner-friendly-options)"
},
{
"level": "h3",
"text": "3) Ongoing updates",
"id": "3)-ongoing-updates"
},
{
"level": "h2",
"text": "Do not commit secrets",
"id": "do-not-commit-secrets"
},
{
"level": "h2",
"text": "Moving the workspace to a new machine",
"id": "moving-the-workspace-to-a-new-machine"
},
{
"level": "h2",
"text": "Advanced notes",
"id": "advanced-notes"
}
],
"url": "llms-txt#agent-workspace",
"links": []
}