forked from Selig/openclaw-skill
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.
93 lines
12 KiB
JSON
Executable File
93 lines
12 KiB
JSON
Executable File
{
|
||
"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 per‑agent 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": []
|
||
} |