{ "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 } }