{
"agent:main:main": {
"sessionId": "78296b8f-7870-41e6-ab45-8d13a1fa8ba2",
"updatedAt": 1773361198471,
"systemSent": true,
"abortedLastRun": false,
"chatType": "direct",
"deliveryContext": {
"channel": "telegram",
"to": "telegram:7377499346",
"accountId": "default"
},
"lastTo": "telegram:7377499346",
"origin": {
"label": "Michael id:7377499346",
"provider": "telegram",
"from": "telegram:7377499346",
"to": "telegram:7377499346",
"surface": "telegram",
"chatType": "direct",
"accountId": "default"
},
"sessionFile": "/root/.clawdbot-susan/agents/main/sessions/78296b8f-7870-41e6-ab45-8d13a1fa8ba2.jsonl",
"compactionCount": 4,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n coding-agent\n Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.\n /usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md\n \n \n gh-issues\n Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]\n /usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md\n \n \n github\n GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\n /usr/lib/node_modules/openclaw/skills/github/SKILL.md\n \n \n healthcheck\n Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).\n /usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md\n \n \n mcporter\n Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\n /usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md\n \n \n openai-image-gen\n Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.\n /usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md\n \n \n openai-whisper\n Local speech-to-text with the Whisper CLI (no API key).\n /usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md\n \n \n openai-whisper-api\n Transcribe audio via OpenAI Audio Transcriptions API (Whisper).\n /usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md\n \n \n skill-creator\n Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.\n /usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md\n \n \n tmux\n Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\n /usr/lib/node_modules/openclaw/skills/tmux/SKILL.md\n \n \n video-frames\n Extract frames or short clips from videos using ffmpeg.\n /usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md\n \n \n weather\n Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.\n /usr/lib/node_modules/openclaw/skills/weather/SKILL.md\n \n",
"skills": [
{
"name": "coding-agent",
"requiredEnv": []
},
{
"name": "gh-issues",
"primaryEnv": "GH_TOKEN",
"requiredEnv": []
},
{
"name": "github",
"requiredEnv": []
},
{
"name": "healthcheck"
},
{
"name": "mcporter",
"requiredEnv": []
},
{
"name": "openai-image-gen",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "openai-whisper",
"requiredEnv": []
},
{
"name": "openai-whisper-api",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "skill-creator"
},
{
"name": "tmux",
"requiredEnv": []
},
{
"name": "video-frames",
"requiredEnv": []
},
{
"name": "weather",
"requiredEnv": []
}
],
"resolvedSkills": [
{
"name": "coding-agent",
"description": "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:\"acp\"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.",
"filePath": "/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/coding-agent",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "gh-issues",
"description": "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]",
"filePath": "/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/gh-issues",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "github",
"description": "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",
"filePath": "/usr/lib/node_modules/openclaw/skills/github/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/github",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "mcporter",
"description": "Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.",
"filePath": "/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/mcporter",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-image-gen",
"description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-image-gen",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper",
"description": "Local speech-to-text with the Whisper CLI (no API key).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper-api",
"description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "tmux",
"description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
"filePath": "/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/tmux",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "video-frames",
"description": "Extract frames or short clips from videos using ffmpeg.",
"filePath": "/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/video-frames",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.",
"filePath": "/usr/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"authProfileOverride": "moonshot:default",
"authProfileOverrideSource": "auto",
"authProfileOverrideCompactionCount": 3,
"fallbackNoticeSelectedModel": "moonshot/kimi-k2.5",
"fallbackNoticeActiveModel": "deepseek/deepseek-chat",
"fallbackNoticeReason": "rate limit",
"modelProvider": "deepseek",
"model": "deepseek-chat",
"contextTokens": 200000,
"systemPromptReport": {
"source": "run",
"generatedAt": 1773361176420,
"sessionId": "78296b8f-7870-41e6-ab45-8d13a1fa8ba2",
"sessionKey": "agent:main:main",
"provider": "deepseek",
"model": "deepseek-chat",
"workspaceDir": "/home/ccuser/susan",
"bootstrapMaxChars": 20000,
"bootstrapTotalMaxChars": 150000,
"bootstrapTruncation": {
"warningMode": "once",
"warningShown": false,
"promptWarningSignature": "{\"bootstrapMaxChars\":20000,\"bootstrapTotalMaxChars\":150000,\"files\":[{\"path\":\"/home/ccuser/susan/MEMORY.md\",\"rawChars\":20090,\"injectedChars\":18110,\"causes\":[\"per-file-limit\"]}]}",
"warningSignaturesSeen": [
"{\"bootstrapMaxChars\":20000,\"bootstrapTotalMaxChars\":150000,\"files\":[{\"path\":\"/home/ccuser/susan/MEMORY.md\",\"rawChars\":20090,\"injectedChars\":18110,\"causes\":[\"per-file-limit\"]}]}"
],
"truncatedFiles": 1,
"nearLimitFiles": 1,
"totalNearLimit": false
},
"sandbox": {
"mode": "off",
"sandboxed": false
},
"systemPrompt": {
"chars": 58922,
"projectContextChars": 42507,
"nonProjectContextChars": 16415
},
"injectedWorkspaceFiles": [
{
"name": "AGENTS.md",
"path": "/home/ccuser/susan/AGENTS.md",
"missing": false,
"rawChars": 7194,
"injectedChars": 7194,
"truncated": false
},
{
"name": "SOUL.md",
"path": "/home/ccuser/susan/SOUL.md",
"missing": false,
"rawChars": 2967,
"injectedChars": 2967,
"truncated": false
},
{
"name": "TOOLS.md",
"path": "/home/ccuser/susan/TOOLS.md",
"missing": false,
"rawChars": 4366,
"injectedChars": 4366,
"truncated": false
},
{
"name": "IDENTITY.md",
"path": "/home/ccuser/susan/IDENTITY.md",
"missing": false,
"rawChars": 476,
"injectedChars": 476,
"truncated": false
},
{
"name": "USER.md",
"path": "/home/ccuser/susan/USER.md",
"missing": false,
"rawChars": 3511,
"injectedChars": 3511,
"truncated": false
},
{
"name": "HEARTBEAT.md",
"path": "/home/ccuser/susan/HEARTBEAT.md",
"missing": false,
"rawChars": 5339,
"injectedChars": 5339,
"truncated": false
},
{
"name": "BOOTSTRAP.md",
"path": "/home/ccuser/susan/BOOTSTRAP.md",
"missing": true,
"rawChars": 0,
"injectedChars": 54,
"truncated": false
},
{
"name": "MEMORY.md",
"path": "/home/ccuser/susan/MEMORY.md",
"missing": false,
"rawChars": 20090,
"injectedChars": 18110,
"truncated": true
}
],
"skills": {
"promptChars": 4977,
"entries": [
{
"name": "coding-agent",
"blockChars": 823
},
{
"name": "gh-issues",
"blockChars": 499
},
{
"name": "github",
"blockChars": 563
},
{
"name": "healthcheck",
"blockChars": 482
},
{
"name": "mcporter",
"blockChars": 321
},
{
"name": "openai-image-gen",
"blockChars": 263
},
{
"name": "openai-whisper",
"blockChars": 224
},
{
"name": "openai-whisper-api",
"blockChars": 240
},
{
"name": "skill-creator",
"blockChars": 287
},
{
"name": "tmux",
"blockChars": 246
},
{
"name": "video-frames",
"blockChars": 220
},
{
"name": "weather",
"blockChars": 407
}
]
},
"tools": {
"listChars": 2678,
"schemaChars": 19374,
"entries": [
{
"name": "read",
"summaryChars": 298,
"schemaChars": 392,
"propertiesCount": 4
},
{
"name": "edit",
"summaryChars": 129,
"schemaChars": 591,
"propertiesCount": 6
},
{
"name": "write",
"summaryChars": 127,
"schemaChars": 313,
"propertiesCount": 3
},
{
"name": "exec",
"summaryChars": 181,
"schemaChars": 1086,
"propertiesCount": 12
},
{
"name": "process",
"summaryChars": 85,
"schemaChars": 961,
"propertiesCount": 12
},
{
"name": "browser",
"summaryChars": 1251,
"schemaChars": 2799,
"propertiesCount": 48
},
{
"name": "canvas",
"summaryChars": 106,
"schemaChars": 661,
"propertiesCount": 18
},
{
"name": "nodes",
"summaryChars": 122,
"schemaChars": 1800,
"propertiesCount": 37
},
{
"name": "cron",
"summaryChars": 2689,
"schemaChars": 690,
"propertiesCount": 13
},
{
"name": "message",
"summaryChars": 138,
"schemaChars": 5013,
"propertiesCount": 94
},
{
"name": "tts",
"summaryChars": 152,
"schemaChars": 223,
"propertiesCount": 2
},
{
"name": "gateway",
"summaryChars": 464,
"schemaChars": 497,
"propertiesCount": 12
},
{
"name": "agents_list",
"summaryChars": 118,
"schemaChars": 33,
"propertiesCount": 0
},
{
"name": "sessions_list",
"summaryChars": 54,
"schemaChars": 212,
"propertiesCount": 4
},
{
"name": "sessions_history",
"summaryChars": 36,
"schemaChars": 161,
"propertiesCount": 3
},
{
"name": "sessions_send",
"summaryChars": 84,
"schemaChars": 273,
"propertiesCount": 5
},
{
"name": "sessions_spawn",
"summaryChars": 198,
"schemaChars": 922,
"propertiesCount": 16
},
{
"name": "subagents",
"summaryChars": 105,
"schemaChars": 191,
"propertiesCount": 4
},
{
"name": "session_status",
"summaryChars": 207,
"schemaChars": 89,
"propertiesCount": 2
},
{
"name": "web_search",
"summaryChars": 175,
"schemaChars": 1084,
"propertiesCount": 9
},
{
"name": "web_fetch",
"summaryChars": 129,
"schemaChars": 374,
"propertiesCount": 3
},
{
"name": "image",
"summaryChars": 201,
"schemaChars": 342,
"propertiesCount": 6
},
{
"name": "pdf",
"summaryChars": 275,
"schemaChars": 400,
"propertiesCount": 6
},
{
"name": "memory_search",
"summaryChars": 334,
"schemaChars": 139,
"propertiesCount": 3
},
{
"name": "memory_get",
"summaryChars": 151,
"schemaChars": 128,
"propertiesCount": 3
}
]
}
},
"inputTokens": 110797,
"outputTokens": 5,
"cacheRead": 3584,
"cacheWrite": 0,
"totalTokensFresh": true,
"lastChannel": "telegram",
"lastAccountId": "default",
"totalTokens": 114381
},
"agent:main:openai:1aac95f2-600a-4990-b726-cb6e68d322ca": {
"sessionId": "4d665c8e-c017-4b40-aa4e-3a32d25df73a",
"updatedAt": 1772529957243,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n coding-agent\n Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.\n /usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md\n \n \n gh-issues\n Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]\n /usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md\n \n \n github\n GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\n /usr/lib/node_modules/openclaw/skills/github/SKILL.md\n \n \n healthcheck\n Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).\n /usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md\n \n \n mcporter\n Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\n /usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md\n \n \n openai-image-gen\n Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.\n /usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md\n \n \n openai-whisper\n Local speech-to-text with the Whisper CLI (no API key).\n /usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md\n \n \n openai-whisper-api\n Transcribe audio via OpenAI Audio Transcriptions API (Whisper).\n /usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md\n \n \n skill-creator\n Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.\n /usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md\n \n \n tmux\n Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\n /usr/lib/node_modules/openclaw/skills/tmux/SKILL.md\n \n \n video-frames\n Extract frames or short clips from videos using ffmpeg.\n /usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md\n \n \n weather\n Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.\n /usr/lib/node_modules/openclaw/skills/weather/SKILL.md\n \n",
"skills": [
{
"name": "coding-agent",
"requiredEnv": []
},
{
"name": "gh-issues",
"primaryEnv": "GH_TOKEN",
"requiredEnv": []
},
{
"name": "github",
"requiredEnv": []
},
{
"name": "healthcheck"
},
{
"name": "mcporter",
"requiredEnv": []
},
{
"name": "openai-image-gen",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "openai-whisper",
"requiredEnv": []
},
{
"name": "openai-whisper-api",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "skill-creator"
},
{
"name": "tmux",
"requiredEnv": []
},
{
"name": "video-frames",
"requiredEnv": []
},
{
"name": "weather",
"requiredEnv": []
}
],
"resolvedSkills": [
{
"name": "coding-agent",
"description": "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:\"acp\"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
"filePath": "/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/coding-agent",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "gh-issues",
"description": "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]",
"filePath": "/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/gh-issues",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "github",
"description": "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",
"filePath": "/usr/lib/node_modules/openclaw/skills/github/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/github",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "mcporter",
"description": "Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.",
"filePath": "/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/mcporter",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-image-gen",
"description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-image-gen",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper",
"description": "Local speech-to-text with the Whisper CLI (no API key).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper-api",
"description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "tmux",
"description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
"filePath": "/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/tmux",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "video-frames",
"description": "Extract frames or short clips from videos using ffmpeg.",
"filePath": "/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/video-frames",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.",
"filePath": "/usr/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"sessionFile": "/root/.clawdbot-susan/agents/main/sessions/4d665c8e-c017-4b40-aa4e-3a32d25df73a.jsonl",
"contextTokens": 200000,
"modelProvider": "moonshot",
"model": "kimi-k2.5",
"abortedLastRun": false,
"inputTokens": 14247,
"outputTokens": 37,
"totalTokens": 19623,
"totalTokensFresh": true,
"cacheRead": 5376,
"cacheWrite": 0
},
"agent:main:openai:43140f6e-c1b8-42e5-951b-b2f83197b9a2": {
"sessionId": "bcd87000-b4d2-449b-af57-83b2d9c45b28",
"updatedAt": 1772532438491,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n coding-agent\n Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.\n /usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md\n \n \n gh-issues\n Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]\n /usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md\n \n \n github\n GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\n /usr/lib/node_modules/openclaw/skills/github/SKILL.md\n \n \n healthcheck\n Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).\n /usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md\n \n \n mcporter\n Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\n /usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md\n \n \n openai-image-gen\n Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.\n /usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md\n \n \n openai-whisper\n Local speech-to-text with the Whisper CLI (no API key).\n /usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md\n \n \n openai-whisper-api\n Transcribe audio via OpenAI Audio Transcriptions API (Whisper).\n /usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md\n \n \n skill-creator\n Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.\n /usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md\n \n \n tmux\n Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\n /usr/lib/node_modules/openclaw/skills/tmux/SKILL.md\n \n \n video-frames\n Extract frames or short clips from videos using ffmpeg.\n /usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md\n \n \n weather\n Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.\n /usr/lib/node_modules/openclaw/skills/weather/SKILL.md\n \n",
"skills": [
{
"name": "coding-agent",
"requiredEnv": []
},
{
"name": "gh-issues",
"primaryEnv": "GH_TOKEN",
"requiredEnv": []
},
{
"name": "github",
"requiredEnv": []
},
{
"name": "healthcheck"
},
{
"name": "mcporter",
"requiredEnv": []
},
{
"name": "openai-image-gen",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "openai-whisper",
"requiredEnv": []
},
{
"name": "openai-whisper-api",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "skill-creator"
},
{
"name": "tmux",
"requiredEnv": []
},
{
"name": "video-frames",
"requiredEnv": []
},
{
"name": "weather",
"requiredEnv": []
}
],
"resolvedSkills": [
{
"name": "coding-agent",
"description": "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:\"acp\"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
"filePath": "/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/coding-agent",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "gh-issues",
"description": "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]",
"filePath": "/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/gh-issues",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "github",
"description": "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",
"filePath": "/usr/lib/node_modules/openclaw/skills/github/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/github",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "mcporter",
"description": "Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.",
"filePath": "/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/mcporter",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-image-gen",
"description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-image-gen",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper",
"description": "Local speech-to-text with the Whisper CLI (no API key).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper-api",
"description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "tmux",
"description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
"filePath": "/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/tmux",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "video-frames",
"description": "Extract frames or short clips from videos using ffmpeg.",
"filePath": "/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/video-frames",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.",
"filePath": "/usr/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"sessionFile": "/root/.clawdbot-susan/agents/main/sessions/bcd87000-b4d2-449b-af57-83b2d9c45b28.jsonl",
"contextTokens": 200000,
"modelProvider": "moonshot",
"model": "kimi-k2.5",
"abortedLastRun": false,
"inputTokens": 14751,
"outputTokens": 89,
"totalTokens": 19615,
"totalTokensFresh": true,
"cacheRead": 4864,
"cacheWrite": 0
},
"agent:main:openai:ee9fad17-11a6-4ff6-8b08-bd41a5413147": {
"sessionId": "937bc746-51b8-4ff7-a689-083505dae7a6",
"updatedAt": 1772532455182,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n coding-agent\n Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.\n /usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md\n \n \n gh-issues\n Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]\n /usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md\n \n \n github\n GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\n /usr/lib/node_modules/openclaw/skills/github/SKILL.md\n \n \n healthcheck\n Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).\n /usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md\n \n \n mcporter\n Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\n /usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md\n \n \n openai-image-gen\n Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.\n /usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md\n \n \n openai-whisper\n Local speech-to-text with the Whisper CLI (no API key).\n /usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md\n \n \n openai-whisper-api\n Transcribe audio via OpenAI Audio Transcriptions API (Whisper).\n /usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md\n \n \n skill-creator\n Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.\n /usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md\n \n \n tmux\n Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\n /usr/lib/node_modules/openclaw/skills/tmux/SKILL.md\n \n \n video-frames\n Extract frames or short clips from videos using ffmpeg.\n /usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md\n \n \n weather\n Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.\n /usr/lib/node_modules/openclaw/skills/weather/SKILL.md\n \n",
"skills": [
{
"name": "coding-agent",
"requiredEnv": []
},
{
"name": "gh-issues",
"primaryEnv": "GH_TOKEN",
"requiredEnv": []
},
{
"name": "github",
"requiredEnv": []
},
{
"name": "healthcheck"
},
{
"name": "mcporter",
"requiredEnv": []
},
{
"name": "openai-image-gen",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "openai-whisper",
"requiredEnv": []
},
{
"name": "openai-whisper-api",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "skill-creator"
},
{
"name": "tmux",
"requiredEnv": []
},
{
"name": "video-frames",
"requiredEnv": []
},
{
"name": "weather",
"requiredEnv": []
}
],
"resolvedSkills": [
{
"name": "coding-agent",
"description": "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:\"acp\"), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
"filePath": "/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/coding-agent",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "gh-issues",
"description": "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]",
"filePath": "/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/gh-issues",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "github",
"description": "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",
"filePath": "/usr/lib/node_modules/openclaw/skills/github/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/github",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "mcporter",
"description": "Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.",
"filePath": "/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/mcporter",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-image-gen",
"description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-image-gen",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper",
"description": "Local speech-to-text with the Whisper CLI (no API key).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper-api",
"description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "tmux",
"description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
"filePath": "/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/tmux",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "video-frames",
"description": "Extract frames or short clips from videos using ffmpeg.",
"filePath": "/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/video-frames",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.",
"filePath": "/usr/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"sessionFile": "/root/.clawdbot-susan/agents/main/sessions/937bc746-51b8-4ff7-a689-083505dae7a6.jsonl",
"contextTokens": 200000,
"modelProvider": "moonshot",
"model": "kimi-k2.5",
"abortedLastRun": false,
"inputTokens": 158,
"outputTokens": 30,
"totalTokens": 19614,
"totalTokensFresh": true,
"cacheRead": 19456,
"cacheWrite": 0
},
"agent:main:openai:d452c2cd-1c4f-47b4-a549-877760f6090a": {
"sessionId": "2955995d-d7bd-422e-a530-7774794c4223",
"updatedAt": 1773359539836,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n coding-agent\n Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.\n /usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md\n \n \n gh-issues\n Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]\n /usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md\n \n \n github\n GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.\n /usr/lib/node_modules/openclaw/skills/github/SKILL.md\n \n \n healthcheck\n Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).\n /usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md\n \n \n mcporter\n Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.\n /usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md\n \n \n openai-image-gen\n Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.\n /usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md\n \n \n openai-whisper\n Local speech-to-text with the Whisper CLI (no API key).\n /usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md\n \n \n openai-whisper-api\n Transcribe audio via OpenAI Audio Transcriptions API (Whisper).\n /usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md\n \n \n skill-creator\n Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.\n /usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md\n \n \n tmux\n Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\n /usr/lib/node_modules/openclaw/skills/tmux/SKILL.md\n \n \n video-frames\n Extract frames or short clips from videos using ffmpeg.\n /usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md\n \n \n weather\n Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.\n /usr/lib/node_modules/openclaw/skills/weather/SKILL.md\n \n",
"skills": [
{
"name": "coding-agent",
"requiredEnv": []
},
{
"name": "gh-issues",
"primaryEnv": "GH_TOKEN",
"requiredEnv": []
},
{
"name": "github",
"requiredEnv": []
},
{
"name": "healthcheck"
},
{
"name": "mcporter",
"requiredEnv": []
},
{
"name": "openai-image-gen",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "openai-whisper",
"requiredEnv": []
},
{
"name": "openai-whisper-api",
"primaryEnv": "OPENAI_API_KEY",
"requiredEnv": [
"OPENAI_API_KEY"
]
},
{
"name": "skill-creator"
},
{
"name": "tmux",
"requiredEnv": []
},
{
"name": "video-frames",
"requiredEnv": []
},
{
"name": "weather",
"requiredEnv": []
}
],
"resolvedSkills": [
{
"name": "coding-agent",
"description": "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:\"acp\"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.",
"filePath": "/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/coding-agent",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "gh-issues",
"description": "Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]",
"filePath": "/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/gh-issues",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "github",
"description": "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured.",
"filePath": "/usr/lib/node_modules/openclaw/skills/github/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/github",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "mcporter",
"description": "Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.",
"filePath": "/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/mcporter",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-image-gen",
"description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-image-gen",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper",
"description": "Local speech-to-text with the Whisper CLI (no API key).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "openai-whisper-api",
"description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
"filePath": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/openai-whisper-api",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "tmux",
"description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
"filePath": "/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/tmux",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "video-frames",
"description": "Extract frames or short clips from videos using ffmpeg.",
"filePath": "/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/video-frames",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.",
"filePath": "/usr/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/usr/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"sessionFile": "/root/.clawdbot-susan/agents/main/sessions/2955995d-d7bd-422e-a530-7774794c4223.jsonl",
"contextTokens": 200000,
"modelProvider": "deepseek",
"model": "deepseek-chat",
"abortedLastRun": false,
"systemPromptReport": {
"source": "run",
"generatedAt": 1773359366229,
"sessionId": "2955995d-d7bd-422e-a530-7774794c4223",
"sessionKey": "agent:main:openai:d452c2cd-1c4f-47b4-a549-877760f6090a",
"provider": "deepseek",
"model": "deepseek-chat",
"workspaceDir": "/home/ccuser/susan",
"bootstrapMaxChars": 20000,
"bootstrapTotalMaxChars": 150000,
"bootstrapTruncation": {
"warningMode": "once",
"warningShown": true,
"promptWarningSignature": "{\"bootstrapMaxChars\":20000,\"bootstrapTotalMaxChars\":150000,\"files\":[{\"path\":\"/home/ccuser/susan/MEMORY.md\",\"rawChars\":20090,\"injectedChars\":18110,\"causes\":[\"per-file-limit\"]}]}",
"warningSignaturesSeen": [
"{\"bootstrapMaxChars\":20000,\"bootstrapTotalMaxChars\":150000,\"files\":[{\"path\":\"/home/ccuser/susan/MEMORY.md\",\"rawChars\":20090,\"injectedChars\":18110,\"causes\":[\"per-file-limit\"]}]}"
],
"truncatedFiles": 1,
"nearLimitFiles": 1,
"totalNearLimit": false
},
"sandbox": {
"mode": "off",
"sandboxed": false
},
"systemPrompt": {
"chars": 58795,
"projectContextChars": 42713,
"nonProjectContextChars": 16082
},
"injectedWorkspaceFiles": [
{
"name": "AGENTS.md",
"path": "/home/ccuser/susan/AGENTS.md",
"missing": false,
"rawChars": 7194,
"injectedChars": 7194,
"truncated": false
},
{
"name": "SOUL.md",
"path": "/home/ccuser/susan/SOUL.md",
"missing": false,
"rawChars": 2967,
"injectedChars": 2967,
"truncated": false
},
{
"name": "TOOLS.md",
"path": "/home/ccuser/susan/TOOLS.md",
"missing": false,
"rawChars": 4366,
"injectedChars": 4366,
"truncated": false
},
{
"name": "IDENTITY.md",
"path": "/home/ccuser/susan/IDENTITY.md",
"missing": false,
"rawChars": 476,
"injectedChars": 476,
"truncated": false
},
{
"name": "USER.md",
"path": "/home/ccuser/susan/USER.md",
"missing": false,
"rawChars": 3511,
"injectedChars": 3511,
"truncated": false
},
{
"name": "HEARTBEAT.md",
"path": "/home/ccuser/susan/HEARTBEAT.md",
"missing": false,
"rawChars": 5339,
"injectedChars": 5339,
"truncated": false
},
{
"name": "BOOTSTRAP.md",
"path": "/home/ccuser/susan/BOOTSTRAP.md",
"missing": true,
"rawChars": 0,
"injectedChars": 54,
"truncated": false
},
{
"name": "MEMORY.md",
"path": "/home/ccuser/susan/MEMORY.md",
"missing": false,
"rawChars": 20090,
"injectedChars": 18110,
"truncated": true
}
],
"skills": {
"promptChars": 4977,
"entries": [
{
"name": "coding-agent",
"blockChars": 823
},
{
"name": "gh-issues",
"blockChars": 499
},
{
"name": "github",
"blockChars": 563
},
{
"name": "healthcheck",
"blockChars": 482
},
{
"name": "mcporter",
"blockChars": 321
},
{
"name": "openai-image-gen",
"blockChars": 263
},
{
"name": "openai-whisper",
"blockChars": 224
},
{
"name": "openai-whisper-api",
"blockChars": 240
},
{
"name": "skill-creator",
"blockChars": 287
},
{
"name": "tmux",
"blockChars": 246
},
{
"name": "video-frames",
"blockChars": 220
},
{
"name": "weather",
"blockChars": 407
}
]
},
"tools": {
"listChars": 2678,
"schemaChars": 19374,
"entries": [
{
"name": "read",
"summaryChars": 298,
"schemaChars": 392,
"propertiesCount": 4
},
{
"name": "edit",
"summaryChars": 129,
"schemaChars": 591,
"propertiesCount": 6
},
{
"name": "write",
"summaryChars": 127,
"schemaChars": 313,
"propertiesCount": 3
},
{
"name": "exec",
"summaryChars": 181,
"schemaChars": 1086,
"propertiesCount": 12
},
{
"name": "process",
"summaryChars": 85,
"schemaChars": 961,
"propertiesCount": 12
},
{
"name": "browser",
"summaryChars": 1251,
"schemaChars": 2799,
"propertiesCount": 48
},
{
"name": "canvas",
"summaryChars": 106,
"schemaChars": 661,
"propertiesCount": 18
},
{
"name": "nodes",
"summaryChars": 122,
"schemaChars": 1800,
"propertiesCount": 37
},
{
"name": "cron",
"summaryChars": 2689,
"schemaChars": 690,
"propertiesCount": 13
},
{
"name": "message",
"summaryChars": 130,
"schemaChars": 5013,
"propertiesCount": 94
},
{
"name": "tts",
"summaryChars": 152,
"schemaChars": 223,
"propertiesCount": 2
},
{
"name": "gateway",
"summaryChars": 464,
"schemaChars": 497,
"propertiesCount": 12
},
{
"name": "agents_list",
"summaryChars": 118,
"schemaChars": 33,
"propertiesCount": 0
},
{
"name": "sessions_list",
"summaryChars": 54,
"schemaChars": 212,
"propertiesCount": 4
},
{
"name": "sessions_history",
"summaryChars": 36,
"schemaChars": 161,
"propertiesCount": 3
},
{
"name": "sessions_send",
"summaryChars": 84,
"schemaChars": 273,
"propertiesCount": 5
},
{
"name": "sessions_spawn",
"summaryChars": 198,
"schemaChars": 922,
"propertiesCount": 16
},
{
"name": "subagents",
"summaryChars": 105,
"schemaChars": 191,
"propertiesCount": 4
},
{
"name": "session_status",
"summaryChars": 207,
"schemaChars": 89,
"propertiesCount": 2
},
{
"name": "web_search",
"summaryChars": 175,
"schemaChars": 1084,
"propertiesCount": 9
},
{
"name": "web_fetch",
"summaryChars": 129,
"schemaChars": 374,
"propertiesCount": 3
},
{
"name": "image",
"summaryChars": 201,
"schemaChars": 342,
"propertiesCount": 6
},
{
"name": "pdf",
"summaryChars": 275,
"schemaChars": 400,
"propertiesCount": 6
},
{
"name": "memory_search",
"summaryChars": 334,
"schemaChars": 139,
"propertiesCount": 3
},
{
"name": "memory_get",
"summaryChars": 151,
"schemaChars": 128,
"propertiesCount": 3
}
]
}
},
"inputTokens": 66598,
"outputTokens": 4507,
"totalTokens": 73034,
"totalTokensFresh": true,
"cacheRead": 877056,
"cacheWrite": 0
}
}