{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:27:26.855Z","seq":1,"sourceSeq":1,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:27:26.866Z","seq":2,"sourceSeq":2,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:27:26.864Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","agent","--agent","main","-m","Reply with exactly one word: PONG"],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:25:16.980Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false}},"skills":{"install":{"nodeManager":"npm"}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":172800000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"@openclaw/signal","version":"2026.6.9","description":"OpenClaw Signal channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782196045596,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"sag","name":"sag","description":"ElevenLabs text-to-speech with mac-style say UX.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>sag</name>\n    <description>ElevenLabs text-to-speech with mac-style say UX.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md</location>\n    <version>sha256:406461cf91646651</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196046827,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":36702,"hash":"537f4ded704a0f7474798859a63a54d4a89e13847c667bed71cbf5b98a655fa0","projectContextChars":13967,"nonProjectContextChars":22735},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":8048,"injectedChars":8048,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":1797,"injectedChars":1797,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":910,"injectedChars":910,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":693,"injectedChars":693,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":534,"injectedChars":534,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":243,"injectedChars":243,"truncated":false},{"name":"BOOTSTRAP.md","path":"/Users/brandon/.openclaw-link/workspace/BOOTSTRAP.md","missing":false,"rawChars":1510,"injectedChars":1510,"truncated":false}],"skills":{"promptChars":10091,"hash":"35bf1c7ad35be3c85ed983bcd0f19496d96566861c706fd69db2bf85fc261e5d","entries":[{"name":"1password","blockChars":311},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"python-debugpy","blockChars":312},{"name":"sag","blockChars":251},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:27:26.955Z","seq":3,"sourceSeq":3,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"prompt":"Reply with exactly one word: PONG","messages":[],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"11055207"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:27:26.960Z","seq":4,"sourceSeq":4,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"Reply with exactly one word: PONG","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"messages":[],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:27:28.830Z","seq":5,"sourceSeq":5,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":5,"cacheWrite":17462,"total":17469},"promptCache":{"lastCallUsage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"total":17469},"lastCacheTouchAt":1782196046964},"compactionCount":0,"assistantTexts":["PONG"],"finalPromptText":"Reply with exactly one word: PONG","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:27:28.831Z","seq":6,"sourceSeq":6,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:27:28.831Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":5,"cacheWrite":17462,"total":17469},"promptCache":{"lastCallUsage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"total":17469},"lastCacheTouchAt":1782196046964},"compactionCount":0,"assistantTexts":["PONG"],"finalPromptText":"Reply with exactly one word: PONG","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:27:28.831Z","seq":7,"sourceSeq":7,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2bbbcfc7-ced9-469d-9abc-bcd2eebcc152","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:27:50.181Z","seq":1,"sourceSeq":8,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:27:50.191Z","seq":2,"sourceSeq":9,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:27:50.189Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","agent","--agent","main","-m","Reply with exactly one word: PONG"],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:27:44.144Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":172800000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"@openclaw/signal","version":"2026.6.9","description":"OpenClaw Signal channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782196068948,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"sag","name":"sag","description":"ElevenLabs text-to-speech with mac-style say UX.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>sag</name>\n    <description>ElevenLabs text-to-speech with mac-style say UX.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md</location>\n    <version>sha256:406461cf91646651</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196070152,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":36702,"hash":"537f4ded704a0f7474798859a63a54d4a89e13847c667bed71cbf5b98a655fa0","projectContextChars":13967,"nonProjectContextChars":22735},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":8048,"injectedChars":8048,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":1797,"injectedChars":1797,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":910,"injectedChars":910,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":693,"injectedChars":693,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":534,"injectedChars":534,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":243,"injectedChars":243,"truncated":false},{"name":"BOOTSTRAP.md","path":"/Users/brandon/.openclaw-link/workspace/BOOTSTRAP.md","missing":false,"rawChars":1510,"injectedChars":1510,"truncated":false}],"skills":{"promptChars":10091,"hash":"35bf1c7ad35be3c85ed983bcd0f19496d96566861c706fd69db2bf85fc261e5d","entries":[{"name":"1password","blockChars":311},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"python-debugpy","blockChars":312},{"name":"sag","blockChars":251},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:27:50.280Z","seq":3,"sourceSeq":10,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"prompt":"Reply with exactly one word: PONG","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"805f4de5"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:27:50.286Z","seq":4,"sourceSeq":11,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"Reply with exactly one word: PONG","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:27:51.591Z","seq":5,"sourceSeq":12,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"total":17509},"promptCache":{"lastCallUsage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"total":17509},"lastCacheTouchAt":1782196070291},"compactionCount":0,"assistantTexts":["PONG"],"finalPromptText":"Reply with exactly one word: PONG","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:27:51.592Z","seq":6,"sourceSeq":13,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:27:51.592Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"total":17509},"promptCache":{"lastCallUsage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"total":17509},"lastCacheTouchAt":1782196070291},"compactionCount":0,"assistantTexts":["PONG"],"finalPromptText":"Reply with exactly one word: PONG","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:27:51.592Z","seq":7,"sourceSeq":14,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"8c2d9bd0-5f7d-48bc-a76f-7b651b343773","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:28:11.688Z","seq":1,"sourceSeq":15,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:28:11.697Z","seq":2,"sourceSeq":16,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:28:11.694Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","agent","--agent","main","-m","In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:27:44.144Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":172800000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"@openclaw/signal","version":"2026.6.9","description":"OpenClaw Signal channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782196090533,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"sag","name":"sag","description":"ElevenLabs text-to-speech with mac-style say UX.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>sag</name>\n    <description>ElevenLabs text-to-speech with mac-style say UX.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md</location>\n    <version>sha256:406461cf91646651</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196091660,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":36702,"hash":"537f4ded704a0f7474798859a63a54d4a89e13847c667bed71cbf5b98a655fa0","projectContextChars":13967,"nonProjectContextChars":22735},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":8048,"injectedChars":8048,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":1797,"injectedChars":1797,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":910,"injectedChars":910,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":693,"injectedChars":693,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":534,"injectedChars":534,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":243,"injectedChars":243,"truncated":false},{"name":"BOOTSTRAP.md","path":"/Users/brandon/.openclaw-link/workspace/BOOTSTRAP.md","missing":false,"rawChars":1510,"injectedChars":1510,"truncated":false}],"skills":{"promptChars":10091,"hash":"35bf1c7ad35be3c85ed983bcd0f19496d96566861c706fd69db2bf85fc261e5d","entries":[{"name":"1password","blockChars":311},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"python-debugpy","blockChars":312},{"name":"sag","blockChars":251},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:28:11.784Z","seq":3,"sourceSeq":17,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"prompt":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size.","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"88dc27c4"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:28:11.790Z","seq":4,"sourceSeq":18,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size.","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":36702,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:28:15.346Z","seq":5,"sourceSeq":19,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"total":17675},"promptCache":{"lastCallUsage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"total":17675},"lastCacheTouchAt":1782196091796},"compactionCount":0,"assistantTexts":["I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."],"finalPromptText":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size.","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:28:15.347Z","seq":6,"sourceSeq":20,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:28:15.347Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"total":17675},"promptCache":{"lastCallUsage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"total":17675},"lastCacheTouchAt":1782196091796},"compactionCount":0,"assistantTexts":["I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."],"finalPromptText":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size.","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:28:15.348Z","seq":7,"sourceSeq":21,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"4d1ab832-9213-45af-a142-17876e2cf92f","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:28:29.970Z","seq":1,"sourceSeq":22,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"webchat","messageChannel":"webchat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:28:29.980Z","seq":2,"sourceSeq":23,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:28:29.977Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","gateway","--port","18790"],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:27:44.144Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["bonjour","browser","canvas","device-pair","file-transfer","memory-core","phone-control","talk-voice"],"entries":[{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"}]},"skills":{"snapshotVersion":1782196090533,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"sag","name":"sag","description":"ElevenLabs text-to-speech with mac-style say UX.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/sag","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>sag</name>\n    <description>ElevenLabs text-to-speech with mac-style say UX.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/sag/SKILL.md</location>\n    <version>sha256:406461cf91646651</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196109942,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":37783,"hash":"918b1c3dbede22b7d3733f041ffb63450756097f3ba4989f852871163be3e932","projectContextChars":13967,"nonProjectContextChars":23816},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":8048,"injectedChars":8048,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":1797,"injectedChars":1797,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":910,"injectedChars":910,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":693,"injectedChars":693,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":534,"injectedChars":534,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":243,"injectedChars":243,"truncated":false},{"name":"BOOTSTRAP.md","path":"/Users/brandon/.openclaw-link/workspace/BOOTSTRAP.md","missing":false,"rawChars":1510,"injectedChars":1510,"truncated":false}],"skills":{"promptChars":10091,"hash":"35bf1c7ad35be3c85ed983bcd0f19496d96566861c706fd69db2bf85fc261e5d","entries":[{"name":"1password","blockChars":311},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"python-debugpy","blockChars":312},{"name":"sag","blockChars":251},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"webchat","messageChannel":"webchat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:28:30.054Z","seq":3,"sourceSeq":24,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":37783,"limitChars":32768},"prompt":"Reply with exactly: LINK-OK","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"a0e20c2e"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:28:30.060Z","seq":4,"sourceSeq":25,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"Reply with exactly: LINK-OK","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":37783,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:28:32.681Z","seq":5,"sourceSeq":26,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"total":18079},"promptCache":{"lastCallUsage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"total":18079},"lastCacheTouchAt":1782196110079},"compactionCount":0,"assistantTexts":["LINK-OK"],"finalPromptText":"Reply with exactly: LINK-OK","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:28:32.682Z","seq":6,"sourceSeq":27,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:28:32.682Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"total":18079},"promptCache":{"lastCallUsage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"total":18079},"lastCacheTouchAt":1782196110079},"compactionCount":0,"assistantTexts":["LINK-OK"],"finalPromptText":"Reply with exactly: LINK-OK","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:28:32.683Z","seq":7,"sourceSeq":28,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"2409c422-3c9e-4dd6-8494-cc750256804e","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:36:11.989Z","seq":1,"sourceSeq":29,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"webchat","messageChannel":"webchat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:36:11.999Z","seq":2,"sourceSeq":30,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:36:11.996Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"d8cfb42","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","gateway","--port","18790"],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:34:47.012Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["bonjour","browser","canvas","device-pair","file-transfer","memory-core","phone-control","signal","talk-voice"],"entries":[{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"}]},"skills":{"snapshotVersion":1782196507868,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196571972,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":35876,"hash":"b4083aa0057fab73ee9d580c9d2950cbda113a317ccd75b070bcbb213064f58c","projectContextChars":12948,"nonProjectContextChars":22928},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":8048,"injectedChars":8048,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":1797,"injectedChars":1797,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":910,"injectedChars":910,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1175,"injectedChars":1175,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":600,"injectedChars":600,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":243,"injectedChars":243,"truncated":false}],"skills":{"promptChars":9837,"hash":"3333fb1d529c35c4d6e72e643e9229fcdc683fb759ab24e82c11e8a0f5618e05","entries":[{"name":"1password","blockChars":311},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"python-debugpy","blockChars":312},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"webchat","messageChannel":"webchat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:36:12.019Z","seq":3,"sourceSeq":31,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":35876,"limitChars":32768},"prompt":"Who are you? One sentence: name, model, context window, and your Signal number.","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"baef25c5"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:36:12.025Z","seq":4,"sourceSeq":32,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"Who are you? One sentence: name, model, context window, and your Signal number.","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":35876,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:36:15.008Z","seq":5,"sourceSeq":33,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":51,"cacheWrite":17411,"total":17464},"promptCache":{"lastCallUsage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"total":17464},"lastCacheTouchAt":1782196572043},"compactionCount":0,"assistantTexts":["I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."],"finalPromptText":"Who are you? One sentence: name, model, context window, and your Signal number.","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:36:15.010Z","seq":6,"sourceSeq":34,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:36:15.010Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":51,"cacheWrite":17411,"total":17464},"promptCache":{"lastCallUsage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"total":17464},"lastCacheTouchAt":1782196572043},"compactionCount":0,"assistantTexts":["I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."],"finalPromptText":"Who are you? One sentence: name, model, context window, and your Signal number.","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:36:15.011Z","seq":7,"sourceSeq":35,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"45b14ca0-cc3f-43c5-a74b-43d944ad7760","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:39:16.888Z","seq":1,"sourceSeq":36,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"webchat","messageChannel":"webchat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:39:16.897Z","seq":2,"sourceSeq":37,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:39:16.895Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","/opt/homebrew/bin/openclaw","gateway","--port","18790"],"entrypoint":"/opt/homebrew/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:34:47.012Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["bonjour","browser","canvas","device-pair","file-transfer","memory-core","phone-control","signal","talk-voice"],"entries":[{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/opt/homebrew/lib/node_modules/openclaw/dist/extensions/talk-voice"}]},"skills":{"snapshotVersion":1782196747111,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"/opt/homebrew/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>/opt/homebrew/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782196756871,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":56834,"hash":"18e549728258de46eea3e128589c6c45a11f8ee18f5800c6245484641ebe5874","projectContextChars":32636,"nonProjectContextChars":24198},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11170,"hash":"61aeb9031d54225d518fc438d68712a2549320edca94376c9da88b8c2e72fb3a","entries":[{"name":"1password","blockChars":311},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":290},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":310},{"name":"clawhub","blockChars":300},{"name":"diagram-maker","blockChars":313},{"name":"gh-issues","blockChars":336},{"name":"github","blockChars":307},{"name":"gog","blockChars":279},{"name":"healthcheck","blockChars":325},{"name":"imsg","blockChars":288},{"name":"mcporter","blockChars":313},{"name":"meme-maker","blockChars":298},{"name":"model-usage","blockChars":321},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":281},{"name":"node-connect","blockChars":328},{"name":"node-inspect-debugger","blockChars":324},{"name":"notion","blockChars":319},{"name":"openai-whisper","blockChars":280},{"name":"peekaboo","blockChars":265},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":312},{"name":"session-logs","blockChars":300},{"name":"skill-creator","blockChars":306},{"name":"spike","blockChars":298},{"name":"summarize","blockChars":316},{"name":"taskflow","blockChars":328},{"name":"taskflow-inbox-triage","blockChars":338},{"name":"tmux","blockChars":316},{"name":"video-frames","blockChars":276},{"name":"weather","blockChars":336}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"webchat","messageChannel":"webchat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:39:16.918Z","seq":3,"sourceSeq":38,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":56834,"limitChars":32768},"prompt":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path).","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"0e573d30"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:39:16.924Z","seq":4,"sourceSeq":39,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path).","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":56834,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:39:21.629Z","seq":5,"sourceSeq":40,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"total":27286},"promptCache":{"lastCallUsage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"total":27286},"lastCacheTouchAt":1782196756943},"compactionCount":0,"assistantTexts":["I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."],"finalPromptText":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path).","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:39:21.631Z","seq":6,"sourceSeq":41,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:39:21.631Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"total":27286},"promptCache":{"lastCallUsage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"total":27286},"lastCacheTouchAt":1782196756943},"compactionCount":0,"assistantTexts":["I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."],"finalPromptText":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path).","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:39:21.631Z","seq":7,"sourceSeq":42,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"5ca0306a-9816-4c43-b7ba-d2d2cd2e82e2","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:50:53.100Z","seq":1,"sourceSeq":43,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"user","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"webchat","messageChannel":"webchat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:50:53.109Z","seq":2,"sourceSeq":44,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:50:53.107Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:45:34.730Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"user","disableTools":false,"toolResultFormat":"markdown"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["bonjour","browser","canvas","device-pair","file-transfer","memory-core","phone-control","signal","talk-voice"],"entries":[{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"}]},"skills":{"snapshotVersion":1782197396063,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782197453081,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57177,"hash":"49160b7b1789e57a10432c3191a846dfe658f08f818c75318878be14d896dc83","projectContextChars":32636,"nonProjectContextChars":24541},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"webchat","messageChannel":"webchat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:50:53.131Z","seq":3,"sourceSeq":45,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57177,"limitChars":32768},"prompt":"Reply in one line: confirm you're Link and you're alive.","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"0938b0cd"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:50:53.137Z","seq":4,"sourceSeq":46,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"Reply in one line: confirm you're Link and you're alive.","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57177,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:50:55.663Z","seq":5,"sourceSeq":47,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":15,"cacheWrite":27440,"total":27457},"promptCache":{"lastCallUsage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"total":27457},"lastCacheTouchAt":1782197453156},"compactionCount":0,"assistantTexts":["Link here — alive and running. 🔗"],"finalPromptText":"Reply in one line: confirm you're Link and you're alive.","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:50:55.665Z","seq":6,"sourceSeq":48,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:50:55.665Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":15,"cacheWrite":27440,"total":27457},"promptCache":{"lastCallUsage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"total":27457},"lastCacheTouchAt":1782197453156},"compactionCount":0,"assistantTexts":["Link here — alive and running. 🔗"],"finalPromptText":"Reply in one line: confirm you're Link and you're alive.","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:50:55.666Z","seq":7,"sourceSeq":49,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"60c6ce51-031a-4e85-b6e6-780d16b35266","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T06:53:03.137Z","seq":1,"sourceSeq":50,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T06:53:03.138Z","seq":2,"sourceSeq":51,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:53:03.137Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T06:45:34.730Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["bonjour","browser","canvas","device-pair","file-transfer","memory-core","phone-control","signal","talk-voice"],"entries":[{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782197583124,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T06:53:03.151Z","seq":3,"sourceSeq":52,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"e2807863"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T06:53:03.155Z","seq":4,"sourceSeq":53,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T06:53:04.941Z","seq":5,"sourceSeq":54,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782197583158},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782197583156},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197583158,"responseId":"msg_01LU8TdyuiLQBvskVb4STZUu","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T06:53:04.943Z","seq":6,"sourceSeq":55,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T06:53:04.943Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782197583158},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T06:53:04.943Z","seq":7,"sourceSeq":56,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0c5efb4b-657d-45ca-96da-d9ba8f862e36","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T07:59:36.051Z","seq":1,"sourceSeq":57,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T07:59:36.052Z","seq":2,"sourceSeq":58,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T07:59:36.052Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T07:07:22.894Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"memory":{"backend":"qmd","citations":"auto","qmd":{"command":"/Users/brandon/.bun/bin/qmd","searchMode":"query","rerank":true,"sessions":{"enabled":true},"update":{"onBoot":false,"startup":"idle"},"limits":{"timeoutMs":120000}}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","signal","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782201576039,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T07:59:36.075Z","seq":3,"sourceSeq":59,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"5fbca9b9"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T07:59:36.079Z","seq":4,"sourceSeq":60,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T07:59:38.277Z","seq":5,"sourceSeq":61,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782201576081},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782201576079},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782201576081,"responseId":"msg_01FHP1Vr9TKQFvm7BDTaCDKr","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T07:59:38.280Z","seq":6,"sourceSeq":62,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T07:59:38.280Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782201576081},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T07:59:38.280Z","seq":7,"sourceSeq":63,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"e1a34581-e50c-4696-8d68-a0265478f979","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T08:23:03.145Z","seq":1,"sourceSeq":64,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T08:23:03.146Z","seq":2,"sourceSeq":65,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T08:23:03.145Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T07:07:22.894Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"memory":{"backend":"qmd","citations":"auto","qmd":{"command":"/Users/brandon/.bun/bin/qmd","searchMode":"query","rerank":true,"sessions":{"enabled":true},"update":{"onBoot":false,"startup":"idle"},"limits":{"timeoutMs":120000}}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","signal","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782202983132,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T08:23:03.169Z","seq":3,"sourceSeq":66,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"1fe62d05"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T08:23:03.173Z","seq":4,"sourceSeq":67,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T08:23:06.239Z","seq":5,"sourceSeq":68,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782202983176},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782202983173},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782202983176,"responseId":"msg_01PqXqRfEGJxhy2YyPT4Gsfd","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T08:23:06.243Z","seq":6,"sourceSeq":69,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T08:23:06.243Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782202983176},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T08:23:06.244Z","seq":7,"sourceSeq":70,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"514c2dff-31ea-450e-898b-c5f3e858ca53","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T08:57:01.486Z","seq":1,"sourceSeq":71,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T08:57:01.487Z","seq":2,"sourceSeq":72,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T08:57:01.486Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T07:07:22.894Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"memory":{"backend":"qmd","citations":"auto","qmd":{"command":"/Users/brandon/.bun/bin/qmd","searchMode":"query","rerank":true,"sessions":{"enabled":true},"update":{"onBoot":false,"startup":"idle"},"limits":{"timeoutMs":120000}}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","signal","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782205021473,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T08:57:01.509Z","seq":3,"sourceSeq":73,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"3e87fcb7"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T08:57:01.513Z","seq":4,"sourceSeq":74,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T08:57:02.962Z","seq":5,"sourceSeq":75,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782205021516},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782205021514},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782205021516,"responseId":"msg_01RfGZ2qemqMHEtyTLKoSJvu","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T08:57:02.966Z","seq":6,"sourceSeq":76,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T08:57:02.966Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":1442,"cacheWrite":25951,"total":27408},"lastCacheTouchAt":1782205021516},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T08:57:02.966Z","seq":7,"sourceSeq":77,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"0129642f-c067-46ff-b560-43346e284a96","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T09:23:03.146Z","seq":1,"sourceSeq":78,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T09:23:03.147Z","seq":2,"sourceSeq":79,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T09:23:03.146Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T07:07:22.894Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"memory":{"backend":"qmd","citations":"auto","qmd":{"command":"/Users/brandon/.bun/bin/qmd","searchMode":"query","rerank":true,"sessions":{"enabled":true},"update":{"onBoot":false,"startup":"idle"},"limits":{"timeoutMs":120000}}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","signal","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782206583134,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T09:23:03.171Z","seq":3,"sourceSeq":80,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"742a93a0"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T09:23:03.174Z","seq":4,"sourceSeq":81,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T09:23:04.969Z","seq":5,"sourceSeq":82,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheWrite":27393,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"total":27408},"lastCacheTouchAt":1782206583177},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782206583175},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782206583177,"responseId":"msg_01RZErc2P22abRAnbrdgDkJZ","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T09:23:04.972Z","seq":6,"sourceSeq":83,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T09:23:04.972Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheWrite":27393,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"total":27408},"lastCacheTouchAt":1782206583177},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T09:23:04.973Z","seq":7,"sourceSeq":84,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"c5d1f4dc-1080-4f2d-b662-c891100f4d56","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.started","ts":"2026-06-23T09:53:03.144Z","seq":1,"sourceSeq":85,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"trigger":"heartbeat","sessionFile":"/Users/brandon/.openclaw-link/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl","workspaceDir":"/Users/brandon/.openclaw-link/workspace","agentId":"main","messageProvider":"heartbeat","localModelLean":false,"toolCount":24,"clientToolCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.metadata","ts":"2026-06-23T09:53:03.145Z","seq":2,"sourceSeq":86,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T09:53:03.144Z","harness":{"type":"openclaw","name":"OpenClaw","version":"2026.6.9","gitSha":"c645ec4","os":{"platform":"darwin","arch":"arm64","release":"25.3.0","label":"macos 26.3 (arm64)"},"runtime":{"node":"v26.3.1"},"invocation":["/opt/homebrew/Cellar/node/26.3.1/bin/node","$OPENCLAW_STATE_DIR/runtime/bin/openclaw","gateway","--port","18790"],"entrypoint":"$OPENCLAW_STATE_DIR/runtime/bin/openclaw","workspaceDir":"$OPENCLAW_STATE_DIR/workspace","sessionFile":"$OPENCLAW_STATE_DIR/agents/main/sessions/48b7ff1f-a621-47bb-bf01-7c0237e962f0.jsonl"},"model":{"provider":"dario","name":"claude-opus-4-8","api":"anthropic-messages","fastMode":false,"thinkLevel":"off","reasoningLevel":"off"},"config":{"redacted":{"meta":{"lastTouchedVersion":"2026.6.9","lastTouchedAt":"2026-06-23T07:07:22.894Z"},"wizard":{"lastRunAt":"2026-06-23T06:25:16.972Z","lastRunVersion":"2026.6.9","lastRunCommand":"onboard","lastRunMode":"local"},"models":{"mode":"merge","providers":{"dario":{"baseUrl":"http://127.0.0.1:3456","api":"anthropic-messages","models":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"agents":{"defaults":{"model":{"primary":"dario/claude-opus-4-8"},"models":{"dario/claude-opus-4-8":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"workspace":"/Users/brandon/.openclaw-link/workspace","maxConcurrent":4,"subagents":{"maxConcurrent":8,"archiveAfterMinutes":60}}},"tools":{"profile":"coding"},"commands":{"native":"auto","nativeSkills":"auto","restart":true,"ownerAllowFrom":["signal:+12817509483"],"ownerDisplay":"raw"},"session":{"dmScope":"per-channel-peer"},"channels":{"signal":{"enabled":true,"cliPath":"signal-cli","account":"+12135792424","httpHost":"127.0.0.1","httpPort":8080,"autoStart":false,"dmPolicy":"pairing","groupPolicy":"allowlist"}},"gateway":{"port":18790,"mode":"local","bind":"loopback","auth":{"mode":"token"},"tailscale":{"mode":"off","resetOnExit":false},"remote":{"url":"ws://127.0.0.1:18790"}},"memory":{"backend":"qmd","citations":"auto","qmd":{"command":"/Users/brandon/.bun/bin/qmd","searchMode":"query","rerank":true,"sessions":{"enabled":true},"update":{"onBoot":false,"startup":"idle"},"limits":{"timeoutMs":120000}}},"skills":{"install":{"nodeManager":"npm"}},"plugins":{"entries":{"signal":{"enabled":true,"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"memory-core":{"config":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}},"messages":{"ackReactionScope":"group-mentions"},"cron":{"maxConcurrentRuns":8}},"runtime":{"timeoutMs":600000,"trigger":"heartbeat","disableTools":false,"toolResultFormat":"plain"}},"plugins":{"source":"active-registry","importedRuntimePluginIds":["alibaba","anthropic","azure-speech","bonjour","browser","byteplus","canvas","cohere","comfy","copilot-proxy","deepgram","device-pair","document-extract","elevenlabs","fal","file-transfer","fireworks","github-copilot","google","huggingface","litellm","lmstudio","memory-core","microsoft","microsoft-foundry","minimax","mistral","moonshot","novita","nvidia","ollama","openai","opencode","opencode-go","openrouter","phone-control","runway","senseaudio","sglang","signal","synthetic","talk-voice","tencent","together","tts-local-cli","venice","vercel-ai-gateway","vllm","volcengine","voyage","vydra","web-readability","xai","xiaomi","zai"],"entries":[{"id":"active-memory","name":"Active Memory","description":"Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/active-memory"},{"id":"admin-http-rpc","name":"@openclaw/admin-http-rpc","version":"2026.6.9","description":"OpenClaw admin HTTP RPC endpoint","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/admin-http-rpc"},{"id":"alibaba","name":"Alibaba Model Studio Plugin","version":"2026.6.9","description":"Bundled Alibaba Model Studio video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/alibaba","videoGenerationProviderIds":["alibaba"]},{"id":"anthropic","name":"Anthropic Provider","version":"2026.6.9","description":"Bundled Anthropic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/anthropic","cliBackendIds":["claude-cli"],"providerIds":["anthropic"],"mediaUnderstandingProviderIds":["anthropic"]},{"id":"azure-speech","name":"Azure Speech","version":"2026.6.9","description":"Bundled Azure Speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/azure-speech","speechProviderIds":["azure","azure-speech"]},{"id":"bonjour","name":"Bonjour Gateway Discovery","version":"2026.6.9","description":"Advertise the local OpenClaw gateway over Bonjour/mDNS.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/bonjour"},{"id":"browser","name":"Browser","version":"2026.6.9","description":"Default browser tool plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/browser"},{"id":"byteplus","name":"BytePlus Provider","version":"2026.6.9","description":"Bundled BytePlus provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/byteplus","providerIds":["byteplus","byteplus-plan"],"videoGenerationProviderIds":["byteplus"]},{"id":"canvas","name":"Canvas","version":"2026.6.9","description":"Experimental Canvas control and A2UI rendering surfaces for paired nodes.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/canvas"},{"id":"clickclack","name":"@openclaw/clickclack","version":"2026.6.9","description":"OpenClaw ClickClack channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/clickclack","channelIds":["clickclack"]},{"id":"codex-supervisor","name":"Codex Supervisor","version":"2026.6.9","description":"Supervise Codex app-server sessions from OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/codex-supervisor"},{"id":"cohere","name":"Cohere Provider","version":"2026.6.9","description":"Cohere provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/cohere","providerIds":["cohere"]},{"id":"comfy","name":"ComfyUI Provider","version":"2026.6.9","description":"Bundled ComfyUI workflow media generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/comfy","providerIds":["comfy"],"imageGenerationProviderIds":["comfy"],"videoGenerationProviderIds":["comfy"],"musicGenerationProviderIds":["comfy"]},{"id":"copilot-proxy","name":"Copilot Proxy","version":"2026.6.9","description":"Local Copilot Proxy (VS Code LM) provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/copilot-proxy","providerIds":["copilot-proxy"]},{"id":"deepgram","name":"Deepgram Media Understanding","version":"2026.6.9","description":"Bundled Deepgram audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/deepgram","realtimeTranscriptionProviderIds":["deepgram"],"mediaUnderstandingProviderIds":["deepgram"]},{"id":"device-pair","name":"Device Pair","description":"QR/bootstrap pairing helpers for OpenClaw devices","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/device-pair"},{"id":"document-extract","name":"Document Extraction","version":"2026.6.9","description":"Extract text and fallback page images from local document attachments.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/document-extract"},{"id":"duckduckgo","name":"@openclaw/duckduckgo-plugin","version":"2026.6.9","description":"OpenClaw DuckDuckGo plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/duckduckgo","webSearchProviderIds":["duckduckgo"]},{"id":"elevenlabs","name":"ElevenLabs Speech","version":"2026.6.9","description":"Bundled ElevenLabs speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/elevenlabs","speechProviderIds":["elevenlabs"],"realtimeTranscriptionProviderIds":["elevenlabs"],"mediaUnderstandingProviderIds":["elevenlabs"]},{"id":"fal","name":"fal Provider","version":"2026.6.9","description":"Bundled fal image, video, and music generation provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fal","providerIds":["fal"],"imageGenerationProviderIds":["fal"],"videoGenerationProviderIds":["fal"],"musicGenerationProviderIds":["fal"]},{"id":"file-transfer","name":"File Transfer","version":"2026.6.9","description":"Fetch, list, and write files on paired nodes via dedicated node commands.","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/file-transfer","toolNames":["dir_fetch","dir_list","file_fetch","file_write"]},{"id":"fireworks","name":"Fireworks Provider","version":"2026.6.9","description":"Bundled Fireworks AI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/fireworks","providerIds":["fireworks"]},{"id":"github-copilot","name":"GitHub Copilot Provider","version":"2026.6.9","description":"Bundled GitHub Copilot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/github-copilot","providerIds":["github-copilot"],"memoryEmbeddingProviderIds":["github-copilot"]},{"id":"google","name":"Google Plugin","version":"2026.6.9","description":"Bundled Google plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/google","cliBackendIds":["google-gemini-cli"],"providerIds":["google","google-gemini-cli","google-vertex"],"speechProviderIds":["google"],"realtimeVoiceProviderIds":["google"],"mediaUnderstandingProviderIds":["google"],"imageGenerationProviderIds":["google"],"videoGenerationProviderIds":["google"],"musicGenerationProviderIds":["google"],"webSearchProviderIds":["gemini"],"memoryEmbeddingProviderIds":["gemini"]},{"id":"huggingface","name":"Hugging Face Provider","version":"2026.6.9","description":"Bundled Hugging Face provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/huggingface","providerIds":["huggingface"]},{"id":"imessage","name":"@openclaw/imessage","version":"2026.6.9","description":"OpenClaw iMessage channel plugin using imsg on a signed-in Mac","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/imessage","channelIds":["imessage"]},{"id":"irc","name":"@openclaw/irc","version":"2026.6.9","description":"OpenClaw IRC channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/irc","channelIds":["irc"]},{"id":"litellm","name":"LiteLLM Provider","version":"2026.6.9","description":"Bundled LiteLLM provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/litellm","providerIds":["litellm"],"imageGenerationProviderIds":["litellm"]},{"id":"llm-task","name":"LLM Task","version":"2026.5.21","description":"Generic JSON-only LLM tool for structured tasks callable from workflows.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/llm-task"},{"id":"lmstudio","name":"LM Studio Provider","version":"2026.6.9","description":"Bundled LM Studio provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/lmstudio","providerIds":["lmstudio"],"memoryEmbeddingProviderIds":["lmstudio"]},{"id":"mattermost","name":"@openclaw/mattermost","version":"2026.6.9","description":"OpenClaw Mattermost channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mattermost","channelIds":["mattermost"]},{"id":"memory-core","name":"Memory (Core)","version":"2026.6.9","description":"File-backed memory search tools and CLI","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"selected memory slot","status":"loaded","format":"openclaw","kind":"memory","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-core","toolNames":["memory_get","memory_search"]},{"id":"memory-wiki","name":"Memory Wiki","version":"2026.6.9","description":"Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/memory-wiki"},{"id":"microsoft","name":"Microsoft Speech","version":"2026.6.9","description":"Bundled Microsoft speech provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft","speechProviderIds":["microsoft"]},{"id":"microsoft-foundry","name":"Microsoft Foundry Provider","version":"2026.6.9","description":"Microsoft Foundry provider with Entra ID and API key auth","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/microsoft-foundry","providerIds":["microsoft-foundry"],"imageGenerationProviderIds":["microsoft-foundry"]},{"id":"migrate-claude","name":"Claude Migration","version":"2026.6.9","description":"Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-claude"},{"id":"migrate-hermes","name":"Hermes Migration","version":"2026.6.9","description":"Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/migrate-hermes"},{"id":"minimax","name":"MiniMax","version":"2026.6.9","description":"Bundled MiniMax API-key and OAuth provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/minimax","providerIds":["minimax","minimax-portal"],"speechProviderIds":["minimax"],"mediaUnderstandingProviderIds":["minimax","minimax-portal"],"imageGenerationProviderIds":["minimax","minimax-portal"],"videoGenerationProviderIds":["minimax","minimax-portal"],"musicGenerationProviderIds":["minimax","minimax-portal"],"webSearchProviderIds":["minimax"]},{"id":"mistral","name":"Mistral Provider","version":"2026.6.9","description":"Bundled Mistral provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/mistral","providerIds":["mistral"],"realtimeTranscriptionProviderIds":["mistral"],"mediaUnderstandingProviderIds":["mistral"],"memoryEmbeddingProviderIds":["mistral"]},{"id":"moonshot","name":"Moonshot Provider","version":"2026.6.9","description":"Bundled Moonshot provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/moonshot","providerIds":["moonshot"],"mediaUnderstandingProviderIds":["moonshot"],"webSearchProviderIds":["kimi"]},{"id":"novita","name":"NovitaAI Provider","version":"2026.6.9","description":"Bundled NovitaAI provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/novita","providerIds":["novita","novita-ai","novitaai"]},{"id":"nvidia","name":"NVIDIA Provider","version":"2026.6.9","description":"Bundled NVIDIA provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/nvidia","providerIds":["nvidia"]},{"id":"oc-path","name":"OC Path","version":"2026.6.9","description":"Adds the openclaw path CLI for oc:// workspace file addressing.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/oc-path"},{"id":"ollama","name":"Ollama Provider","version":"2026.6.9","description":"Bundled Ollama provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/ollama","providerIds":["ollama","ollama-cloud"],"mediaUnderstandingProviderIds":["ollama"],"webSearchProviderIds":["ollama"],"memoryEmbeddingProviderIds":["ollama"]},{"id":"open-prose","name":"OpenProse","version":"2026.6.9","description":"OpenProse VM skill pack with a /prose slash command.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/open-prose"},{"id":"openai","name":"OpenAI Provider","version":"2026.6.9","description":"Bundled OpenAI provider plugins","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openai","providerIds":["openai"],"speechProviderIds":["openai"],"realtimeTranscriptionProviderIds":["openai"],"realtimeVoiceProviderIds":["openai"],"mediaUnderstandingProviderIds":["openai"],"imageGenerationProviderIds":["openai"],"videoGenerationProviderIds":["openai"],"memoryEmbeddingProviderIds":["openai"]},{"id":"opencode","name":"OpenCode Zen Provider","version":"2026.6.9","description":"Bundled OpenCode Zen provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode","providerIds":["opencode"],"mediaUnderstandingProviderIds":["opencode"]},{"id":"opencode-go","name":"OpenCode Go Provider","version":"2026.6.9","description":"Bundled OpenCode Go provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/opencode-go","providerIds":["opencode-go"],"mediaUnderstandingProviderIds":["opencode-go"]},{"id":"openrouter","name":"OpenRouter Provider","version":"2026.6.9","description":"Bundled OpenRouter provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/openrouter","providerIds":["openrouter"],"speechProviderIds":["openrouter"],"mediaUnderstandingProviderIds":["openrouter"],"imageGenerationProviderIds":["openrouter"],"videoGenerationProviderIds":["openrouter"],"musicGenerationProviderIds":["openrouter"]},{"id":"phone-control","name":"Phone Control","description":"Temporary allowlist control for phone automation commands","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/phone-control"},{"id":"policy","name":"Policy","version":"2026.6.9","description":"Adds policy-backed doctor checks for workspace conformance.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/policy"},{"id":"runway","name":"Runway Provider","version":"2026.6.9","description":"Bundled Runway video provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/runway","videoGenerationProviderIds":["runway"]},{"id":"searxng","name":"@openclaw/searxng-plugin","version":"2026.6.9","description":"OpenClaw SearXNG plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/searxng","webSearchProviderIds":["searxng"]},{"id":"senseaudio","name":"SenseAudio","version":"2026.6.9","description":"Bundled SenseAudio audio transcription provider","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/senseaudio","mediaUnderstandingProviderIds":["senseaudio"]},{"id":"sglang","name":"SGLang Provider","version":"2026.6.9","description":"Bundled SGLang provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sglang","providerIds":["sglang"]},{"id":"signal","name":"Signal","version":"2026.6.9","description":"Signal channel plugin","origin":"bundled","enabled":true,"explicitlyEnabled":true,"activated":true,"activationSource":"explicit","activationReason":"enabled in config","status":"loaded","format":"openclaw","kind":"bundled-channel-entry","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/signal","channelIds":["signal"]},{"id":"sms","name":"SMS","version":"2026.6.9","description":"Twilio SMS channel plugin for OpenClaw text messages.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/sms","channelIds":["sms"]},{"id":"synthetic","name":"Synthetic Provider","version":"2026.6.9","description":"Bundled Synthetic provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/synthetic","providerIds":["synthetic"]},{"id":"talk-voice","name":"Talk Voice","description":"Command helpers for managing Talk voice configuration","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/talk-voice"},{"id":"tavily","name":"@openclaw/tavily-plugin","version":"2026.6.9","description":"OpenClaw Tavily plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tavily","webSearchProviderIds":["tavily"]},{"id":"telegram","name":"@openclaw/telegram","version":"2026.6.9","description":"OpenClaw Telegram channel plugin","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/telegram","channelIds":["telegram"]},{"id":"tencent","name":"Tencent Cloud Provider","version":"2026.6.9","description":"Bundled Tencent Cloud provider plugin (TokenHub)","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/tencent","providerIds":["tencent-tokenhub"]},{"id":"thread-ownership","name":"Thread Ownership","description":"Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.","origin":"bundled","enabled":false,"explicitlyEnabled":false,"activated":false,"activationSource":"disabled","activationReason":"bundled (disabled by default)","status":"disabled","error":"bundled (disabled by default)","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/thread-ownership"},{"id":"together","name":"Together Provider","version":"2026.6.9","description":"Bundled Together provider plugin","origin":"bundled","enabled":true,"explicitlyEnabled":false,"activated":true,"activationSource":"default","activationReason":"bundled default enablement","status":"loaded","format":"openclaw","source":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together/index.js","rootDir":"/Users/brandon/.openclaw-link/runtime/lib/node_modules/openclaw/dist/extensions/together","providerIds":["together"],"videoGenerationProviderIds":["together"]},{"truncated":true,"reason":"trajectory-array-size-limit","originalLength":77,"limitItems":64}]},"skills":{"snapshotVersion":1782197576992,"entries":[{"id":"1password","name":"1password","description":"Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"autonomous-brain","name":"autonomous-brain","description":"Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/autonomous-brain/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"blogwatcher","name":"blogwatcher","description":"Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"browser-automation","name":"browser-automation","description":"Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.","filePath":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","source":"openclaw-extra","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/plugin-skills/browser-automation/SKILL.md","scope":"project","source":"openclaw-extra"},"disableModelInvocation":false,"available":true},{"id":"canvas","name":"canvas","description":"Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"clawhub","name":"clawhub","description":"Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"diagram-maker","name":"diagram-maker","description":"Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gh-issues","name":"gh-issues","description":"Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"github","name":"github","description":"GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/github/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"gog","name":"gog","description":"Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"healthcheck","name":"healthcheck","description":"Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"imsg","name":"imsg","description":"iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"mcporter","name":"mcporter","description":"List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"meme-maker","name":"meme-maker","description":"Search meme templates, suggest formats, and generate local or hosted image memes.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"model-usage","name":"model-usage","description":"Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"n8n-workflow-automation","name":"n8n-workflow-automation","description":"Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.","filePath":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/n8n-workflow-automation/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"nano-pdf","name":"nano-pdf","description":"Edit PDFs with natural-language instructions using the nano-pdf CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-connect","name":"node-connect","description":"Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"node-inspect-debugger","name":"node-inspect-debugger","description":"Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"notion","name":"notion","description":"Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"openai-whisper","name":"openai-whisper","description":"Local speech-to-text with the Whisper CLI (no API key).","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"peekaboo","name":"peekaboo","description":"Capture and automate macOS UI with the Peekaboo CLI.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"proactive-agent","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":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","source":"openclaw-workspace","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent","origin":"top-level","path":"$OPENCLAW_STATE_DIR/workspace/skills/proactive-agent/SKILL.md","scope":"project","source":"openclaw-workspace"},"disableModelInvocation":false,"available":true},{"id":"python-debugpy","name":"python-debugpy","description":"Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"session-logs","name":"session-logs","description":"Search and analyze your own session logs (older/parent conversations) using jq.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"skill-creator","name":"skill-creator","description":"Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"spike","name":"spike","description":"Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"summarize","name":"summarize","description":"Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow","name":"taskflow","description":"Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"taskflow-inbox-triage","name":"taskflow-inbox-triage","description":"Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"tmux","name":"tmux","description":"Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"video-frames","name":"video-frames","description":"Extract frames or short clips from videos using ffmpeg.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true},{"id":"weather","name":"weather","description":"Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","filePath":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","source":"openclaw-bundled","sourceInfo":{"baseDir":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather","origin":"top-level","path":"$OPENCLAW_STATE_DIR/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md","scope":"project","source":"openclaw-bundled"},"disableModelInvocation":false,"available":true}]},"prompting":{"skillsPrompt":"\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.\nIf a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.\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>1password</name>\n    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>\n    <version>sha256:d8574f50448358d1</version>\n  </skill>\n  <skill>\n    <name>autonomous-brain</name>\n    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>\n    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>\n    <version>sha256:8966b31a72bb8675</version>\n  </skill>\n  <skill>\n    <name>blogwatcher</name>\n    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>\n    <version>sha256:dc6b343e2c655215</version>\n  </skill>\n  <skill>\n    <name>browser-automation</name>\n    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>\n    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>\n    <version>sha256:608bed60aca52631</version>\n  </skill>\n  <skill>\n    <name>canvas</name>\n    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>\n    <version>sha256:7419e23f242397b3</version>\n  </skill>\n  <skill>\n    <name>clawhub</name>\n    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>\n    <version>sha256:920a3d7387e32536</version>\n  </skill>\n  <skill>\n    <name>diagram-maker</name>\n    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>\n    <version>sha256:6195e03fcb04a1a6</version>\n  </skill>\n  <skill>\n    <name>gh-issues</name>\n    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>\n    <version>sha256:e7a64973e1862117</version>\n  </skill>\n  <skill>\n    <name>github</name>\n    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>\n    <version>sha256:46f3610b1668c284</version>\n  </skill>\n  <skill>\n    <name>gog</name>\n    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>\n    <version>sha256:ff7c0c4f08814dfe</version>\n  </skill>\n  <skill>\n    <name>healthcheck</name>\n    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n    <version>sha256:518ec6e0482cf1c7</version>\n  </skill>\n  <skill>\n    <name>imsg</name>\n    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>\n    <version>sha256:6fccb338c2aefd62</version>\n  </skill>\n  <skill>\n    <name>mcporter</name>\n    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>\n    <version>sha256:010ed9b265e58d45</version>\n  </skill>\n  <skill>\n    <name>meme-maker</name>\n    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>\n    <version>sha256:8b8832f9f0f58b16</version>\n  </skill>\n  <skill>\n    <name>model-usage</name>\n    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>\n    <version>sha256:159cfc9ad9f764ad</version>\n  </skill>\n  <skill>\n    <name>n8n-workflow-automation</name>\n    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>\n    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>\n    <version>sha256:cc1b006ac5cf7258</version>\n  </skill>\n  <skill>\n    <name>nano-pdf</name>\n    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>\n    <version>sha256:d8ab6db7572b0df8</version>\n  </skill>\n  <skill>\n    <name>node-connect</name>\n    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>\n    <version>sha256:cc39026fd84e5cfa</version>\n  </skill>\n  <skill>\n    <name>node-inspect-debugger</name>\n    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>\n    <version>sha256:50d2f6828eaf4bbf</version>\n  </skill>\n  <skill>\n    <name>notion</name>\n    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>\n    <version>sha256:d45e2c1270d58c78</version>\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>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>\n    <version>sha256:802e31d7310316fc</version>\n  </skill>\n  <skill>\n    <name>peekaboo</name>\n    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>\n    <version>sha256:0e7f6ae6c9a3d82f</version>\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-link/workspace/skills/proactive-agent/SKILL.md</location>\n    <version>sha256:bf25274dca82babc</version>\n  </skill>\n  <skill>\n    <name>python-debugpy</name>\n    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>\n    <version>sha256:bfb1891204b67260</version>\n  </skill>\n  <skill>\n    <name>session-logs</name>\n    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>\n    <version>sha256:5cc9af328643b6b0</version>\n  </skill>\n  <skill>\n    <name>skill-creator</name>\n    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n    <version>sha256:9e971bac63ad787f</version>\n  </skill>\n  <skill>\n    <name>spike</name>\n    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>\n    <version>sha256:1258cde2d0e53267</version>\n  </skill>\n  <skill>\n    <name>summarize</name>\n    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>\n    <version>sha256:b6d9be0ff47e6462</version>\n  </skill>\n  <skill>\n    <name>taskflow</name>\n    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>\n    <version>sha256:d8b6a48d329aef0a</version>\n  </skill>\n  <skill>\n    <name>taskflow-inbox-triage</name>\n    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>\n    <version>sha256:1fe28cd924d8ae2d</version>\n  </skill>\n  <skill>\n    <name>tmux</name>\n    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>\n    <version>sha256:98b6b8392ec57e11</version>\n  </skill>\n  <skill>\n    <name>video-frames</name>\n    <description>Extract frames or short clips from videos using ffmpeg.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>\n    <version>sha256:bdaaa9964db9584f</version>\n  </skill>\n  <skill>\n    <name>weather</name>\n    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>\n    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n    <version>sha256:62ab4821aa873949</version>\n  </skill>\n</available_skills>","systemPromptReport":{"source":"run","generatedAt":1782208383132,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","provider":"dario","model":"claude-opus-4-8","workspaceDir":"/Users/brandon/.openclaw-link/workspace","bootstrapMaxChars":20000,"bootstrapTotalMaxChars":60000,"bootstrapTruncation":{"warningMode":"always","warningShown":false,"truncatedFiles":0,"nearLimitFiles":0,"totalNearLimit":false},"sandbox":{"mode":"off","sandboxed":false},"systemPrompt":{"chars":57016,"hash":"247668170c040d57704c789243f4d2797b269e2478da12481e2f5c245352e6a3","projectContextChars":32636,"nonProjectContextChars":24380},"injectedWorkspaceFiles":[{"name":"AGENTS.md","path":"/Users/brandon/.openclaw-link/workspace/AGENTS.md","missing":false,"rawChars":7924,"injectedChars":7924,"truncated":false},{"name":"SOUL.md","path":"/Users/brandon/.openclaw-link/workspace/SOUL.md","missing":false,"rawChars":4135,"injectedChars":4135,"truncated":false},{"name":"TOOLS.md","path":"/Users/brandon/.openclaw-link/workspace/TOOLS.md","missing":false,"rawChars":2845,"injectedChars":2845,"truncated":false},{"name":"IDENTITY.md","path":"/Users/brandon/.openclaw-link/workspace/IDENTITY.md","missing":false,"rawChars":1265,"injectedChars":1265,"truncated":false},{"name":"USER.md","path":"/Users/brandon/.openclaw-link/workspace/USER.md","missing":false,"rawChars":3499,"injectedChars":3499,"truncated":false},{"name":"HEARTBEAT.md","path":"/Users/brandon/.openclaw-link/workspace/HEARTBEAT.md","missing":false,"rawChars":227,"injectedChars":227,"truncated":false},{"name":"MEMORY.md","path":"/Users/brandon/.openclaw-link/workspace/MEMORY.md","missing":false,"rawChars":12550,"injectedChars":12550,"truncated":false}],"skills":{"promptChars":11489,"hash":"85e5ead26eca34f1459190f843fce79452b7be3ce5d35826566c6b1dc99eabac","entries":[{"name":"1password","blockChars":322},{"name":"autonomous-brain","blockChars":448},{"name":"blogwatcher","blockChars":301},{"name":"browser-automation","blockChars":376},{"name":"canvas","blockChars":321},{"name":"clawhub","blockChars":311},{"name":"diagram-maker","blockChars":324},{"name":"gh-issues","blockChars":347},{"name":"github","blockChars":318},{"name":"gog","blockChars":290},{"name":"healthcheck","blockChars":336},{"name":"imsg","blockChars":299},{"name":"mcporter","blockChars":324},{"name":"meme-maker","blockChars":309},{"name":"model-usage","blockChars":332},{"name":"n8n-workflow-automation","blockChars":441},{"name":"nano-pdf","blockChars":292},{"name":"node-connect","blockChars":339},{"name":"node-inspect-debugger","blockChars":335},{"name":"notion","blockChars":330},{"name":"openai-whisper","blockChars":291},{"name":"peekaboo","blockChars":276},{"name":"proactive-agent","blockChars":435},{"name":"python-debugpy","blockChars":323},{"name":"session-logs","blockChars":311},{"name":"skill-creator","blockChars":317},{"name":"spike","blockChars":309},{"name":"summarize","blockChars":327},{"name":"taskflow","blockChars":339},{"name":"taskflow-inbox-triage","blockChars":349},{"name":"tmux","blockChars":327},{"name":"video-frames","blockChars":287},{"name":"weather","blockChars":347}]},"tools":{"listChars":0,"schemaChars":20290,"entries":[{"name":"read","summaryChars":298,"summaryHash":"f8a1d7cf1ecfe02b1b5865c93387e6a5891e5079117b4fe18614b6f912521727","schemaChars":304,"schemaHash":"134f19bcabe3e29d63c5cebb38f1d2556759fd08adad6bc90a4b4d3cd1fb8441","propertiesCount":3},{"name":"edit","summaryChars":326,"summaryHash":"c498a85576e187d069e8e8ea4f70f81bddd57829600d385ef61c4359fd634c9e","schemaChars":834,"schemaHash":"457e8bb9f800b21be76c4fd8c0e3078bf07ee9bf93ac82f39944c171bd8f6d84","propertiesCount":2},{"name":"write","summaryChars":127,"summaryHash":"cdb1c46027b22d1f1b923b47bfe297821d9fe589a9f9d92994961948060a4d89","schemaChars":225,"schemaHash":"e98a2484f667cf7c22d76ca103bf2022bf9113dc63fe38b899e71c328cb1e833","propertiesCount":2},{"name":"apply_patch","summaryChars":132,"summaryHash":"432bf38688a4f011d2b765a441ac07e1fdfa9faf2051679adee04abcd9332d93","schemaChars":153,"schemaHash":"05521268363ff4f191472c90d69ef08a503ba9acf1d2febc50b3ee68db32ab65","propertiesCount":1},{"name":"exec","summaryChars":539,"summaryHash":"4825198988fbfa8ebf5c2a8fbe3946da0be639b1e3b737ceaa4364195bba3f04","schemaChars":1283,"schemaHash":"2608ea36cf51376859b7204cda1bf1a2507134eb542097b9e8dbc8af617f216b","propertiesCount":12},{"name":"process","summaryChars":456,"summaryHash":"55297e65d460e0e1e06e7fad4cedb75ffda8fac9fa8b10aa06d6cead3c5a76ea","schemaChars":1074,"schemaHash":"a2d30a25569f409d7e8539844c89a088044535388b24031d014577b96ed27c5c","propertiesCount":12},{"name":"cron","summaryChars":3820,"summaryHash":"d3bc0032e9c0ba71e5983ee4d06bd4b70ea5170dcb5d85fbff1bd71f01b070f4","schemaChars":8705,"schemaHash":"830efafdf26c1cd1c32452d2baea3b8fc0c7b7b7269d9ab0a503aded48f88ab1","propertiesCount":15},{"name":"get_goal","summaryChars":71,"summaryHash":"58dea7906d9e17e5f89a75fea24597ee068d8a56af824370dc27f8501374d6e3","schemaChars":33,"schemaHash":"8243f0af367f188a376f2c17b5eabe872a2f7a979813e0d4e2be6d594c2aa259","propertiesCount":0},{"name":"create_goal","summaryChars":155,"summaryHash":"f01e3a63d673a410ba55213ce6bd3fa2b0d2279e8e780c18aa0cb5aa991b29b3","schemaChars":267,"schemaHash":"27ee794432736471bd76390e236cc7d7e98f8469a02656e7a27109041eea0f8c","propertiesCount":2},{"name":"update_goal","summaryChars":212,"summaryHash":"285201690e5f2456b4cdcd252ff391709b84d69538df61bad694d3c0cfc19958","schemaChars":207,"schemaHash":"c37894492eedfad02f1e7fe1488900765bfe547f3b3f34cefbab4f7f57441c2c","propertiesCount":2},{"name":"skill_workshop","summaryChars":171,"summaryHash":"577c1d2b8f56bf3e9dd5e00463bbce8b8bf4cf201da9b21b588dcaa3bc6ed8cf","schemaChars":2273,"schemaHash":"15481d6889a320a46728ee32304f0a2b510c0bcf77d445052c1ef2fa5dd5368b","propertiesCount":13},{"name":"update_plan","summaryChars":163,"summaryHash":"ea18cc44224e849c68cdf0a4839c295c1b20daf2699e2fc2be4c4e1552327455","schemaChars":489,"schemaHash":"50cb08b8a29e72637eb6720e6f5f3786783824537574f05ee9ae7a5f4ecacc4b","propertiesCount":2},{"name":"sessions_list","summaryChars":135,"summaryHash":"c7e411ae02e3adff5504aaee48f02d262a8abb9152558a3172aae289e3b05faf","schemaChars":435,"schemaHash":"c29c6b82c36a2d95a88c8944f129929b2621ee2af6d17b2ab101d4d7e9633d89","propertiesCount":9},{"name":"sessions_history","summaryChars":117,"summaryHash":"f5d45b76f11a8ac63cc45d456fb6f675f0b1a2e191feb9671924cb5830058f03","schemaChars":162,"schemaHash":"ac33b8af2252262afe479236046f5a04bc018f1fcf24d1a8bf32743f0e867598","propertiesCount":3},{"name":"sessions_send","summaryChars":282,"summaryHash":"061e9ef3487676bb2a4fd4c0336bd973aaab5eea0725e7443c4cb17518cd1e78","schemaChars":275,"schemaHash":"f1fbaa412fe6b6aee102234c87c5aa140f39c9086f9bae6e1e9691309a602ffb","propertiesCount":5},{"name":"sessions_spawn","summaryChars":578,"summaryHash":"c75061234ba01a4eb29ca223c1c63a44935e9e555ef2ca280722ba9e844db86d","schemaChars":1151,"schemaHash":"9a91c7668463da8a66386260ce2ae97e7efe3bb93b9b6f03ac85102c354457e1","propertiesCount":15},{"name":"sessions_yield","summaryChars":79,"summaryHash":"f3782fc41c1522657e1d3494f486a2df998fed38a6b89dcf7f6934fb41424320","schemaChars":60,"schemaHash":"b1c4c753820bc3096d85ef7a266a14c9fbe12450536db58076b75bb61d14dbbb","propertiesCount":1},{"name":"subagents","summaryChars":132,"summaryHash":"1c2ffd38549c0444b118d43736fc4b875ea1aaabc446bbf8bc1fc4ee9180cca4","schemaChars":122,"schemaHash":"c4a241d2c3d46ba7985abfce4d3fcd63298ce81f89d49183c8f3d584c48d0c33","propertiesCount":2},{"name":"session_status","summaryChars":278,"summaryHash":"71177e543dc6235bad4b1a26761995681dcec27ab58dcb4f4f8a7fc9a7b2b5aa","schemaChars":89,"schemaHash":"d2995f3d69d126e98ac93eec3c2a9fe5556925bd7979a8e4b6b5a2bf62d329dd","propertiesCount":2},{"name":"web_search","summaryChars":65,"summaryHash":"b38e9b3c079beaa988d3c576303660b91a55c2e72f56351da04160529173273f","schemaChars":991,"schemaHash":"3879e368875d824b14e0e683f81408824e9a2a5850fa2f8514a68caebda54d18","propertiesCount":12},{"name":"web_fetch","summaryChars":93,"summaryHash":"8875afbb51bd63673e5e6836ca31eeda73914a464862665cd73b346e28d28fd5","schemaChars":317,"schemaHash":"d2d8ad58a1b84d849dd16142282aff6c5606f7b0e3d08405e1b740a6a79e6bcc","propertiesCount":3},{"name":"image","summaryChars":169,"summaryHash":"a46820ca8952445d3663a8908bfa5d3adddff5b53d18b9d8e9eed8f9e593b494","schemaChars":350,"schemaHash":"49bb766071c935edca8c2d0df47fc2109bbffe3d4ba32d0b19fe90ec873736ce","propertiesCount":6},{"name":"memory_search","summaryChars":605,"summaryHash":"0f918d28864d3682ae77731f149273997c84773592a466b18c7cd0121b599a05","schemaChars":250,"schemaHash":"088cd2a3d3a47b251429ff7c56844cdedd1c45c3af0fa8bfaf7aa795766976bf","propertiesCount":4},{"name":"memory_get","summaryChars":239,"summaryHash":"bff1141a3da31a345c550337417efc9ace4da2909004606c727c59ca1a294495","schemaChars":241,"schemaHash":"78f5d58460a82f9104deebad2f1873a8cde05d1ce7328b3ba4da6e994653e70a","propertiesCount":4}]}}},"redaction":{"config":{"mode":"redactConfigObject","secretsMasked":true},"payloads":{"mode":"sanitizeDiagnosticPayload","credentialsRemoved":true,"imageDataRedacted":true},"harness":{"mode":"diagnostic-support-redaction","programArgumentsRedacted":true,"localPathsRedacted":true}},"metadata":{"sessionKey":"agent:main:main","agentId":"main","messageProvider":"heartbeat"}}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"context.compiled","ts":"2026-06-23T09:53:03.168Z","seq":3,"sourceSeq":87,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"prompt":"[OpenClaw heartbeat poll]","messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"tools":[{"name":"apply_patch","description":"Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.","parameters":{"type":"object","required":["input"],"properties":{"input":{"type":"string","description":"Patch content using the *** Begin Patch/End Patch format."}}}},{"name":"create_goal","description":"Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.","parameters":{"type":"object","required":["objective"],"properties":{"objective":{"type":"string","description":"Concrete objective to pursue. Create only when explicitly requested."},"token_budget":{"type":"number","description":"Optional positive token budget for this goal."}}}},{"name":"cron","description":"Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.\n\nMain cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.\n\nACTIONS:\n- status: scheduler status\n- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session\n- get: one job; needs jobId\n- add: create job; needs job object\n- update: patch job; needs jobId + patch\n- remove: delete job; needs jobId\n- run: run only if due by default; needs jobId; pass runMode=\"force\" to trigger now\n- runs: run history; needs jobId\n- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.\n\nJOB SCHEMA (for add action):\n{\n  \"name\": \"string\",\n  \"schedule\": { ... },      // required\n  \"payload\": { ... },       // required\n  \"delivery\": { ... },      // optional announce for isolated/current/session, webhook for any target\n  \"sessionTarget\": \"main\" | \"isolated\" | \"current\" | \"session:<id>\",\n  \"enabled\": true | false   // default true\n}\n\nSESSION TARGET OPTIONS:\n- \"main\": main session; requires payload.kind=\"systemEvent\"\n- \"isolated\": ephemeral isolated session; requires payload.kind=\"agentTurn\"\n- \"current\": bind current session at creation\n- \"session:<id>\": persistent named session\n\nDEFAULTS:\n- payload.kind=\"systemEvent\" → defaults to \"main\"\n- payload.kind=\"agentTurn\" → defaults to \"isolated\"\nCurrent binding needs sessionTarget=\"current\".\n\nSCHEDULE TYPES (schedule.kind):\n- \"at\": one-shot absolute time\n  { \"kind\": \"at\", \"at\": \"<ISO-8601 timestamp>\" }\n- \"every\": recurring interval\n  { \"kind\": \"every\", \"everyMs\": <ms>, \"anchorMs\": <optional-ms> }\n- \"cron\": expr in supplied timezone, or Gateway host local timezone when tz omitted\n  { \"kind\": \"cron\", \"expr\": \"<cron-expression>\", \"tz\": \"<optional-IANA-timezone>\" }\n  Write expr in local wall-clock time; do not convert the requested local time to UTC first.\n  tz omitted => Gateway host local timezone, not UTC.\n  Example 6pm Shanghai daily: { \"kind\": \"cron\", \"expr\": \"0 18 * * *\", \"tz\": \"Asia/Shanghai\" }\n\nFor \"at\", ISO timestamps without timezone are UTC.\n\nPAYLOAD TYPES (payload.kind):\n- \"systemEvent\": inject text as system event\n  { \"kind\": \"systemEvent\", \"text\": \"<message>\" }\n- \"agentTurn\": run agent with prompt; isolated/current/session only\n  { \"kind\": \"agentTurn\", \"message\": \"<prompt>\", \"model\": \"<optional>\", \"thinking\": \"<optional>\", \"timeoutSeconds\": <optional, 0=no timeout> }\n\nDELIVERY (top-level):\n  { \"mode\": \"none|announce|webhook\", \"channel\": \"<optional>\", \"to\": \"<optional>\", \"threadId\": \"<optional>\", \"bestEffort\": <optional-bool> }\n  - isolated agentTurn default when omitted: \"announce\"\n  - announce: send to chat channel; isolated/current/session only; optional channel/to\n  - threadId: chat thread/topic id\n  - webhook: POST finished-run event to delivery.to URL\n  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.\n\nCRITICAL CONSTRAINTS:\n- sessionTarget=\"main\" REQUIRES payload.kind=\"systemEvent\"\n- sessionTarget=\"isolated\" | \"current\" | \"session:xxx\" REQUIRES payload.kind=\"agentTurn\"\n- Webhook: delivery.mode=\"webhook\" and delivery.to URL.\nDefault: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.\n\nRESTRICTED CRON RUNS:\n- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.\n\nWAKE MODES (for wake action):\n- \"next-heartbeat\" default: wake next heartbeat\n- \"now\": wake immediately\n\nUse jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"gatewayUrl":{"type":"string"},"timeoutMs":{"type":"integer","minimum":1},"includeDisabled":{"type":"boolean"},"job":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"jobId":{"type":"string"},"id":{"type":"string"},"patch":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"additionalProperties":true},"text":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"runMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Run mode for action=\"run\": omitted defaults to \"due\"; use \"force\" to trigger now."},"contextMessages":{"type":"integer","minimum":0,"maximum":10},"agentId":{"type":"string","description":"List filter for `action: \"list\"`; wake target override for `action: \"wake\"` (defaults to the calling agent when omitted on wake)"},"sessionKey":{"type":"string","description":"Wake target override for `action: \"wake\"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted."}},"additionalProperties":true}},{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}},{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Ignored for normal calls; exec security is set by tools.exec.security and host approvals."},"ask":{"type":"string","description":"Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off."},"node":{"type":"string","description":"Node id/name for host=node."}}}},{"name":"get_goal","description":"Get the current goal for this thread, including status and token usage.","parameters":{"type":"object","properties":{}}},{"name":"image","description":"Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"One image path/URL."},"images":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Image paths/URLs; maxImages default 20."},"model":{"type":"string"},"maxBytesMb":{"type":"number","exclusiveMinimum":0},"maxImages":{"type":"integer","minimum":1}}}},{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","properties":{"path":{"type":"string"},"from":{"type":"integer","minimum":1},"lines":{"type":"integer","minimum":1},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["path"],"additionalProperties":false}},{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","properties":{"query":{"type":"string"},"maxResults":{"type":"integer","minimum":1},"minScore":{"type":"number"},"corpus":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}},"required":["query"],"additionalProperties":false}},{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}},{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}},{"name":"session_status","description":"Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey=\"current\"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}},{"name":"sessions_history","description":"Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"integer","minimum":1},"includeTools":{"type":"boolean"}}}},{"name":"sessions_list","description":"List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"limit":{"type":"integer","minimum":1},"activeMinutes":{"type":"integer","minimum":1},"messageLimit":{"type":"integer","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}},{"name":"sessions_send","description":"Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"integer","minimum":0}}}},{"name":"sessions_spawn","description":"Spawn clean child session; default `runtime=\"subagent\"`. `mode=\"run\"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context=\"fork\"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"taskName":{"type":"string","description":"Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter."},"label":{"type":"string"},"runtime":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"mode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"cleanup":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"sandbox":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"context":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Native context. Omit/\"isolated\" for clean child; \"fork\" only when child needs requester transcript."},"lightContext":{"type":"boolean","description":"Light bootstrap context; runtime=\"subagent\" only."},"attachments":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"maxItems":50},"attachAs":{"type":"object","properties":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}}}}},{"name":"sessions_yield","description":"End current turn. Use after spawning subagents; results arrive as next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}},{"name":"skill_workshop","description":"Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions."},"proposal_id":{"type":"string","description":"Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine."},"name":{"type":"string","description":"Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown."},"query":{"type":"string","description":"Optional query for action=list."},"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional proposal status filter for action=list."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum proposals to return for action=list. Defaults to 20."},"description":{"type":"string","maxLength":160,"description":"Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes."},"skill_name":{"type":"string","description":"Existing skill name or key for action=update."},"proposal_content":{"type":"string","description":"Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes."},"support_files":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Optional support files to store with the proposal."},"goal":{"type":"string","description":"Proposal or improvement goal."},"evidence":{"type":"string","description":"Short evidence or notes."},"reason":{"type":"string","description":"Optional reason for action=apply, action=reject, or action=quarantine."}},"additionalProperties":false}},{"name":"subagents","description":"List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6}},"recentMinutes":{"type":"integer","minimum":1}}}},{"name":"update_goal","description":"Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.","parameters":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"complete | blocked."},"note":{"type":"string","description":"Short status note."}}}},{"name":"update_plan","description":"Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.","parameters":{"type":"object","required":["plan"],"properties":{"explanation":{"type":"string","description":"Short note: what changed."},"plan":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"minItems":1,"description":"Ordered steps; max one in_progress."}}}},{"name":"web_fetch","description":"Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP(S) URL."},"extractMode":{"type":"string","enum":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Extract as markdown/text.","default":"markdown"},"maxChars":{"type":"integer","description":"Max chars returned; truncates.","minimum":100}}}},{"name":"web_search","description":"Search web for current info; returns normalized provider results.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query."},"count":{"type":"number","description":"Result count.","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code."},"language":{"type":"string","description":"ISO 639-1 language."},"freshness":{"type":"string","description":"Time filter: day/week/month/year."},"date_after":{"type":"string","description":"Published after YYYY-MM-DD."},"date_before":{"type":"string","description":"Published before YYYY-MM-DD."},"search_lang":{"type":"string","description":"Brave result language."},"ui_lang":{"type":"string","description":"Brave UI locale."},"domain_filter":{"type":"array","items":{"truncated":true,"reason":"trajectory-depth-limit","limitDepth":6},"description":"Perplexity domain filter."},"max_tokens":{"type":"number","description":"Perplexity total token budget.","minimum":1,"maximum":1000000},"max_tokens_per_page":{"type":"number","description":"Perplexity tokens per page.","minimum":1}}}},{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}],"imagesCount":0,"streamStrategy":"boundary-aware:anthropic-messages","transport":"auto","transcriptLeafId":"5b59e0d1"}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"prompt.submitted","ts":"2026-06-23T09:53:03.171Z","seq":4,"sourceSeq":88,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"prompt":"[OpenClaw heartbeat poll]","systemPrompt":{"truncated":true,"reason":"trajectory-field-size-limit","originalChars":57016,"limitChars":32768},"messages":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"}],"imagesCount":0}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"model.completed","ts":"2026-06-23T09:53:05.185Z","seq":5,"sourceSeq":89,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheWrite":27393,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"total":27408},"lastCacheTouchAt":1782208383175},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","messagesSnapshot":[{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196046960},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":0,"cacheWrite":17462,"totalTokens":17469,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196046964,"responseId":"msg_01RMEnDdU5ifXjthSZLebXmk","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly one word: PONG"}],"timestamp":1782196070286},{"role":"assistant","content":[{"type":"text","text":"PONG"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":5,"cacheRead":17462,"cacheWrite":40,"totalTokens":17509,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196070291,"responseId":"msg_01JyUQEPBHvaGFUPwtdNTY6T","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In one short sentence, confirm you are Link, which model/provider you run on, and your context window size."}],"timestamp":1782196091791},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EpYDCmMIDxgCKkBjbwKJjAxYJth2UUY42ByGqXUDwN1GfpxAHdDx6AVST3NhzXMyqmV/+LAWHH1C6z7Ur40Cn5waCT/iy36F6TcMMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDBIlI2uAQ3Dz04n3AhoMIzbYhwLhPJjdDofTIjDwekxhQss7ji0EfelHxgkdONMOll2tDR8kAordRf4xB/wLbsO781ZhQIHf+2kDCTgq4AF/TPg5gH5/q92g4U8ouCoMC4LJ30UaoYugMDivAb9fRZyUzoAOm81QcKwpFmncPQSKIMBRX+0pFd7p6/nHEIrUgTDQ5Yr/Ul0P+1ZxUj+MOCCmHaQ7Vw1PajIPcOvsGEuKjFY2QcyPrk8cTGrcNJhNoW/PY4OA75AXjkm7C3Yq9ZdemoGAb0ZAIoKVlgx5DynmAP7DPLo/tDLOl95ttIS3AWCsTvnrOAs8D9tnbdDACSTDgNzfELTJUHgt379l8rvez87jdyIxBfb41cyUwQGpZOB50YivrljUx9bzW6dncBgB"},{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (provider: dario) with a 1M-token context window."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":114,"cacheRead":17502,"cacheWrite":57,"totalTokens":17675,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196091796,"responseId":"msg_01KnY66mSfheb9mWJqeRfwgs","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply with exactly: LINK-OK"}],"timestamp":1782196110061},{"role":"assistant","content":[{"type":"text","text":"LINK-OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":8,"cacheRead":1442,"cacheWrite":16627,"totalTokens":18079,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196110079,"responseId":"msg_017dk5TqXUW6UP8iq1LBGCtN","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Who are you? One sentence: name, model, context window, and your Signal number."}],"timestamp":1782196572026},{"role":"assistant","content":[{"type":"text","text":"I'm Link, running on Claude Opus 4.8 (dario provider) with a 1M-token context window, reachable via Signal at +12135792424."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":51,"cacheRead":0,"cacheWrite":17411,"totalTokens":17464,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196572043,"responseId":"msg_01Eb5eViQq7oJwhHifiRaAjS","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"In 2 sentences: state your name, your role/identity, and confirm which workspace files you're reading from (path)."}],"timestamp":1782196756925},{"role":"assistant","content":[{"type":"thinking","thinking":"","thinkingSignature":"EsgCCmMIDxgCKkAoxEgcj1AqdXT0Ykd96SgjXr+Km5s54PkdDWQ9Ckeidh8k0xxVx0U3BGwrrAob3hiTUJM1TUHqIDaDt6e6Irh6Mg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDE6/TfTtyvj5VFv/GRoMJvD1cjiQDz4QjTVyIjDdg+UOuls1qUXP0+VUUYh52/ch7M63PsK63i4RtCc2XE0sR5tkb0C2U4ACiVpwNogqkgE/qbzY1Goc2HybZeScvNwQREtjaXk8plTnSLe7/EH+8YmXMaI1Dq5w+xMYOtbmprEy9DyNkoCMDBpuDe85eNV6I3Aa2wHp3o2rI3JZByPatdJlcu0hT5Zi3HgnkA6OIy++OUj34aQgE6QcI0sTPKbkClNBntc0ux+CYOE11Pnu/xovTXJU60ExmAp10/1/ZK+bqxgB"},{"type":"text","text":"I'm Link, Brandon's Personal AI Chief of Staff — the coordination layer between his thoughts, systems, tools, and time. I'm reading from my workspace at `/Users/brandon/.openclaw-link/workspace/`, including SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, and AGENTS.md."}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":171,"cacheRead":1442,"cacheWrite":25671,"totalTokens":27286,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782196756943,"responseId":"msg_019SVYmXsBRp6ookyqRyjwv2","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"Reply in one line: confirm you're Link and you're alive."}],"timestamp":1782197453138},{"role":"assistant","content":[{"type":"text","text":"Link here — alive and running. 🔗"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":15,"cacheRead":0,"cacheWrite":27440,"totalTokens":27457,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782197453156,"responseId":"msg_01NcFmJ2VFNXLgybB3gJZ7kM","responseModel":"claude-opus-4-8"},{"role":"user","content":[{"type":"text","text":"[OpenClaw heartbeat poll]"}],"timestamp":1782208383172},{"role":"assistant","content":[{"type":"text","text":"HEARTBEAT_OK"}],"api":"anthropic-messages","provider":"dario","model":"claude-opus-4-8","usage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"totalTokens":27408,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1782208383175,"responseId":"msg_01VqvVETVBDSNAqDhHCLgywA","responseModel":"claude-opus-4-8"}]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"trace.artifacts","ts":"2026-06-23T09:53:05.190Z","seq":6,"sourceSeq":90,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"capturedAt":"2026-06-23T09:53:05.190Z","finalStatus":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false,"promptErrorSource":null,"usage":{"input":2,"output":13,"cacheWrite":27393,"total":27408},"promptCache":{"lastCallUsage":{"input":2,"output":13,"cacheRead":0,"cacheWrite":27393,"total":27408},"lastCacheTouchAt":1782208383175},"compactionCount":0,"assistantTexts":["HEARTBEAT_OK"],"finalPromptText":"[OpenClaw heartbeat poll]","itemLifecycle":{"startedCount":0,"completedCount":0,"activeCount":0},"toolMetas":[],"didSendViaMessagingTool":false,"successfulCronAdds":0,"messagingToolSentTexts":[],"messagingToolSentMediaUrls":[],"messagingToolSentTargets":[]}}
{"traceSchema":"openclaw-trajectory","schemaVersion":1,"traceId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","source":"runtime","type":"session.ended","ts":"2026-06-23T09:53:05.190Z","seq":7,"sourceSeq":91,"sessionId":"48b7ff1f-a621-47bb-bf01-7c0237e962f0","sessionKey":"agent:main:main","runId":"b7ee8ed8-015d-4718-9933-ab75e2d31a5a","workspaceDir":"/Users/brandon/.openclaw-link/workspace","provider":"dario","modelId":"claude-opus-4-8","modelApi":"anthropic-messages","data":{"status":"success","aborted":false,"externalAbort":false,"timedOut":false,"idleTimedOut":false,"timedOutDuringCompaction":false,"timedOutDuringToolExecution":false}}
