{
  "agent:main:main": {
    "sessionId": "38e4c9ed-b27c-448d-b857-f01a3e6b4a28",
    "updatedAt": 1775134298077,
    "systemSent": true,
    "abortedLastRun": false,
    "chatType": "direct",
    "deliveryContext": {
      "to": "7377499346"
    },
    "lastTo": "7377499346",
    "origin": {
      "label": "7377499346",
      "provider": "heartbeat",
      "from": "7377499346",
      "to": "7377499346"
    },
    "sessionFile": "/root/.clawdbot-cog/agents/main/sessions/38e4c9ed-b27c-448d-b857-f01a3e6b4a28.jsonl",
    "compactionCount": 0,
    "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<available_skills>\n  <skill>\n    <name>coding-agent</name>\n    <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:&quot;acp&quot;), 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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <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]</description>\n    <location>/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <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).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like &quot;create a skill&quot;, &quot;author a skill&quot;, &quot;tidy up a skill&quot;, &quot;improve this skill&quot;, &quot;review the skill&quot;, &quot;clean up the skill&quot;, &quot;audit the skill&quot;.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "coding-agent",
          "requiredEnv": []
        },
        {
          "name": "gh-issues",
          "primaryEnv": "GH_TOKEN",
          "requiredEnv": []
        },
        {
          "name": "github",
          "requiredEnv": []
        },
        {
          "name": "healthcheck"
        },
        {
          "name": "mcporter",
          "requiredEnv": []
        },
        {
          "name": "node-connect"
        },
        {
          "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": "node-connect",
          "description": "Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.",
          "filePath": "/usr/lib/node_modules/openclaw/skills/node-connect/SKILL.md",
          "baseDir": "/usr/lib/node_modules/openclaw/skills/node-connect",
          "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, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like \"create a skill\", \"author a skill\", \"tidy up a skill\", \"improve this skill\", \"review the skill\", \"clean up the skill\", \"audit the skill\".",
          "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": 0,
    "fallbackNoticeSelectedModel": "moonshot/kimi-k2.5",
    "fallbackNoticeActiveModel": "google/gemini-2.0-flash",
    "fallbackNoticeReason": "model not found",
    "modelProvider": "google",
    "model": "gemini-2.0-flash",
    "contextTokens": 200000,
    "systemPromptReport": {
      "source": "run",
      "generatedAt": 1775134221648,
      "sessionId": "38e4c9ed-b27c-448d-b857-f01a3e6b4a28",
      "sessionKey": "agent:main:main",
      "provider": "google",
      "model": "gemini-2.0-flash",
      "workspaceDir": "/home/ccuser/cog",
      "bootstrapMaxChars": 20000,
      "bootstrapTotalMaxChars": 150000,
      "bootstrapTruncation": {
        "warningMode": "once",
        "warningShown": false,
        "truncatedFiles": 0,
        "nearLimitFiles": 0,
        "totalNearLimit": false
      },
      "sandbox": {
        "mode": "off",
        "sandboxed": false
      },
      "systemPrompt": {
        "chars": 52562,
        "projectContextChars": 33686,
        "nonProjectContextChars": 18876
      },
      "injectedWorkspaceFiles": [
        {
          "name": "AGENTS.md",
          "path": "/home/ccuser/cog/AGENTS.md",
          "missing": false,
          "rawChars": 7825,
          "injectedChars": 7825,
          "truncated": false
        },
        {
          "name": "SOUL.md",
          "path": "/home/ccuser/cog/SOUL.md",
          "missing": false,
          "rawChars": 7397,
          "injectedChars": 7397,
          "truncated": false
        },
        {
          "name": "TOOLS.md",
          "path": "/home/ccuser/cog/TOOLS.md",
          "missing": false,
          "rawChars": 6735,
          "injectedChars": 6735,
          "truncated": false
        },
        {
          "name": "IDENTITY.md",
          "path": "/home/ccuser/cog/IDENTITY.md",
          "missing": false,
          "rawChars": 1596,
          "injectedChars": 1596,
          "truncated": false
        },
        {
          "name": "USER.md",
          "path": "/home/ccuser/cog/USER.md",
          "missing": false,
          "rawChars": 2700,
          "injectedChars": 2700,
          "truncated": false
        },
        {
          "name": "HEARTBEAT.md",
          "path": "/home/ccuser/cog/HEARTBEAT.md",
          "missing": false,
          "rawChars": 3914,
          "injectedChars": 3914,
          "truncated": false
        },
        {
          "name": "BOOTSTRAP.md",
          "path": "/home/ccuser/cog/BOOTSTRAP.md",
          "missing": true,
          "rawChars": 0,
          "injectedChars": 52,
          "truncated": false
        },
        {
          "name": "MEMORY.md",
          "path": "/home/ccuser/cog/MEMORY.md",
          "missing": false,
          "rawChars": 2993,
          "injectedChars": 2993,
          "truncated": false
        }
      ],
      "skills": {
        "promptChars": 5975,
        "entries": [
          {
            "name": "coding-agent",
            "blockChars": 823
          },
          {
            "name": "gh-issues",
            "blockChars": 499
          },
          {
            "name": "github",
            "blockChars": 563
          },
          {
            "name": "healthcheck",
            "blockChars": 482
          },
          {
            "name": "mcporter",
            "blockChars": 321
          },
          {
            "name": "node-connect",
            "blockChars": 532
          },
          {
            "name": "openai-image-gen",
            "blockChars": 263
          },
          {
            "name": "openai-whisper",
            "blockChars": 224
          },
          {
            "name": "openai-whisper-api",
            "blockChars": 240
          },
          {
            "name": "skill-creator",
            "blockChars": 750
          },
          {
            "name": "tmux",
            "blockChars": 246
          },
          {
            "name": "video-frames",
            "blockChars": 220
          },
          {
            "name": "weather",
            "blockChars": 407
          }
        ]
      },
      "tools": {
        "listChars": 2794,
        "schemaChars": 19253,
        "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": 1037,
            "propertiesCount": 12
          },
          {
            "name": "process",
            "summaryChars": 85,
            "schemaChars": 949,
            "propertiesCount": 12
          },
          {
            "name": "browser",
            "summaryChars": 1683,
            "schemaChars": 2743,
            "propertiesCount": 48
          },
          {
            "name": "canvas",
            "summaryChars": 106,
            "schemaChars": 661,
            "propertiesCount": 18
          },
          {
            "name": "nodes",
            "summaryChars": 122,
            "schemaChars": 1783,
            "propertiesCount": 37
          },
          {
            "name": "cron",
            "summaryChars": 2689,
            "schemaChars": 581,
            "propertiesCount": 13
          },
          {
            "name": "message",
            "summaryChars": 130,
            "schemaChars": 5025,
            "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": 176,
            "propertiesCount": 4
          },
          {
            "name": "sessions_history",
            "summaryChars": 36,
            "schemaChars": 149,
            "propertiesCount": 3
          },
          {
            "name": "sessions_send",
            "summaryChars": 84,
            "schemaChars": 203,
            "propertiesCount": 5
          },
          {
            "name": "sessions_yield",
            "summaryChars": 97,
            "schemaChars": 60,
            "propertiesCount": 1
          },
          {
            "name": "sessions_spawn",
            "summaryChars": 198,
            "schemaChars": 1141,
            "propertiesCount": 17
          },
          {
            "name": "subagents",
            "summaryChars": 105,
            "schemaChars": 179,
            "propertiesCount": 4
          },
          {
            "name": "session_status",
            "summaryChars": 207,
            "schemaChars": 89,
            "propertiesCount": 2
          },
          {
            "name": "web_search",
            "summaryChars": 175,
            "schemaChars": 1059,
            "propertiesCount": 9
          },
          {
            "name": "web_fetch",
            "summaryChars": 129,
            "schemaChars": 360,
            "propertiesCount": 3
          },
          {
            "name": "image",
            "summaryChars": 260,
            "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": 1972091,
    "outputTokens": 1179,
    "cacheRead": 0,
    "cacheWrite": 0,
    "totalTokens": 108740,
    "totalTokensFresh": true
  },
  "agent:main:openai:ce78c903-0f1f-4ba6-805c-07b0365ef810": {
    "sessionId": "578b3fd2-185a-40d1-8539-8c3e3d42a380",
    "updatedAt": 1771998106801,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:96e292c2-1a08-41f5-b3b0-ca774762678e": {
    "sessionId": "71780e2f-c684-4b12-b390-bdfc0de5c531",
    "updatedAt": 1771998235737,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:91b205b8-b6c8-46f8-a2f0-fa246e8e18e0": {
    "sessionId": "2c21c61f-1a2f-4c69-abe1-69f11b0dd22b",
    "updatedAt": 1771998273963,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:d50ded60-a77a-4fc7-88ab-99a4b77d78f2": {
    "sessionId": "16b78266-40e2-4910-8605-0ba4ee615b00",
    "updatedAt": 1771998317068,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:0f61b4f4-9b93-4370-8d3c-95a75242466c": {
    "sessionId": "c86f680a-9b1d-44de-baae-a87e081edba2",
    "updatedAt": 1771998411417,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:15e57054-77b2-4acd-8d0e-ac0804642e26": {
    "sessionId": "98bc5f4f-6735-4dec-a005-4623fcdf637e",
    "updatedAt": 1771998517468,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:41a3e21a-e1d7-4fd1-a836-089e95304f33": {
    "sessionId": "52485561-335c-4d6b-b1d9-896f35694f75",
    "updatedAt": 1771998566423,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    }
  },
  "agent:main:openai:8e1cdc7e-5259-4d6c-a71d-65f43983f241": {
    "sessionId": "561e327e-4cb8-44a7-a413-837d791c5376",
    "updatedAt": 1772528875730,
    "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.\n\n<available_skills>\n  <skill>\n    <name>bird</name>\n    <description>X/Twitter CLI for reading, searching, posting, and engagement via cookies.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>bluebubbles</name>\n    <description>Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawdhub</name>\n    <description>Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>coding-agent</name>\n    <description>Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion API for creating and managing pages, databases, and blocks.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Get current weather and forecasts (no API key required).</description>\n    <location>/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "bird"
        },
        {
          "name": "bluebubbles"
        },
        {
          "name": "clawdhub"
        },
        {
          "name": "coding-agent"
        },
        {
          "name": "github"
        },
        {
          "name": "mcporter"
        },
        {
          "name": "notion"
        },
        {
          "name": "openai-image-gen",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "openai-whisper"
        },
        {
          "name": "openai-whisper-api",
          "primaryEnv": "OPENAI_API_KEY"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack"
        },
        {
          "name": "tmux"
        },
        {
          "name": "video-frames"
        },
        {
          "name": "weather"
        }
      ],
      "resolvedSkills": [
        {
          "name": "bird",
          "description": "X/Twitter CLI for reading, searching, posting, and engagement via cookies.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bird/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bird",
          "source": "clawdbot-bundled"
        },
        {
          "name": "bluebubbles",
          "description": "Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/bluebubbles/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/bluebubbles",
          "source": "clawdbot-bundled"
        },
        {
          "name": "clawdhub",
          "description": "Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/clawdhub/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/clawdhub",
          "source": "clawdbot-bundled"
        },
        {
          "name": "coding-agent",
          "description": "Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/coding-agent/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/coding-agent",
          "source": "clawdbot-bundled"
        },
        {
          "name": "github",
          "description": "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/github/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/github",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/mcporter/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/mcporter",
          "source": "clawdbot-bundled"
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/notion/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/notion",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-image-gen",
          "description": "Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-image-gen",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper",
          "source": "clawdbot-bundled"
        },
        {
          "name": "openai-whisper-api",
          "description": "Transcribe audio via OpenAI Audio Transcriptions API (Whisper).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/openai-whisper-api",
          "source": "clawdbot-bundled"
        },
        {
          "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/clawdbot/skills/skill-creator/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/skill-creator",
          "source": "clawdbot-bundled"
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/slack/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/slack",
          "source": "clawdbot-bundled"
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/tmux/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/tmux",
          "source": "clawdbot-bundled"
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/video-frames/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/video-frames",
          "source": "clawdbot-bundled"
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/usr/lib/node_modules/clawdbot/skills/weather/SKILL.md",
          "baseDir": "/usr/lib/node_modules/clawdbot/skills/weather",
          "source": "clawdbot-bundled"
        }
      ],
      "version": 0
    },
    "modelProvider": "minimax",
    "model": "MiniMax-M2.5",
    "contextTokens": 200000,
    "abortedLastRun": false
  },
  "agent:main:openai:2239e4dd-f59d-4a3c-87e7-bc147948d293": {
    "sessionId": "a3284c9f-dfa3-4583-81bc-54e67956bf7d",
    "updatedAt": 1772529938544,
    "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<available_skills>\n  <skill>\n    <name>coding-agent</name>\n    <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:&quot;acp&quot;), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <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]</description>\n    <location>/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <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).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "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-cog/agents/main/sessions/a3284c9f-dfa3-4583-81bc-54e67956bf7d.jsonl",
    "contextTokens": 200000,
    "modelProvider": "minimax",
    "model": "MiniMax-M2.5",
    "abortedLastRun": false,
    "inputTokens": 36,
    "outputTokens": 45,
    "totalTokens": 19951,
    "totalTokensFresh": true,
    "cacheRead": 0,
    "cacheWrite": 19915
  },
  "agent:main:openai:15ca4de3-8d86-44a2-8214-d4d232b9e1a1": {
    "sessionId": "aaeca366-ff66-4f90-bcfa-d6eba8c270bd",
    "updatedAt": 1772532432458,
    "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<available_skills>\n  <skill>\n    <name>coding-agent</name>\n    <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:&quot;acp&quot;), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/coding-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <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]</description>\n    <location>/usr/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>github</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <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).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-image-gen</name>\n    <description>Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-image-gen/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper</name>\n    <description>Local speech-to-text with the Whisper CLI (no API key).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>openai-whisper-api</name>\n    <description>Transcribe audio via OpenAI Audio Transcriptions API (Whisper).</description>\n    <location>/usr/lib/node_modules/openclaw/skills/openai-whisper-api/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <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.</description>\n    <location>/usr/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n  </skill>\n</available_skills>",
      "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-cog/agents/main/sessions/aaeca366-ff66-4f90-bcfa-d6eba8c270bd.jsonl",
    "contextTokens": 200000,
    "modelProvider": "minimax",
    "model": "MiniMax-M2.5",
    "abortedLastRun": false,
    "inputTokens": 36,
    "outputTokens": 259,
    "totalTokens": 19943,
    "totalTokensFresh": true,
    "cacheRead": 0,
    "cacheWrite": 19907
  }
}