{
  "agent:main:feishu:direct:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc": {
    "sessionId": "2d4f0907-0eaa-4100-9eaf-2bfbecffa8ef",
    "updatedAt": 1773896936374,
    "systemSent": true,
    "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>qqbot-cron</name>\n    <description>QQBot 定时提醒技能。支持一次性和周期性提醒的创建、查询、取消。当通过 QQ 通道通信且涉及提醒/定时任务时使用此技能。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>qqbot-media</name>\n    <description>QQBot 图片/语音/视频/文件收发能力。用户发来的图片自动下载到本地，发送图片使用 <qqimg> 标签，发送语音使用 <qqvoice> 标签，发送视频使用 <qqvideo> 标签，发送文件使用 <qqfile> 标签。所有富媒体标签必须正确闭合，即 <qqXXX>内容</qqXXX> 的格式，未闭合的标签会导致消息无法正确解析。当通过 QQ 通道通信时使用此技能。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n  </skill>\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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/openai-whisper/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).</description>\n    <location>~/.openclaw/workspace/skills/summarize/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>~/.nvm/versions/node/v22.22.0/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>~/.nvm/versions/node/v22.22.0/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>knowledge-management</name>\n    <description>Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.</description>\n    <location>~/.agents/skills/knowledge-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>memory-management</name>\n    <description>Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.</description>\n    <location>~/.agents/skills/memory-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>research</name>\n    <description>Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. </description>\n    <location>~/.agents/skills/research/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>find-skills</name>\n    <description>Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.</description>\n    <location>~/.openclaw/workspace/skills/find-skills/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>ontology</name>\n    <description>Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.</description>\n    <location>~/.openclaw/workspace/skills/ontology/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>proactive-agent</name>\n    <description>Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞</description>\n    <location>~/.openclaw/workspace/skills/proactive-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>self-improvement</name>\n    <description>Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</description>\n    <location>~/.openclaw/workspace/skills/self-improving-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tavily</name>\n    <description>AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.</description>\n    <location>~/.openclaw/workspace/skills/tavily-search/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "qqbot-cron",
          "requiredEnv": []
        },
        {
          "name": "qqbot-media",
          "requiredEnv": []
        },
        {
          "name": "clawhub",
          "requiredEnv": []
        },
        {
          "name": "coding-agent",
          "requiredEnv": []
        },
        {
          "name": "healthcheck"
        },
        {
          "name": "openai-whisper",
          "requiredEnv": []
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack",
          "requiredEnv": []
        },
        {
          "name": "summarize"
        },
        {
          "name": "tmux",
          "requiredEnv": []
        },
        {
          "name": "video-frames",
          "requiredEnv": []
        },
        {
          "name": "weather",
          "requiredEnv": []
        },
        {
          "name": "knowledge-management"
        },
        {
          "name": "memory-management"
        },
        {
          "name": "research"
        },
        {
          "name": "find-skills"
        },
        {
          "name": "ontology"
        },
        {
          "name": "proactive-agent"
        },
        {
          "name": "self-improvement"
        },
        {
          "name": "tavily"
        }
      ],
      "resolvedSkills": [
        {
          "name": "qqbot-cron",
          "description": "QQBot 定时提醒技能。支持一次性和周期性提醒的创建、查询、取消。当通过 QQ 通道通信且涉及提醒/定时任务时使用此技能。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "qqbot-media",
          "description": "QQBot 图片/语音/视频/文件收发能力。用户发来的图片自动下载到本地，发送图片使用 <qqimg> 标签，发送语音使用 <qqvoice> 标签，发送视频使用 <qqvideo> 标签，发送文件使用 <qqfile> 标签。所有富媒体标签必须正确闭合，即 <qqXXX>内容</qqXXX> 的格式，未闭合的标签会导致消息无法正确解析。当通过 QQ 通道通信时使用此技能。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-media",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "clawhub",
          "description": "Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent",
          "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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/openai-whisper",
          "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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "summarize",
          "description": "Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).",
          "filePath": "/root/.openclaw/workspace/skills/summarize/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/summarize",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/tmux/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/video-frames/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/weather/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/weather",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "knowledge-management",
          "description": "Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.",
          "filePath": "/root/.agents/skills/knowledge-management/SKILL.md",
          "baseDir": "/root/.agents/skills/knowledge-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "memory-management",
          "description": "Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.",
          "filePath": "/root/.agents/skills/memory-management/SKILL.md",
          "baseDir": "/root/.agents/skills/memory-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "research",
          "description": "Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. ",
          "filePath": "/root/.agents/skills/research/SKILL.md",
          "baseDir": "/root/.agents/skills/research",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "find-skills",
          "description": "Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.",
          "filePath": "/root/.openclaw/workspace/skills/find-skills/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/find-skills",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "ontology",
          "description": "Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on \"remember\", \"what do I know about\", \"link X to Y\", \"show dependencies\", entity CRUD, or cross-skill data access.",
          "filePath": "/root/.openclaw/workspace/skills/ontology/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/ontology",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "proactive-agent",
          "description": "Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞",
          "filePath": "/root/.openclaw/workspace/skills/proactive-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/proactive-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "self-improvement",
          "description": "Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.",
          "filePath": "/root/.openclaw/workspace/skills/self-improving-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/self-improving-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tavily",
          "description": "AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.",
          "filePath": "/root/.openclaw/workspace/skills/tavily-search/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/tavily-search",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        }
      ],
      "version": 0
    },
    "deliveryContext": {
      "channel": "feishu",
      "to": "user:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc",
      "accountId": "default"
    },
    "lastChannel": "feishu",
    "lastTo": "user:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc",
    "lastAccountId": "default",
    "sessionFile": "/root/.openclaw/agents/main/sessions/2d4f0907-0eaa-4100-9eaf-2bfbecffa8ef.jsonl",
    "modelProvider": "volcengine",
    "model": "glm-4.7",
    "abortedLastRun": false,
    "totalTokensFresh": true,
    "cacheRead": 0,
    "cacheWrite": 0,
    "chatType": "direct",
    "origin": {
      "label": "powell",
      "provider": "feishu",
      "surface": "feishu",
      "chatType": "direct",
      "from": "feishu:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc",
      "to": "user:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc",
      "accountId": "default"
    },
    "compactionCount": 0,
    "systemPromptReport": {
      "source": "run",
      "generatedAt": 1773896414539,
      "sessionId": "2d4f0907-0eaa-4100-9eaf-2bfbecffa8ef",
      "sessionKey": "agent:main:feishu:direct:ou_8ca9ac9fe1a34d3b8b0ecd90127565cc",
      "provider": "volcengine",
      "model": "glm-4.7",
      "workspaceDir": "/root/.openclaw/workspace",
      "bootstrapMaxChars": 20000,
      "bootstrapTotalMaxChars": 150000,
      "sandbox": {
        "mode": "off",
        "sandboxed": false
      },
      "systemPrompt": {
        "chars": 34241,
        "projectContextChars": 15406,
        "nonProjectContextChars": 18835
      },
      "injectedWorkspaceFiles": [
        {
          "name": "AGENTS.md",
          "path": "/root/.openclaw/workspace/AGENTS.md",
          "missing": false,
          "rawChars": 7858,
          "injectedChars": 7858,
          "truncated": false
        },
        {
          "name": "SOUL.md",
          "path": "/root/.openclaw/workspace/SOUL.md",
          "missing": false,
          "rawChars": 2284,
          "injectedChars": 2284,
          "truncated": false
        },
        {
          "name": "TOOLS.md",
          "path": "/root/.openclaw/workspace/TOOLS.md",
          "missing": false,
          "rawChars": 1179,
          "injectedChars": 1179,
          "truncated": false
        },
        {
          "name": "IDENTITY.md",
          "path": "/root/.openclaw/workspace/IDENTITY.md",
          "missing": false,
          "rawChars": 182,
          "injectedChars": 182,
          "truncated": false
        },
        {
          "name": "USER.md",
          "path": "/root/.openclaw/workspace/USER.md",
          "missing": false,
          "rawChars": 234,
          "injectedChars": 234,
          "truncated": false
        },
        {
          "name": "HEARTBEAT.md",
          "path": "/root/.openclaw/workspace/HEARTBEAT.md",
          "missing": false,
          "rawChars": 167,
          "injectedChars": 167,
          "truncated": false
        },
        {
          "name": "BOOTSTRAP.md",
          "path": "/root/.openclaw/workspace/BOOTSTRAP.md",
          "missing": false,
          "rawChars": 1449,
          "injectedChars": 1449,
          "truncated": false
        },
        {
          "name": "MEMORY.md",
          "path": "/root/.openclaw/workspace/MEMORY.md",
          "missing": false,
          "rawChars": 1507,
          "injectedChars": 1507,
          "truncated": false
        }
      ],
      "skills": {
        "promptChars": 8178,
        "entries": [
          {
            "name": "qqbot-cron",
            "blockChars": 221
          },
          {
            "name": "qqbot-media",
            "blockChars": 385
          },
          {
            "name": "clawhub",
            "blockChars": 448
          },
          {
            "name": "coding-agent",
            "blockChars": 627
          },
          {
            "name": "healthcheck",
            "blockChars": 507
          },
          {
            "name": "openai-whisper",
            "blockChars": 249
          },
          {
            "name": "skill-creator",
            "blockChars": 312
          },
          {
            "name": "slack",
            "blockChars": 328
          },
          {
            "name": "summarize",
            "blockChars": 233
          },
          {
            "name": "tmux",
            "blockChars": 271
          },
          {
            "name": "video-frames",
            "blockChars": 245
          },
          {
            "name": "weather",
            "blockChars": 432
          },
          {
            "name": "knowledge-management",
            "blockChars": 413
          },
          {
            "name": "memory-management",
            "blockChars": 419
          },
          {
            "name": "research",
            "blockChars": 310
          },
          {
            "name": "find-skills",
            "blockChars": 487
          },
          {
            "name": "ontology",
            "blockChars": 600
          },
          {
            "name": "proactive-agent",
            "blockChars": 383
          },
          {
            "name": "self-improvement",
            "blockChars": 643
          },
          {
            "name": "tavily",
            "blockChars": 239
          }
        ]
      },
      "tools": {
        "listChars": 2922,
        "schemaChars": 20051,
        "entries": [
          {
            "name": "read",
            "summaryChars": 298,
            "schemaChars": 392,
            "propertiesCount": 4
          },
          {
            "name": "edit",
            "summaryChars": 129,
            "schemaChars": 591,
            "propertiesCount": 6
          },
          {
            "name": "write",
            "summaryChars": 127,
            "schemaChars": 313,
            "propertiesCount": 3
          },
          {
            "name": "exec",
            "summaryChars": 181,
            "schemaChars": 1086,
            "propertiesCount": 12
          },
          {
            "name": "process",
            "summaryChars": 85,
            "schemaChars": 961,
            "propertiesCount": 12
          },
          {
            "name": "browser",
            "summaryChars": 1251,
            "schemaChars": 1897,
            "propertiesCount": 28
          },
          {
            "name": "canvas",
            "summaryChars": 106,
            "schemaChars": 661,
            "propertiesCount": 18
          },
          {
            "name": "nodes",
            "summaryChars": 101,
            "schemaChars": 1479,
            "propertiesCount": 33
          },
          {
            "name": "message",
            "summaryChars": 175,
            "schemaChars": 4181,
            "propertiesCount": 85
          },
          {
            "name": "tts",
            "summaryChars": 152,
            "schemaChars": 223,
            "propertiesCount": 2
          },
          {
            "name": "agents_list",
            "summaryChars": 72,
            "schemaChars": 33,
            "propertiesCount": 0
          },
          {
            "name": "sessions_list",
            "summaryChars": 54,
            "schemaChars": 212,
            "propertiesCount": 4
          },
          {
            "name": "sessions_history",
            "summaryChars": 36,
            "schemaChars": 161,
            "propertiesCount": 3
          },
          {
            "name": "sessions_send",
            "summaryChars": 84,
            "schemaChars": 273,
            "propertiesCount": 5
          },
          {
            "name": "sessions_spawn",
            "summaryChars": 144,
            "schemaChars": 414,
            "propertiesCount": 10
          },
          {
            "name": "subagents",
            "summaryChars": 105,
            "schemaChars": 191,
            "propertiesCount": 4
          },
          {
            "name": "session_status",
            "summaryChars": 207,
            "schemaChars": 89,
            "propertiesCount": 2
          },
          {
            "name": "web_search",
            "summaryChars": 138,
            "schemaChars": 753,
            "propertiesCount": 6
          },
          {
            "name": "web_fetch",
            "summaryChars": 129,
            "schemaChars": 374,
            "propertiesCount": 3
          },
          {
            "name": "feishu_doc",
            "summaryChars": 116,
            "schemaChars": 612,
            "propertiesCount": 6
          },
          {
            "name": "feishu_app_scopes",
            "summaryChars": 102,
            "schemaChars": 33,
            "propertiesCount": 0
          },
          {
            "name": "feishu_wiki",
            "summaryChars": 83,
            "schemaChars": 971,
            "propertiesCount": 10
          },
          {
            "name": "feishu_drive",
            "summaryChars": 81,
            "schemaChars": 486,
            "propertiesCount": 5
          },
          {
            "name": "feishu_bitable_get_meta",
            "summaryChars": 114,
            "schemaChars": 170,
            "propertiesCount": 1
          },
          {
            "name": "feishu_bitable_list_fields",
            "summaryChars": 76,
            "schemaChars": 255,
            "propertiesCount": 2
          },
          {
            "name": "feishu_bitable_list_records",
            "summaryChars": 64,
            "schemaChars": 462,
            "propertiesCount": 4
          },
          {
            "name": "feishu_bitable_get_record",
            "summaryChars": 46,
            "schemaChars": 335,
            "propertiesCount": 3
          },
          {
            "name": "feishu_bitable_create_record",
            "summaryChars": 44,
            "schemaChars": 549,
            "propertiesCount": 3
          },
          {
            "name": "feishu_bitable_update_record",
            "summaryChars": 50,
            "schemaChars": 473,
            "propertiesCount": 4
          },
          {
            "name": "feishu_bitable_create_app",
            "summaryChars": 57,
            "schemaChars": 243,
            "propertiesCount": 2
          },
          {
            "name": "feishu_bitable_create_field",
            "summaryChars": 46,
            "schemaChars": 911,
            "propertiesCount": 5
          },
          {
            "name": "memory_search",
            "summaryChars": 334,
            "schemaChars": 139,
            "propertiesCount": 3
          },
          {
            "name": "memory_get",
            "summaryChars": 151,
            "schemaChars": 128,
            "propertiesCount": 3
          }
        ]
      }
    },
    "contextTokens": 200000,
    "inputTokens": 79373,
    "outputTokens": 2204,
    "totalTokens": 21279
  },
  "agent:main:cron:a3a73d1b-9aab-4230-a5a9-be9b2699a070": {
    "sessionId": "64a29e24-dba7-4382-af7b-9881383d659a",
    "updatedAt": 1772377200020,
    "systemSent": true,
    "label": "Cron: Daily OpenClaw Activity Report",
    "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>qqbot-cron</name>\n    <description>QQ Bot 智能提醒技能。支持一次性提醒、周期性任务、自动降级确保送达。可设置、查询、取消提醒。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>qqbot-media</name>\n    <description>QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。【重要】当用户要求发送图片时必须使用 <qqimg> 标签。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-doc</name>\n    <description>Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-drive</name>\n    <description>Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-perm</name>\n    <description>Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-wiki</name>\n    <description>Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n  </skill>\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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/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>~/.openclaw/workspace/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/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>~/.openclaw/workspace/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>obsidian</name>\n    <description>Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.</description>\n    <location>~/.openclaw/workspace/skills/obsidian/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).</description>\n    <location>~/.openclaw/workspace/skills/summarize/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>~/.openclaw/workspace/skills/weather/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>knowledge-management</name>\n    <description>Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.</description>\n    <location>~/.agents/skills/knowledge-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>memory-management</name>\n    <description>Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.</description>\n    <location>~/.agents/skills/memory-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>research</name>\n    <description>Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. </description>\n    <location>~/.agents/skills/research/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>Agent Browser</name>\n    <description>A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.</description>\n    <location>~/.openclaw/workspace/skills/agent-browser/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>find-skills</name>\n    <description>Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.</description>\n    <location>~/.openclaw/workspace/skills/find-skills/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>ontology</name>\n    <description>Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.</description>\n    <location>~/.openclaw/workspace/skills/ontology/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>proactive-agent</name>\n    <description>Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞</description>\n    <location>~/.openclaw/workspace/skills/proactive-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>self-improvement</name>\n    <description>Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</description>\n    <location>~/.openclaw/workspace/skills/self-improving-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>Sysadmin</name>\n    <description>Manage Linux servers with user administration, process control, storage, and system maintenance.</description>\n    <location>~/.openclaw/workspace/skills/sysadmin/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tavily</name>\n    <description>AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.</description>\n    <location>~/.openclaw/workspace/skills/tavily-search/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "qqbot-cron"
        },
        {
          "name": "qqbot-media"
        },
        {
          "name": "feishu-doc"
        },
        {
          "name": "feishu-drive"
        },
        {
          "name": "feishu-perm"
        },
        {
          "name": "feishu-wiki"
        },
        {
          "name": "clawhub",
          "requiredEnv": []
        },
        {
          "name": "coding-agent",
          "requiredEnv": []
        },
        {
          "name": "github"
        },
        {
          "name": "healthcheck"
        },
        {
          "name": "notion"
        },
        {
          "name": "obsidian"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "summarize"
        },
        {
          "name": "weather"
        },
        {
          "name": "knowledge-management"
        },
        {
          "name": "memory-management"
        },
        {
          "name": "research"
        },
        {
          "name": "Agent Browser"
        },
        {
          "name": "find-skills"
        },
        {
          "name": "ontology"
        },
        {
          "name": "proactive-agent"
        },
        {
          "name": "self-improvement"
        },
        {
          "name": "Sysadmin"
        },
        {
          "name": "tavily"
        }
      ],
      "resolvedSkills": [
        {
          "name": "qqbot-cron",
          "description": "QQ Bot 智能提醒技能。支持一次性提醒、周期性任务、自动降级确保送达。可设置、查询、取消提醒。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "qqbot-media",
          "description": "QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。【重要】当用户要求发送图片时必须使用 <qqimg> 标签。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-media",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-doc",
          "description": "Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-drive",
          "description": "Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-perm",
          "description": "Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-wiki",
          "description": "Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "clawhub",
          "description": "Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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": "/root/.openclaw/workspace/skills/github/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/github",
          "source": "openclaw-workspace",
          "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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/root/.openclaw/workspace/skills/notion/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/notion",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "obsidian",
          "description": "Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.",
          "filePath": "/root/.openclaw/workspace/skills/obsidian/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/obsidian",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "skill-creator",
          "description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "summarize",
          "description": "Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).",
          "filePath": "/root/.openclaw/workspace/skills/summarize/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/summarize",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/root/.openclaw/workspace/skills/weather/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/weather",

          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "knowledge-management",
          "description": "Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.",
          "filePath": "/root/.agents/skills/knowledge-management/SKILL.md",
          "baseDir": "/root/.agents/skills/knowledge-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "memory-management",
          "description": "Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.",
          "filePath": "/root/.agents/skills/memory-management/SKILL.md",
          "baseDir": "/root/.agents/skills/memory-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "research",
          "description": "Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. ",
          "filePath": "/root/.agents/skills/research/SKILL.md",
          "baseDir": "/root/.agents/skills/research",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "Agent Browser",
          "description": "A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.",
          "filePath": "/root/.openclaw/workspace/skills/agent-browser/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/agent-browser",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "find-skills",
          "description": "Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.",
          "filePath": "/root/.openclaw/workspace/skills/find-skills/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/find-skills",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "ontology",
          "description": "Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on \"remember\", \"what do I know about\", \"link X to Y\", \"show dependencies\", entity CRUD, or cross-skill data access.",
          "filePath": "/root/.openclaw/workspace/skills/ontology/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/ontology",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "proactive-agent",
          "description": "Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞",
          "filePath": "/root/.openclaw/workspace/skills/proactive-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/proactive-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "self-improvement",
          "description": "Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.",
          "filePath": "/root/.openclaw/workspace/skills/self-improving-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/self-improving-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "Sysadmin",
          "description": "Manage Linux servers with user administration, process control, storage, and system maintenance.",
          "filePath": "/root/.openclaw/workspace/skills/sysadmin/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/sysadmin",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tavily",
          "description": "AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.",
          "filePath": "/root/.openclaw/workspace/skills/tavily-search/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/tavily-search",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        }
      ],
      "version": 0
    },
    "modelProvider": "volcengine",
    "model": "glm-4.7",
    "contextTokens": 200000,
    "inputTokens": 104750,
    "outputTokens": 1822,
    "totalTokens": 18209,
    "totalTokensFresh": true,
    "cacheRead": 0,
    "cacheWrite": 0
  },
  "agent:main:main": {
    "sessionId": "66bb8731-3c73-44d0-a52f-6587317c304e",
    "updatedAt": 1774238301938,
    "systemSent": true,
    "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>feishu-doc</name>\n    <description>Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-drive</name>\n    <description>Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-perm</name>\n    <description>Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-wiki</name>\n    <description>Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>qqbot-cron</name>\n    <description>QQBot 定时提醒。支持一次性和周期性提醒的创建、查询、取消。当通过 QQ 通道通信且涉及提醒/定时任务时使用。</description>\n    <location>~/.openclaw/extensions/openclaw-qqbot/skills/qqbot-cron/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>qqbot-media</name>\n    <description>QQBot 富媒体收发能力。使用 <qqmedia> 标签，系统根据文件扩展名自动识别类型（图片/语音/视频/文件）。</description>\n    <location>~/.openclaw/extensions/openclaw-qqbot/skills/qqbot-media/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-contact-lookup</name>\n    <description>通讯录成员查询技能，基于 MCP tool 协议封装的 `get_userlist` 接口，获取当前用户可见范围内的通讯录成员，支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠ 仅返回当前用户有权限查看的成员，非全量成员。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-contact-lookup/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-doc</name>\n    <description>文档与智能表格操作。当用户提到企业微信文档、创建文档、编辑文档、新建文档、写文档、智能表格时激活。支持文档创建/写入和智能表格的创建及子表/字段/记录写入。注意：所有文档创建和编辑请求都应使用此 skill，不要尝试用其他方式处理文档操作。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-doc/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-doc-manager</name>\n    <description>企业微信文档管理技能。提供文档的创建、读取和编辑能力，支持通过 docid 或文档 URL 操作企业微信文档（doc_type=3）和智能表格（doc_type=10）。适用场景：(1) 以 Markdown 格式导出获取文档完整内容（异步轮询） (2) 新建文档或智能表格 (3) 用 Markdown 格式覆写文档内容。当用户需要查看文档内容、创建新文档、编辑文档正文时触发此 Skill。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-doc-manager/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-edit-todo</name>\n    <description>企业微信待办事项编辑技能，支持创建、更新、删除待办及变更用户处理进度状态。在用户说"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"接受这个待办"、"拒绝这个待办"等需要对待办进行写操作的场景时使用。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-edit-todo/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-get-todo-detail</name>\n    <description>企业微信待办详情批量查询技能，根据待办 ID 列表获取完整信息（包含待办内容和分派人）。在用户说"看看这个待办的详情"、"待办内容是什么"、"这个待办分派给谁了"、"告诉我待办的具体信息"等需要查看待办完整内容的场景时使用。通常配合 wecom-get-todo-list 使用——先获取待办 ID 列表，再用本技能获取详情。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-get-todo-detail/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-get-todo-list</name>\n    <description>企业微信待办列表查询技能，支持按创建时间和提醒时间过滤，支持分页。在用户说"看看我的待办列表"、"我有哪些待办"、"这周的待办有哪些"、"最近有什么待办"、"查一下我的待办"、"列出所有待办"等需要浏览待办概览的场景时使用。注意：此技能仅返回待办概要信息（不含内容和分派人），如需完整详情请配合 wecom-get-todo-detail 使用。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-get-todo-list/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-meeting-create</name>\n    <description>企业微信会议创建技能, 支持创建预约会议. 当用户需要"创建会议", "预约会议", "约会议", "安排会议"时触发.</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-meeting-create/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-meeting-manage</name>\n    <description>企业微信会议管理技能, 支持取消会议和更新会议受邀成员. 当用户需要"取消会议", "删除会议", "修改会议成员", "添加会议参与人", "移除会议成员"时触发.</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-meeting-manage/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-meeting-query</name>\n    <description>企业微信会议查询技能, 支持查询会议列表, 获取会议详情, 按关键词查找会议. 当用户需要"查看会议", "查询会议列表", "会议详情", "什么时候开会", "有哪些会议", "查找会议"时触发.</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-meeting-query/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-preflight</name>\n    <description>企业微信插件前置条件检查。在执行任何 wecom_mcp 操作前，通过 shell 命令检查工具权限配置（profile 和白名单），若缺失则自动修复并提示用户重启 Gateway。所有使用 wecom_mcp 的技能都应在首次调用前执行此检查。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-preflight/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-schedule</name>\n    <description>企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要：(1) 查询指定时间范围内的日程列表或获取日程详细信息（标题、时间、地点、参与者等），(2) 创建新日程并设置提醒、参与人等，(3) 修改已有日程的标题、时间、地点等信息或取消日程，(4) 添加或移除日程参与人，(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-schedule/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-smartsheet-data</name>\n    <description>企业微信智能表格数据（记录）管理技能。提供智能表格记录的增删改查能力。适用场景：(1) 查询子表全部记录 (2) 添加一行或多行记录 (3) 更新已有记录 (4) 删除记录。当用户需要读取表格数据、写入新数据、修改或删除表格行时触发此 Skill。支持通过 docid 或文档 URL 定位文档。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-smartsheet-data/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>wecom-smartsheet-schema</name>\n    <description>企业微信智能表格结构管理技能。提供子表（Sheet）和字段（Field/列）的增删改查能力。适用场景：(1) 查询智能表格的子表列表 (2) 添加、更新、删除子表 (3) 查询子表的字段/列信息 (4) 添加、更新、删除字段/列。当用户需要管理智能表格的表结构、列定义、子表配置时触发此 Skill。支持通过 docid 或文档 URL 定位文档。</description>\n    <location>~/.openclaw/extensions/wecom/skills/wecom-smartsheet-schema/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n  </skill>\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:"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.</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/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>~/.openclaw/workspace/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>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>obsidian</name>\n    <description>Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.</description>\n    <location>~/.openclaw/workspace/skills/obsidian/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>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/openai-whisper/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 "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).</description>\n    <location>~/.openclaw/workspace/skills/summarize/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>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/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>~/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/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>~/.openclaw/workspace/skills/weather/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>knowledge-management</name>\n    <description>Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.</description>\n    <location>~/.agents/skills/knowledge-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>memory-management</name>\n    <description>Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.</description>\n    <location>~/.agents/skills/memory-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>research</name>\n    <description>Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. </description>\n    <location>~/.agents/skills/research/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>Agent Browser</name>\n    <description>A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.</description>\n    <location>~/.openclaw/workspace/skills/agent-browser/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>find-skills</name>\n    <description>Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.</description>\n    <location>~/.openclaw/workspace/skills/find-skills/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>ontology</name>\n    <description>Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.</description>\n    <location>~/.openclaw/workspace/skills/ontology/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>proactive-agent</name>\n    <description>Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞</description>\n    <location>~/.openclaw/workspace/skills/proactive-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>self-improvement</name>\n    <description>Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</description>\n    <location>~/.openclaw/workspace/skills/self-improving-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>skillhub-preference</name>\n    <description>Prefer `skillhub` for skill discovery/install/update, then fallback to `clawhub` when unavailable or no match. Use when users ask about skills, 插件, or capability extension.</description>\n    <location>~/.openclaw/workspace/skills/skillhub-preference/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tavily</name>\n    <description>AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.</description>\n    <location>~/.openclaw/workspace/skills/tavily-search/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>腾讯云资源管理工具</name>\n    <description>通过自然语言操作腾讯云资源。支持查询、配置、管理等所有腾讯云 API 3.0 产品。</description>\n    <location>~/.openclaw/workspace/skills/tencentcloud-management-tool/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "feishu-doc"
        },
        {
          "name": "feishu-drive"
        },
        {
          "name": "feishu-perm"
        },
        {
          "name": "feishu-wiki"
        },
        {
          "name": "qqbot-cron",
          "requiredEnv": []
        },
        {
          "name": "qqbot-media",
          "requiredEnv": []
        },
        {
          "name": "wecom-contact-lookup"
        },
        {
          "name": "wecom-doc",
          "requiredEnv": []
        },
        {
          "name": "wecom-doc-manager"
        },
        {
          "name": "wecom-edit-todo"
        },
        {
          "name": "wecom-get-todo-detail"
        },
        {
          "name": "wecom-get-todo-list"
        },
        {
          "name": "wecom-meeting-create"
        },
        {
          "name": "wecom-meeting-manage"
        },
        {
          "name": "wecom-meeting-query"
        },
        {
          "name": "wecom-preflight"
        },
        {
          "name": "wecom-schedule"
        },
        {
          "name": "wecom-smartsheet-data"
        },
        {
          "name": "wecom-smartsheet-schema"
        },
        {
          "name": "clawhub",
          "requiredEnv": []
        },
        {
          "name": "coding-agent",
          "requiredEnv": []
        },
        {
          "name": "github"
        },
        {
          "name": "healthcheck"
        },
        {
          "name": "obsidian"
        },
        {
          "name": "openai-whisper",
          "requiredEnv": []
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack",
          "requiredEnv": []
        },
        {
          "name": "summarize"
        },
        {
          "name": "tmux",
          "requiredEnv": []
        },
        {
          "name": "video-frames",
          "requiredEnv": []
        },
        {
          "name": "weather"
        },
        {
          "name": "knowledge-management"
        },
        {
          "name": "memory-management"
        },
        {
          "name": "research"
        },
        {
          "name": "Agent Browser"
        },
        {
          "name": "find-skills"
        },
        {
          "name": "ontology"
        },
        {
          "name": "proactive-agent"
        },
        {
          "name": "self-improvement"
        },
        {
          "name": "skillhub-preference"
        },
        {
          "name": "tavily"
        },
        {
          "name": "腾讯云资源管理工具"
        }
      ],
      "resolvedSkills": [
        {
          "name": "feishu-doc",
          "description": "Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-doc",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-drive",
          "description": "Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-drive",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-perm",
          "description": "Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-perm",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-wiki",
          "description": "Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/extensions/feishu/skills/feishu-wiki",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "qqbot-cron",
          "description": "QQBot 定时提醒。支持一次性和周期性提醒的创建、查询、取消。当通过 QQ 通道通信且涉及提醒/定时任务时使用。",
          "filePath": "/root/.openclaw/extensions/openclaw-qqbot/skills/qqbot-cron/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/openclaw-qqbot/skills/qqbot-cron",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "qqbot-media",
          "description": "QQBot 富媒体收发能力。使用 <qqmedia> 标签，系统根据文件扩展名自动识别类型（图片/语音/视频/文件）。",
          "filePath": "/root/.openclaw/extensions/openclaw-qqbot/skills/qqbot-media/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/openclaw-qqbot/skills/qqbot-media",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-contact-lookup",
          "description": "通讯录成员查询技能，基于 MCP tool 协议封装的 `get_userlist` 接口，获取当前用户可见范围内的通讯录成员，支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠ 仅返回当前用户有权限查看的成员，非全量成员。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-contact-lookup/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-contact-lookup",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-doc",
          "description": "文档与智能表格操作。当用户提到企业微信文档、创建文档、编辑文档、新建文档、写文档、智能表格时激活。支持文档创建/写入和智能表格的创建及子表/字段/记录写入。注意：所有文档创建和编辑请求都应使用此 skill，不要尝试用其他方式处理文档操作。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-doc/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-doc",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-doc-manager",
          "description": "企业微信文档管理技能。提供文档的创建、读取和编辑能力，支持通过 docid 或文档 URL 操作企业微信文档（doc_type=3）和智能表格（doc_type=10）。适用场景：(1) 以 Markdown 格式导出获取文档完整内容（异步轮询） (2) 新建文档或智能表格 (3) 用 Markdown 格式覆写文档内容。当用户需要查看文档内容、创建新文档、编辑文档正文时触发此 Skill。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-doc-manager/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-doc-manager",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-edit-todo",
          "description": "企业微信待办事项编辑技能，支持创建、更新、删除待办及变更用户处理进度状态。在用户说\"帮我创建一个待办\"、\"把这个任务分派给张三\"、\"标记待办完成\"、\"删掉那个待办\"、\"帮我建个提醒\"、\"更新一下待办内容\"、\"把提醒时间改到下周\"、\"接受这个待办\"、\"拒绝这个待办\"等需要对待办进行写操作的场景时使用。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-edit-todo/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-edit-todo",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-get-todo-detail",
          "description": "企业微信待办详情批量查询技能，根据待办 ID 列表获取完整信息（包含待办内容和分派人）。在用户说\"看看这个待办的详情\"、\"待办内容是什么\"、\"这个待办分派给谁了\"、\"告诉我待办的具体信息\"等需要查看待办完整内容的场景时使用。通常配合 wecom-get-todo-list 使用——先获取待办 ID 列表，再用本技能获取详情。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-get-todo-detail/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-get-todo-detail",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-get-todo-list",
          "description": "企业微信待办列表查询技能，支持按创建时间和提醒时间过滤，支持分页。在用户说\"看看我的待办列表\"、\"我有哪些待办\"、\"这周的待办有哪些\"、\"最近有什么待办\"、\"查一下我的待办\"、\"列出所有待办\"等需要浏览待办概览的场景时使用。注意：此技能仅返回待办概要信息（不含内容和分派人），如需完整详情请配合 wecom-get-todo-detail 使用。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-get-todo-list/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-get-todo-list",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-meeting-create",
          "description": "企业微信会议创建技能, 支持创建预约会议. 当用户需要\"创建会议\", \"预约会议\", \"约会议\", \"安排会议\"时触发.",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-create/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-create",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-meeting-manage",
          "description": "企业微信会议管理技能, 支持取消会议和更新会议受邀成员. 当用户需要\"取消会议\", \"删除会议\", \"修改会议成员\", \"添加会议参与人\", \"移除会议成员\"时触发.",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-manage/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-manage",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-meeting-query",
          "description": "企业微信会议查询技能, 支持查询会议列表, 获取会议详情, 按关键词查找会议. 当用户需要\"查看会议\", \"查询会议列表\", \"会议详情\", \"什么时候开会\", \"有哪些会议\", \"查找会议\"时触发.",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-query/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-meeting-query",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-preflight",
          "description": "企业微信插件前置条件检查。在执行任何 wecom_mcp 操作前，通过 shell 命令检查工具权限配置（profile 和白名单），若缺失则自动修复并提示用户重启 Gateway。所有使用 wecom_mcp 的技能都应在首次调用前执行此检查。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-preflight/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-preflight",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-schedule",
          "description": "企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要：(1) 查询指定时间范围内的日程列表或获取日程详细信息（标题、时间、地点、参与者等），(2) 创建新日程并设置提醒、参与人等，(3) 修改已有日程的标题、时间、地点等信息或取消日程，(4) 添加或移除日程参与人，(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-schedule/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-schedule",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-smartsheet-data",
          "description": "企业微信智能表格数据（记录）管理技能。提供智能表格记录的增删改查能力。适用场景：(1) 查询子表全部记录 (2) 添加一行或多行记录 (3) 更新已有记录 (4) 删除记录。当用户需要读取表格数据、写入新数据、修改或删除表格行时触发此 Skill。支持通过 docid 或文档 URL 定位文档。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-smartsheet-data/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-smartsheet-data",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "wecom-smartsheet-schema",
          "description": "企业微信智能表格结构管理技能。提供子表（Sheet）和字段（Field/列）的增删改查能力。适用场景：(1) 查询智能表格的子表列表 (2) 添加、更新、删除子表 (3) 查询子表的字段/列信息 (4) 添加、更新、删除字段/列。当用户需要管理智能表格的表结构、列定义、子表配置时触发此 Skill。支持通过 docid 或文档 URL 定位文档。",
          "filePath": "/root/.openclaw/extensions/wecom/skills/wecom-smartsheet-schema/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/wecom/skills/wecom-smartsheet-schema",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "clawhub",
          "description": "Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/clawhub/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/clawhub",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/coding-agent/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/coding-agent",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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": "/root/.openclaw/workspace/skills/github/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/github",
          "source": "openclaw-workspace",
          "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": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/healthcheck/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/healthcheck",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "obsidian",
          "description": "Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.",
          "filePath": "/root/.openclaw/workspace/skills/obsidian/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/obsidian",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "openai-whisper",
          "description": "Local speech-to-text with the Whisper CLI (no API key).",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/openai-whisper/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/openai-whisper",
          "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": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/skill-creator/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/skill-creator",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/slack/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/slack",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "summarize",
          "description": "Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).",
          "filePath": "/root/.openclaw/workspace/skills/summarize/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/summarize",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tmux",
          "description": "Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/tmux/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/tmux",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "video-frames",
          "description": "Extract frames or short clips from videos using ffmpeg.",
          "filePath": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/video-frames/SKILL.md",
          "baseDir": "/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/video-frames",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/root/.openclaw/workspace/skills/weather/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/weather",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "knowledge-management",
          "description": "Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.",
          "filePath": "/root/.agents/skills/knowledge-management/SKILL.md",
          "baseDir": "/root/.agents/skills/knowledge-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "memory-management",
          "description": "Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.",
          "filePath": "/root/.agents/skills/memory-management/SKILL.md",
          "baseDir": "/root/.agents/skills/memory-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "research",
          "description": "Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. ",
          "filePath": "/root/.agents/skills/research/SKILL.md",
          "baseDir": "/root/.agents/skills/research",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "Agent Browser",

          "description": "A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.",
          "filePath": "/root/.openclaw/workspace/skills/agent-browser/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/agent-browser",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "find-skills",
          "description": "Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.",
          "filePath": "/root/.openclaw/workspace/skills/find-skills/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/find-skills",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "ontology",
          "description": "Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on \"remember\", \"what do I know about\", \"link X to Y\", \"show dependencies\", entity CRUD, or cross-skill data access.",
          "filePath": "/root/.openclaw/workspace/skills/ontology/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/ontology",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "proactive-agent",
          "description": "Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞",
          "filePath": "/root/.openclaw/workspace/skills/proactive-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/proactive-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "self-improvement",
          "description": "Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.",
          "filePath": "/root/.openclaw/workspace/skills/self-improving-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/self-improving-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "skillhub-preference",
          "description": "Prefer `skillhub` for skill discovery/install/update, then fallback to `clawhub` when unavailable or no match. Use when users ask about skills, 插件, or capability extension.",
          "filePath": "/root/.openclaw/workspace/skills/skillhub-preference/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/skillhub-preference",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tavily",
          "description": "AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.",
          "filePath": "/root/.openclaw/workspace/skills/tavily-search/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/tavily-search",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "腾讯云资源管理工具",
          "description": "通过自然语言操作腾讯云资源。支持查询、配置、管理等所有腾讯云 API 3.0 产品。",
          "filePath": "/root/.openclaw/workspace/skills/tencentcloud-management-tool/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/tencentcloud-management-tool",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        }
      ],
      "version": 0
    },
    "deliveryContext": {
      "channel": "slack",
      "to": "user:U0A8ZCK7RJM",
      "accountId": "default"
    },
    "lastChannel": "slack",
    "lastTo": "user:U0A8ZCK7RJM",
    "lastAccountId": "default",
    "sessionFile": "/root/.openclaw/agents/main/sessions/66bb8731-3c73-44d0-a52f-6587317c304e.jsonl",
    "abortedLastRun": false,
    "totalTokensFresh": true,
    "cacheRead": 94080,
    "cacheWrite": 0,
    "origin": {
      "label": "李力",
      "provider": "slack",
      "surface": "slack",
      "chatType": "direct",
      "from": "slack:U0A8ZCK7RJM",
      "to": "user:U0A8ZCK7RJM",
      "accountId": "default"
    },
    "chatType": "direct",
    "systemPromptReport": {
      "source": "run",
      "generatedAt": 1774237727635,
      "sessionId": "66bb8731-3c73-44d0-a52f-6587317c304e",
      "sessionKey": "agent:main:main",
      "provider": "openai_proxy",
      "model": "gpt-5.4-mini",
      "workspaceDir": "/root/.openclaw/workspace",
      "bootstrapMaxChars": 20000,
      "bootstrapTotalMaxChars": 150000,
      "bootstrapTruncation": {
        "warningMode": "once",
        "warningShown": false,
        "truncatedFiles": 0,
        "nearLimitFiles": 0,
        "totalNearLimit": false
      },
      "sandbox": {
        "mode": "off",
        "sandboxed": false
      },
      "systemPrompt": {
        "chars": 46498,
        "projectContextChars": 16706,
        "nonProjectContextChars": 29792
      },
      "injectedWorkspaceFiles": [
        {
          "name": "AGENTS.md",
          "path": "/root/.openclaw/workspace/AGENTS.md",
          "missing": false,
          "rawChars": 8749,
          "injectedChars": 8749,
          "truncated": false
        },
        {
          "name": "SOUL.md",
          "path": "/root/.openclaw/workspace/SOUL.md",
          "missing": false,
          "rawChars": 2484,
          "injectedChars": 2484,
          "truncated": false
        },
        {
          "name": "TOOLS.md",
          "path": "/root/.openclaw/workspace/TOOLS.md",
          "missing": false,
          "rawChars": 1179,
          "injectedChars": 1179,
          "truncated": false
        },
        {
          "name": "IDENTITY.md",
          "path": "/root/.openclaw/workspace/IDENTITY.md",
          "missing": false,
          "rawChars": 182,
          "injectedChars": 182,
          "truncated": false
        },
        {
          "name": "USER.md",
          "path": "/root/.openclaw/workspace/USER.md",
          "missing": false,
          "rawChars": 234,
          "injectedChars": 234,
          "truncated": false
        },
        {
          "name": "HEARTBEAT.md",
          "path": "/root/.openclaw/workspace/HEARTBEAT.md",
          "missing": false,
          "rawChars": 167,
          "injectedChars": 167,
          "truncated": false
        },
        {
          "name": "BOOTSTRAP.md",
          "path": "/root/.openclaw/workspace/BOOTSTRAP.md",
          "missing": false,
          "rawChars": 1449,
          "injectedChars": 1449,
          "truncated": false
        },
        {
          "name": "MEMORY.md",
          "path": "/root/.openclaw/workspace/MEMORY.md",
          "missing": false,
          "rawChars": 1716,
          "injectedChars": 1716,
          "truncated": false
        }
      ],
      "skills": {
        "promptChars": 16613,
        "entries": [
          {
            "name": "feishu-doc",
            "blockChars": 397
          },
          {
            "name": "feishu-drive",
            "blockChars": 389
          },
          {
            "name": "feishu-perm",
            "blockChars": 411
          },
          {
            "name": "feishu-wiki",
            "blockChars": 391
          },
          {
            "name": "qqbot-cron",
            "blockChars": 225
          },
          {
            "name": "qqbot-media",
            "blockChars": 235
          },
          {
            "name": "wecom-contact-lookup",
            "blockChars": 299
          },
          {
            "name": "wecom-doc",
            "blockChars": 277
          },
          {
            "name": "wecom-doc-manager",
            "blockChars": 370
          },
          {
            "name": "wecom-edit-todo",
            "blockChars": 409
          },
          {
            "name": "wecom-get-todo-detail",
            "blockChars": 384
          },
          {
            "name": "wecom-get-todo-list",
            "blockChars": 410
          },
          {
            "name": "wecom-meeting-create",
            "blockChars": 279
          },
          {
            "name": "wecom-meeting-manage",
            "blockChars": 312
          },
          {
            "name": "wecom-meeting-query",
            "blockChars": 337
          },
          {
            "name": "wecom-preflight",
            "blockChars": 292
          },
          {
            "name": "wecom-schedule",
            "blockChars": 346
          },
          {
            "name": "wecom-smartsheet-data",
            "blockChars": 329
          },
          {
            "name": "wecom-smartsheet-schema",
            "blockChars": 359
          },
          {
            "name": "clawhub",
            "blockChars": 534
          },
          {
            "name": "coding-agent",
            "blockChars": 934
          },
          {
            "name": "github",
            "blockChars": 280
          },
          {
            "name": "healthcheck",
            "blockChars": 593
          },
          {
            "name": "obsidian",
            "blockChars": 227
          },
          {
            "name": "openai-whisper",
            "blockChars": 335
          },
          {
            "name": "skill-creator",
            "blockChars": 861
          },
          {
            "name": "slack",
            "blockChars": 414
          },
          {
            "name": "summarize",
            "blockChars": 233
          },
          {
            "name": "tmux",
            "blockChars": 357
          },
          {
            "name": "video-frames",
            "blockChars": 331
          },
          {
            "name": "weather",
            "blockChars": 202
          },
          {
            "name": "knowledge-management",
            "blockChars": 413
          },
          {
            "name": "memory-management",
            "blockChars": 419
          },
          {
            "name": "research",
            "blockChars": 310
          },
          {
            "name": "Agent Browser",
            "blockChars": 322
          },
          {
            "name": "find-skills",
            "blockChars": 487
          },
          {
            "name": "ontology",
            "blockChars": 600
          },
          {
            "name": "proactive-agent",
            "blockChars": 383
          },
          {
            "name": "self-improvement",
            "blockChars": 643
          },
          {
            "name": "skillhub-preference",
            "blockChars": 342
          },
          {
            "name": "tavily",
            "blockChars": 239
          },
          {
            "name": "腾讯云资源管理工具",
            "blockChars": 211
          }
        ]
      },
      "tools": {
        "listChars": 3989,
        "schemaChars": 25115,
        "entries": [
          {
            "name": "read",
            "summaryChars": 298,
            "schemaChars": 392,
            "propertiesCount": 4
          },
          {
            "name": "edit",
            "summaryChars": 129,
            "schemaChars": 591,
            "propertiesCount": 6
          },
          {
            "name": "write",
            "summaryChars": 127,
            "schemaChars": 313,
            "propertiesCount": 3
          },
          {
            "name": "exec",
            "summaryChars": 181,
            "schemaChars": 1086,
            "propertiesCount": 12
          },
          {
            "name": "process",
            "summaryChars": 85,
            "schemaChars": 961,
            "propertiesCount": 12
          },
          {
            "name": "browser",
            "summaryChars": 1251,
            "schemaChars": 2799,
            "propertiesCount": 48
          },
          {
            "name": "canvas",
            "summaryChars": 106,
            "schemaChars": 661,
            "propertiesCount": 18
          },
          {
            "name": "message",
            "summaryChars": 195,
            "schemaChars": 4972,
            "propertiesCount": 91
          },
          {
            "name": "tts",
            "summaryChars": 152,
            "schemaChars": 223,
            "propertiesCount": 2
          },
          {
            "name": "agents_list",
            "summaryChars": 118,
            "schemaChars": 33,
            "propertiesCount": 0
          },
          {
            "name": "sessions_list",
            "summaryChars": 54,
            "schemaChars": 212,
            "propertiesCount": 4
          },
          {
            "name": "sessions_history",
            "summaryChars": 36,
            "schemaChars": 161,
            "propertiesCount": 3
          },
          {
            "name": "sessions_send",
            "summaryChars": 84,
            "schemaChars": 273,
            "propertiesCount": 5
          },
          {
            "name": "sessions_spawn",
            "summaryChars": 198,
            "schemaChars": 1179,
            "propertiesCount": 17
          },
          {
            "name": "subagents",
            "summaryChars": 105,
            "schemaChars": 191,
            "propertiesCount": 4
          },
          {
            "name": "session_status",
            "summaryChars": 207,
            "schemaChars": 89,
            "propertiesCount": 2
          },
          {
            "name": "web_search",
            "summaryChars": 188,
            "schemaChars": 1443,
            "propertiesCount": 10
          },
          {
            "name": "web_fetch",
            "summaryChars": 129,
            "schemaChars": 374,
            "propertiesCount": 3
          },
          {
            "name": "feishu_doc",
            "summaryChars": 321,
            "schemaChars": 2898,
            "propertiesCount": 27
          },
          {
            "name": "feishu_app_scopes",
            "summaryChars": 102,
            "schemaChars": 33,
            "propertiesCount": 0
          },
          {
            "name": "feishu_chat",
            "summaryChars": 46,
            "schemaChars": 508,
            "propertiesCount": 5
          },
          {
            "name": "feishu_wiki",
            "summaryChars": 83,
            "schemaChars": 971,
            "propertiesCount": 10
          },
          {
            "name": "feishu_drive",
            "summaryChars": 81,
            "schemaChars": 486,
            "propertiesCount": 5
          },
          {
            "name": "feishu_bitable_get_meta",
            "summaryChars": 114,
            "schemaChars": 170,
            "propertiesCount": 1
          },
          {
            "name": "feishu_bitable_list_fields",
            "summaryChars": 76,
            "schemaChars": 255,
            "propertiesCount": 2
          },
          {
            "name": "feishu_bitable_list_records",
            "summaryChars": 64,
            "schemaChars": 462,
            "propertiesCount": 4
          },
          {
            "name": "feishu_bitable_get_record",
            "summaryChars": 46,
            "schemaChars": 335,
            "propertiesCount": 3
          },
          {
            "name": "feishu_bitable_create_record",
            "summaryChars": 44,
            "schemaChars": 549,
            "propertiesCount": 3
          },
          {
            "name": "feishu_bitable_update_record",
            "summaryChars": 50,
            "schemaChars": 473,
            "propertiesCount": 4
          },
          {
            "name": "feishu_bitable_create_app",
            "summaryChars": 57,
            "schemaChars": 243,
            "propertiesCount": 2
          },
          {
            "name": "feishu_bitable_create_field",
            "summaryChars": 46,
            "schemaChars": 911,
            "propertiesCount": 5
          },
          {
            "name": "memory_search",
            "summaryChars": 334,
            "schemaChars": 139,
            "propertiesCount": 3
          },
          {
            "name": "memory_get",
            "summaryChars": 151,
            "schemaChars": 128,
            "propertiesCount": 3
          },
          {
            "name": "lookup_conversation_members",
            "summaryChars": 313,
            "schemaChars": 175,
            "propertiesCount": 1
          },
          {
            "name": "wecom_mcp",
            "summaryChars": 288,
            "schemaChars": 426,
            "propertiesCount": 4
          }
        ]
      }
    },
    "compactionCount": 0,
    "modelProvider": "openai_proxy",
    "model": "gpt-5.4-mini",
    "contextTokens": 200000,
    "inputTokens": 936,
    "outputTokens": 527,
    "totalTokens": 94523
  },
  "agent:main:cron:daa3e140-bb72-4d83-bb8f-753b25077d64": {
    "sessionId": "92b08433-2edf-4e54-84e3-399097b84b14",
    "updatedAt": 1774227600006,
    "systemSent": true,
    "label": "Cron: Daily AI Scene Report",
    "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>qqbot-cron</name>\n    <description>QQ Bot 智能提醒技能。支持一次性提醒、周期性任务、自动降级确保送达。可设置、查询、取消提醒。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>qqbot-media</name>\n    <description>QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。【重要】当用户要求发送图片时必须使用 <qqimg> 标签。</description>\n    <location>~/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-doc</name>\n    <description>Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-drive</name>\n    <description>Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-perm</name>\n    <description>Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>feishu-wiki</name>\n    <description>Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n  </skill>\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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/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>~/.openclaw/workspace/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/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>~/.openclaw/workspace/skills/notion/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>obsidian</name>\n    <description>Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.</description>\n    <location>~/.openclaw/workspace/skills/obsidian/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>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>slack</name>\n    <description>Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.</description>\n    <location>~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).</description>\n    <location>~/.openclaw/workspace/skills/summarize/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>~/.openclaw/workspace/skills/weather/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>knowledge-management</name>\n    <description>Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.</description>\n    <location>~/.agents/skills/knowledge-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>memory-management</name>\n    <description>Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.</description>\n    <location>~/.agents/skills/memory-management/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>research</name>\n    <description>Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. </description>\n    <location>~/.agents/skills/research/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>Agent Browser</name>\n    <description>A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.</description>\n    <location>~/.openclaw/workspace/skills/agent-browser/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>find-skills</name>\n    <description>Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.</description>\n    <location>~/.openclaw/workspace/skills/find-skills/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>ontology</name>\n    <description>Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.</description>\n    <location>~/.openclaw/workspace/skills/ontology/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>proactive-agent</name>\n    <description>Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞</description>\n    <location>~/.openclaw/workspace/skills/proactive-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>self-improvement</name>\n    <description>Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</description>\n    <location>~/.openclaw/workspace/skills/self-improving-agent/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>Sysadmin</name>\n    <description>Manage Linux servers with user administration, process control, storage, and system maintenance.</description>\n    <location>~/.openclaw/workspace/skills/sysadmin/SKILL.md</location>\n  </skill>\n  <skill>\n    <name>tavily</name>\n    <description>AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.</description>\n    <location>~/.openclaw/workspace/skills/tavily-search/SKILL.md</location>\n  </skill>\n</available_skills>",
      "skills": [
        {
          "name": "qqbot-cron"
        },
        {
          "name": "qqbot-media"
        },
        {
          "name": "feishu-doc"
        },
        {
          "name": "feishu-drive"
        },
        {
          "name": "feishu-perm"
        },
        {
          "name": "feishu-wiki"
        },
        {
          "name": "clawhub",
          "requiredEnv": []
        },
        {
          "name": "coding-agent",
          "requiredEnv": []
        },
        {
          "name": "github"
        },
        {
          "name": "healthcheck"
        },
        {
          "name": "notion"
        },
        {
          "name": "obsidian"
        },
        {
          "name": "skill-creator"
        },
        {
          "name": "slack",
          "requiredEnv": []
        },
        {
          "name": "summarize"
        },
        {
          "name": "weather"
        },
        {
          "name": "knowledge-management"
        },
        {
          "name": "memory-management"
        },
        {
          "name": "research"
        },
        {
          "name": "Agent Browser"
        },
        {
          "name": "find-skills"
        },
        {
          "name": "ontology"
        },
        {
          "name": "proactive-agent"
        },
        {
          "name": "self-improvement"
        },
        {
          "name": "Sysadmin"
        },
        {
          "name": "tavily"
        }
      ],
      "resolvedSkills": [
        {
          "name": "qqbot-cron",
          "description": "QQ Bot 智能提醒技能。支持一次性提醒、周期性任务、自动降级确保送达。可设置、查询、取消提醒。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-cron",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "qqbot-media",
          "description": "QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。【重要】当用户要求发送图片时必须使用 <qqimg> 标签。",
          "filePath": "/root/.openclaw/extensions/qqbot/skills/qqbot-media/SKILL.md",
          "baseDir": "/root/.openclaw/extensions/qqbot/skills/qqbot-media",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-doc",
          "description": "Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-doc",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-drive",
          "description": "Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-drive",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-perm",
          "description": "Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-perm",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "feishu-wiki",
          "description": "Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.\n",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishu/skills/feishu-wiki",
          "source": "openclaw-extra",
          "disableModelInvocation": false
        },
        {
          "name": "clawhub",
          "description": "Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.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 clawhub CLI.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/clawhub",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/coding-agent",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "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": "/root/.openclaw/workspace/skills/github/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/github",
          "source": "openclaw-workspace",
          "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": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/healthcheck",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "notion",
          "description": "Notion API for creating and managing pages, databases, and blocks.",
          "filePath": "/root/.openclaw/workspace/skills/notion/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/notion",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "obsidian",
          "description": "Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.",
          "filePath": "/root/.openclaw/workspace/skills/obsidian/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/obsidian",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "skill-creator",
          "description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "slack",
          "description": "Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.",
          "filePath": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack/SKILL.md",
          "baseDir": "/root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/slack",
          "source": "openclaw-bundled",
          "disableModelInvocation": false
        },
        {
          "name": "summarize",
          "description": "Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).",
          "filePath": "/root/.openclaw/workspace/skills/summarize/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/summarize",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "weather",
          "description": "Get current weather and forecasts (no API key required).",
          "filePath": "/root/.openclaw/workspace/skills/weather/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/weather",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "knowledge-management",
          "description": "Write and maintain knowledge base articles from resolved support issues. Use when a ticket has been resolved and the solution should be documented, when updating existing KB articles, or when creating how-to guides, troubleshooting docs, or FAQ entries.",
          "filePath": "/root/.agents/skills/knowledge-management/SKILL.md",
          "baseDir": "/root/.agents/skills/knowledge-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "memory-management",
          "description": "Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.",
          "filePath": "/root/.agents/skills/memory-management/SKILL.md",
          "baseDir": "/root/.agents/skills/memory-management",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "research",
          "description": "Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. ",
          "filePath": "/root/.agents/skills/research/SKILL.md",
          "baseDir": "/root/.agents/skills/research",
          "source": "agents-skills-personal",
          "disableModelInvocation": false
        },
        {
          "name": "Agent Browser",
          "description": "A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.",
          "filePath": "/root/.openclaw/workspace/skills/agent-browser/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/agent-browser",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "find-skills",
          "description": "Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.",
          "filePath": "/root/.openclaw/workspace/skills/find-skills/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/find-skills",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "ontology",
          "description": "Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on \"remember\", \"what do I know about\", \"link X to Y\", \"show dependencies\", entity CRUD, or cross-skill data access.",
          "filePath": "/root/.openclaw/workspace/skills/ontology/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/ontology",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "proactive-agent",
          "description": "Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞",
          "filePath": "/root/.openclaw/workspace/skills/proactive-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/proactive-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "self-improvement",
          "description": "Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.",
          "filePath": "/root/.openclaw/workspace/skills/self-improving-agent/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/self-improving-agent",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "Sysadmin",
          "description": "Manage Linux servers with user administration, process control, storage, and system maintenance.",
          "filePath": "/root/.openclaw/workspace/skills/sysadmin/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/sysadmin",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        },
        {
          "name": "tavily",
          "description": "AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.",
          "filePath": "/root/.openclaw/workspace/skills/tavily-search/SKILL.md",
          "baseDir": "/root/.openclaw/workspace/skills/tavily-search",
          "source": "openclaw-workspace",
          "disableModelInvocation": false
        }
      ],
      "version": 0
    },
    "modelProvider": "openai_proxy",
    "model": "gpt-5.4-mini",
    "contextTokens": 200000,
    "inputTokens": 47763,
    "outputTokens": 9683,
    "totalTokens": 57601,
    "totalTokensFresh": true,
    "cacheRead": 469760,
    "cacheWrite": 0,
    "systemPromptReport": {
      "source": "run",
      "generatedAt": 1774227600046,
      "sessionId": "92b08433-2edf-4e54-84e3-399097b84b14",
      "sessionKey": "agent:main:cron:daa3e140-bb72-4d83-bb8f-753b25077d64",
      "provider": "openai_proxy",
      "model": "gpt-5.4-mini",
      "workspaceDir": "/root/.openclaw/workspace",
      "bootstrapMaxChars": 20000,
      "bootstrapTotalMaxChars": 150000,
      "bootstrapTruncation": {
        "warningMode": "once",
        "warningShown": false,
        "truncatedFiles": 0,
        "nearLimitFiles": 0,
        "totalNearLimit": false
      },
      "sandbox": {
        "mode": "off",
        "sandboxed": false
      },
      "systemPrompt": {
        "chars": 31868,
        "projectContextChars": 13634,
        "nonProjectContextChars": 18234
      },
      "injectedWorkspaceFiles": [
        {
          "name": "AGENTS.md",
          "path": "/root/.openclaw/workspace/AGENTS.md",
          "missing": false,
          "rawChars": 8749,
          "injectedChars": 8749,
          "truncated": false
        },
        {
          "name": "SOUL.md",
          "path": "/root/.openclaw/workspace/SOUL.md",
          "missing": false,
          "rawChars": 2484,
          "injectedChars": 2484,
          "truncated": false
        },
        {
          "name": "TOOLS.md",
          "path": "/root/.openclaw/workspace/TOOLS.md",
          "missing": false,
          "rawChars": 1179,
          "injectedChars": 1179,
          "truncated": false
        },
        {
          "name": "IDENTITY.md",
          "path": "/root/.openclaw/workspace/IDENTITY.md",
          "missing": false,
          "rawChars": 182,
          "injectedChars": 182,
          "truncated": false
        },
        {
          "name": "USER.md",
          "path": "/root/.openclaw/workspace/USER.md",
          "missing": false,
          "rawChars": 234,
          "injectedChars": 234,
          "truncated": false
        }
      ],
      "skills": {
        "promptChars": 9556,
        "entries": [
          {
            "name": "qqbot-cron",
            "blockChars": 208
          },
          {
            "name": "qqbot-media",
            "blockChars": 226
          },
          {
            "name": "feishu-doc",
            "blockChars": 311
          },
          {
            "name": "feishu-drive",
            "blockChars": 303
          },
          {
            "name": "feishu-perm",
            "blockChars": 325
          },
          {
            "name": "feishu-wiki",
            "blockChars": 305
          },
          {
            "name": "clawhub",
            "blockChars": 448
          },
          {
            "name": "coding-agent",
            "blockChars": 627
          },
          {
            "name": "github",
            "blockChars": 280
          },
          {
            "name": "healthcheck",
            "blockChars": 507
          },
          {
            "name": "notion",
            "blockChars": 210
          },
          {
            "name": "obsidian",
            "blockChars": 227
          },
          {
            "name": "skill-creator",
            "blockChars": 312
          },
          {
            "name": "slack",
            "blockChars": 328
          },
          {
            "name": "summarize",
            "blockChars": 233
          },
          {
            "name": "weather",
            "blockChars": 202
          },
          {
            "name": "knowledge-management",
            "blockChars": 413
          },
          {
            "name": "memory-management",
            "blockChars": 419
          },
          {
            "name": "research",
            "blockChars": 310
          },
          {
            "name": "Agent Browser",
            "blockChars": 322
          },
          {
            "name": "find-skills",
            "blockChars": 487
          },
          {
            "name": "ontology",
            "blockChars": 600
          },
          {
            "name": "proactive-agent",
            "blockChars": 383
          },
          {
            "name": "self-improvement",
            "blockChars": 643
          },
          {
            "name": "Sysadmin",
            "blockChars": 244
          },
          {
            "name": "tavily",
            "blockChars": 239
          }
        ]
      },
      "tools": {
        "listChars": 4449,
        "schemaChars": 28102,
        "entries": [
          {
            "name": "read",
            "summaryChars": 298,
            "schemaChars": 392,
            "propertiesCount": 4
          },
          {
            "name": "edit",
            "summaryChars": 129,
            "schemaChars": 591,
            "propertiesCount": 6
          },
          {
            "name": "write",
            "summaryChars": 127,
            "schemaChars": 313,
            "propertiesCount": 3
          },
          {
            "name": "exec",
            "summaryChars": 181,
            "schemaChars": 1086,
            "propertiesCount": 12
          },
          {
            "name": "process",
            "summaryChars": 85,
            "schemaChars": 961,
            "propertiesCount": 12
          },
          {
            "name": "browser",
            "summaryChars": 1251,
            "schemaChars": 2799,
            "propertiesCount": 48
          },
          {
            "name": "canvas",
            "summaryChars": 106,
            "schemaChars": 661,
            "propertiesCount": 18
          },
          {
            "name": "nodes",
            "summaryChars": 122,
            "schemaChars": 1800,
            "propertiesCount": 37
          },
          {
            "name": "cron",
            "summaryChars": 2689,
            "schemaChars": 690,
            "propertiesCount": 13
          },
          {
            "name": "message",
            "summaryChars": 195,
            "schemaChars": 4972,
            "propertiesCount": 91
          },
          {
            "name": "tts",
            "summaryChars": 152,
            "schemaChars": 223,
            "propertiesCount": 2
          },
          {
            "name": "gateway",
            "summaryChars": 464,
            "schemaChars": 497,
            "propertiesCount": 12
          },
          {
            "name": "agents_list",
            "summaryChars": 118,
            "schemaChars": 33,
            "propertiesCount": 0
          },
          {
            "name": "sessions_list",
            "summaryChars": 54,
            "schemaChars": 212,
            "propertiesCount": 4
          },
          {
            "name": "sessions_history",
            "summaryChars": 36,
            "schemaChars": 161,
            "propertiesCount": 3
          },
          {
            "name": "sessions_send",
            "summaryChars": 84,
            "schemaChars": 273,
            "propertiesCount": 5
          },
          {
            "name": "sessions_spawn",
            "summaryChars": 198,
            "schemaChars": 1179,
            "propertiesCount": 17
          },
          {
            "name": "subagents",
            "summaryChars": 105,
            "schemaChars": 191,
            "propertiesCount": 4
          },
          {
            "name": "session_status",
            "summaryChars": 207,
            "schemaChars": 89,
            "propertiesCount": 2
          },
          {
            "name": "web_search",
            "summaryChars": 188,
            "schemaChars": 1443,
            "propertiesCount": 10
          },
          {
            "name": "web_fetch",
            "summaryChars": 129,
            "schemaChars": 374,
            "propertiesCount": 3
          },
          {
            "name": "feishu_doc",

[Read output capped at 156KB for this call. Use offset=2565 to continue.]