vilvona 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12331 -0
- package/LICENSE +24 -0
- package/README.md +314 -0
- package/THIRD_PARTY_NOTICES.md +37 -0
- package/docs/.i18n/README.md +81 -0
- package/docs/.i18n/ar-navigation.json +18 -0
- package/docs/.i18n/de-navigation.json +18 -0
- package/docs/.i18n/es-navigation.json +18 -0
- package/docs/.i18n/fr-navigation.json +18 -0
- package/docs/.i18n/glossary.ar.json +82 -0
- package/docs/.i18n/glossary.de.json +82 -0
- package/docs/.i18n/glossary.es.json +82 -0
- package/docs/.i18n/glossary.fa.json +82 -0
- package/docs/.i18n/glossary.fr.json +82 -0
- package/docs/.i18n/glossary.id.json +82 -0
- package/docs/.i18n/glossary.it.json +82 -0
- package/docs/.i18n/glossary.ja-JP.json +102 -0
- package/docs/.i18n/glossary.ko.json +82 -0
- package/docs/.i18n/glossary.nl.json +82 -0
- package/docs/.i18n/glossary.pl.json +82 -0
- package/docs/.i18n/glossary.pt-BR.json +82 -0
- package/docs/.i18n/glossary.th.json +82 -0
- package/docs/.i18n/glossary.tr.json +82 -0
- package/docs/.i18n/glossary.uk.json +82 -0
- package/docs/.i18n/glossary.vi.json +82 -0
- package/docs/.i18n/glossary.zh-CN.json +1182 -0
- package/docs/.i18n/glossary.zh-TW.json +162 -0
- package/docs/.i18n/id-navigation.json +18 -0
- package/docs/.i18n/it-navigation.json +18 -0
- package/docs/.i18n/ja-navigation.json +18 -0
- package/docs/.i18n/ko-navigation.json +18 -0
- package/docs/.i18n/pl-navigation.json +18 -0
- package/docs/.i18n/pt-BR-navigation.json +18 -0
- package/docs/.i18n/tr-navigation.json +18 -0
- package/docs/.i18n/translation-workflow.md +111 -0
- package/docs/.i18n/zh-Hans-navigation.json +552 -0
- package/docs/AGENTS.md +36 -0
- package/docs/agent-runtime-architecture.md +48 -0
- package/docs/announcements/bluebubbles-imessage.md +79 -0
- package/docs/auth-credential-semantics.md +124 -0
- package/docs/automation/auth-monitoring.md +11 -0
- package/docs/automation/clawflow.md +12 -0
- package/docs/automation/cron-jobs.md +569 -0
- package/docs/automation/cron-vs-heartbeat.md +11 -0
- package/docs/automation/gmail-pubsub.md +11 -0
- package/docs/automation/hooks.md +387 -0
- package/docs/automation/index.md +135 -0
- package/docs/automation/poll.md +12 -0
- package/docs/automation/standing-orders.md +250 -0
- package/docs/automation/taskflow.md +155 -0
- package/docs/automation/tasks.md +374 -0
- package/docs/automation/troubleshooting.md +12 -0
- package/docs/automation/webhook.md +12 -0
- package/docs/brave-search.md +11 -0
- package/docs/channels/access-groups.md +201 -0
- package/docs/channels/ambient-room-events.md +214 -0
- package/docs/channels/bot-loop-protection.md +131 -0
- package/docs/channels/broadcast-groups.md +472 -0
- package/docs/channels/channel-routing.md +162 -0
- package/docs/channels/clickclack.md +146 -0
- package/docs/channels/discord.md +1758 -0
- package/docs/channels/feishu.md +654 -0
- package/docs/channels/googlechat.md +286 -0
- package/docs/channels/group-messages.md +95 -0
- package/docs/channels/groups.md +610 -0
- package/docs/channels/imessage-from-bluebubbles.md +259 -0
- package/docs/channels/imessage.md +864 -0
- package/docs/channels/index.md +65 -0
- package/docs/channels/irc.md +253 -0
- package/docs/channels/line.md +243 -0
- package/docs/channels/location.md +71 -0
- package/docs/channels/matrix-migration.md +375 -0
- package/docs/channels/matrix-presentation.md +77 -0
- package/docs/channels/matrix-push-rules.md +150 -0
- package/docs/channels/matrix.md +935 -0
- package/docs/channels/mattermost.md +542 -0
- package/docs/channels/msteams.md +1097 -0
- package/docs/channels/nextcloud-talk.md +176 -0
- package/docs/channels/nostr.md +253 -0
- package/docs/channels/pairing.md +214 -0
- package/docs/channels/qqbot.md +317 -0
- package/docs/channels/signal.md +417 -0
- package/docs/channels/slack.md +1623 -0
- package/docs/channels/sms.md +380 -0
- package/docs/channels/synology-chat.md +187 -0
- package/docs/channels/telegram.md +1121 -0
- package/docs/channels/tlon.md +296 -0
- package/docs/channels/troubleshooting.md +162 -0
- package/docs/channels/twitch.md +431 -0
- package/docs/channels/wechat.md +171 -0
- package/docs/channels/whatsapp.md +796 -0
- package/docs/channels/yuanbao.md +416 -0
- package/docs/channels/zalo.md +253 -0
- package/docs/channels/zalouser.md +217 -0
- package/docs/ci.md +665 -0
- package/docs/clawhub/cli.md +82 -0
- package/docs/clawhub/publishing.md +96 -0
- package/docs/cli/acp.md +370 -0
- package/docs/cli/agent.md +109 -0
- package/docs/cli/agents.md +253 -0
- package/docs/cli/approvals.md +193 -0
- package/docs/cli/backup.md +98 -0
- package/docs/cli/browser.md +322 -0
- package/docs/cli/channels.md +154 -0
- package/docs/cli/clawbot.md +25 -0
- package/docs/cli/commitments.md +90 -0
- package/docs/cli/completion.md +39 -0
- package/docs/cli/config.md +504 -0
- package/docs/cli/configure.md +77 -0
- package/docs/cli/crestodian.md +337 -0
- package/docs/cli/cron.md +344 -0
- package/docs/cli/daemon.md +67 -0
- package/docs/cli/dashboard.md +33 -0
- package/docs/cli/devices.md +240 -0
- package/docs/cli/directory.md +68 -0
- package/docs/cli/dns.md +53 -0
- package/docs/cli/docs.md +63 -0
- package/docs/cli/doctor.md +254 -0
- package/docs/cli/flows.md +52 -0
- package/docs/cli/gateway.md +572 -0
- package/docs/cli/health.md +43 -0
- package/docs/cli/hooks.md +345 -0
- package/docs/cli/index.md +406 -0
- package/docs/cli/infer.md +364 -0
- package/docs/cli/logs.md +68 -0
- package/docs/cli/mcp.md +851 -0
- package/docs/cli/memory.md +183 -0
- package/docs/cli/message.md +317 -0
- package/docs/cli/migrate.md +334 -0
- package/docs/cli/models.md +239 -0
- package/docs/cli/node.md +178 -0
- package/docs/cli/nodes.md +76 -0
- package/docs/cli/onboard.md +251 -0
- package/docs/cli/pairing.md +77 -0
- package/docs/cli/path.md +511 -0
- package/docs/cli/plugins.md +480 -0
- package/docs/cli/policy.md +929 -0
- package/docs/cli/proxy.md +89 -0
- package/docs/cli/qr.md +56 -0
- package/docs/cli/reset.md +39 -0
- package/docs/cli/sandbox.md +208 -0
- package/docs/cli/secrets.md +202 -0
- package/docs/cli/security.md +135 -0
- package/docs/cli/sessions.md +178 -0
- package/docs/cli/setup.md +60 -0
- package/docs/cli/skills.md +156 -0
- package/docs/cli/status.md +45 -0
- package/docs/cli/system.md +89 -0
- package/docs/cli/tasks.md +111 -0
- package/docs/cli/transcripts.md +151 -0
- package/docs/cli/tui.md +92 -0
- package/docs/cli/uninstall.md +45 -0
- package/docs/cli/update.md +283 -0
- package/docs/cli/voicecall.md +204 -0
- package/docs/cli/webhooks.md +117 -0
- package/docs/cli/wiki.md +256 -0
- package/docs/cli/workboard.md +228 -0
- package/docs/concepts/active-memory.md +856 -0
- package/docs/concepts/agent-loop.md +185 -0
- package/docs/concepts/agent-runtimes.md +276 -0
- package/docs/concepts/agent-workspace.md +230 -0
- package/docs/concepts/agent.md +142 -0
- package/docs/concepts/architecture.md +154 -0
- package/docs/concepts/channel-docking.md +145 -0
- package/docs/concepts/commitments.md +150 -0
- package/docs/concepts/compaction.md +203 -0
- package/docs/concepts/context-engine.md +347 -0
- package/docs/concepts/context.md +199 -0
- package/docs/concepts/delegate-architecture.md +319 -0
- package/docs/concepts/dreaming.md +279 -0
- package/docs/concepts/experimental-features.md +111 -0
- package/docs/concepts/features.md +91 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +231 -0
- package/docs/concepts/mantis.md +744 -0
- package/docs/concepts/markdown-formatting.md +139 -0
- package/docs/concepts/memory-builtin.md +151 -0
- package/docs/concepts/memory-honcho.md +144 -0
- package/docs/concepts/memory-qmd.md +277 -0
- package/docs/concepts/memory-search.md +175 -0
- package/docs/concepts/memory.md +299 -0
- package/docs/concepts/message-lifecycle-refactor.md +1126 -0
- package/docs/concepts/messages.md +216 -0
- package/docs/concepts/model-failover.md +405 -0
- package/docs/concepts/model-providers.md +719 -0
- package/docs/concepts/models.md +371 -0
- package/docs/concepts/multi-agent.md +625 -0
- package/docs/concepts/oauth.md +218 -0
- package/docs/concepts/parallel-specialist-lanes.md +127 -0
- package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
- package/docs/concepts/presence.md +117 -0
- package/docs/concepts/progress-drafts.md +406 -0
- package/docs/concepts/qa-e2e-automation.md +979 -0
- package/docs/concepts/qa-matrix.md +139 -0
- package/docs/concepts/queue-steering.md +90 -0
- package/docs/concepts/queue.md +136 -0
- package/docs/concepts/retry.md +86 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +201 -0
- package/docs/concepts/session.md +164 -0
- package/docs/concepts/soul.md +116 -0
- package/docs/concepts/streaming.md +258 -0
- package/docs/concepts/system-prompt.md +330 -0
- package/docs/concepts/timezone.md +47 -0
- package/docs/concepts/typebox.md +309 -0
- package/docs/concepts/typing-indicators.md +88 -0
- package/docs/concepts/usage-tracking.md +72 -0
- package/docs/date-time.md +126 -0
- package/docs/debug/node-issue.md +90 -0
- package/docs/diagnostics/flags.md +182 -0
- package/docs/docs.json +1885 -0
- package/docs/gateway/authentication.md +286 -0
- package/docs/gateway/background-process.md +147 -0
- package/docs/gateway/bonjour.md +303 -0
- package/docs/gateway/bridge-protocol.md +97 -0
- package/docs/gateway/cli-backends.md +463 -0
- package/docs/gateway/config-agents.md +1525 -0
- package/docs/gateway/config-channels.md +942 -0
- package/docs/gateway/config-tools.md +806 -0
- package/docs/gateway/configuration-examples.md +706 -0
- package/docs/gateway/configuration-reference.md +1449 -0
- package/docs/gateway/configuration.md +748 -0
- package/docs/gateway/diagnostics.md +213 -0
- package/docs/gateway/discovery.md +154 -0
- package/docs/gateway/doctor.md +576 -0
- package/docs/gateway/external-apps.md +86 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +73 -0
- package/docs/gateway/heartbeat.md +498 -0
- package/docs/gateway/index.md +385 -0
- package/docs/gateway/local-model-services.md +205 -0
- package/docs/gateway/local-models.md +355 -0
- package/docs/gateway/logging.md +149 -0
- package/docs/gateway/multiple-gateways.md +178 -0
- package/docs/gateway/network-model.md +15 -0
- package/docs/gateway/openai-http-api.md +379 -0
- package/docs/gateway/openresponses-http-api.md +349 -0
- package/docs/gateway/openshell.md +316 -0
- package/docs/gateway/opentelemetry.md +440 -0
- package/docs/gateway/operator-scopes.md +119 -0
- package/docs/gateway/pairing.md +207 -0
- package/docs/gateway/prometheus.md +249 -0
- package/docs/gateway/protocol.md +839 -0
- package/docs/gateway/remote-gateway-readme.md +169 -0
- package/docs/gateway/remote.md +280 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +148 -0
- package/docs/gateway/sandboxing.md +546 -0
- package/docs/gateway/secrets-plan-contract.md +159 -0
- package/docs/gateway/secrets.md +805 -0
- package/docs/gateway/security/audit-checks.md +127 -0
- package/docs/gateway/security/exposure-runbook.md +212 -0
- package/docs/gateway/security/index.md +1344 -0
- package/docs/gateway/security/secure-file-operations.md +76 -0
- package/docs/gateway/security/shrinkwrap.md +111 -0
- package/docs/gateway/tailscale.md +180 -0
- package/docs/gateway/tools-invoke-http-api.md +175 -0
- package/docs/gateway/troubleshooting.md +881 -0
- package/docs/gateway/trusted-proxy-auth.md +483 -0
- package/docs/help/debugging.md +341 -0
- package/docs/help/environment.md +240 -0
- package/docs/help/faq-first-run.md +872 -0
- package/docs/help/faq-models.md +557 -0
- package/docs/help/faq.md +2115 -0
- package/docs/help/index.md +39 -0
- package/docs/help/scripts.md +56 -0
- package/docs/help/testing-live.md +592 -0
- package/docs/help/testing-updates-plugins.md +299 -0
- package/docs/help/testing.md +977 -0
- package/docs/help/troubleshooting.md +500 -0
- package/docs/index.md +196 -0
- package/docs/install/ansible.md +233 -0
- package/docs/install/azure.md +315 -0
- package/docs/install/bun.md +59 -0
- package/docs/install/clawdock.md +112 -0
- package/docs/install/development-channels.md +148 -0
- package/docs/install/digitalocean.md +174 -0
- package/docs/install/docker-vm-runtime.md +154 -0
- package/docs/install/docker.md +564 -0
- package/docs/install/exe-dev.md +201 -0
- package/docs/install/fly.md +524 -0
- package/docs/install/gcp.md +418 -0
- package/docs/install/hetzner.md +285 -0
- package/docs/install/hostinger.md +98 -0
- package/docs/install/index.md +236 -0
- package/docs/install/installer.md +447 -0
- package/docs/install/kubernetes.md +196 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-claude.md +165 -0
- package/docs/install/migrating-hermes.md +178 -0
- package/docs/install/migrating.md +137 -0
- package/docs/install/nix.md +112 -0
- package/docs/install/node.md +142 -0
- package/docs/install/northflank.mdx +44 -0
- package/docs/install/oracle.md +218 -0
- package/docs/install/podman.md +216 -0
- package/docs/install/railway.mdx +92 -0
- package/docs/install/raspberry-pi.md +234 -0
- package/docs/install/render.mdx +167 -0
- package/docs/install/uninstall.md +140 -0
- package/docs/install/updating.md +284 -0
- package/docs/install/upstash.md +96 -0
- package/docs/logging.md +322 -0
- package/docs/maturity-scores.yaml +5361 -0
- package/docs/nav-tabs-underline.js +104 -0
- package/docs/network.md +72 -0
- package/docs/nodes/audio.md +216 -0
- package/docs/nodes/camera.md +166 -0
- package/docs/nodes/images.md +77 -0
- package/docs/nodes/index.md +444 -0
- package/docs/nodes/location-command.md +102 -0
- package/docs/nodes/media-understanding.md +495 -0
- package/docs/nodes/talk.md +160 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +93 -0
- package/docs/openclaw-agent-runtime.md +82 -0
- package/docs/perplexity.md +11 -0
- package/docs/plan/codex-context-engine-harness.md +624 -0
- package/docs/plan/ui-channels.md +284 -0
- package/docs/platforms/android.md +286 -0
- package/docs/platforms/digitalocean.md +12 -0
- package/docs/platforms/easyrunner.md +109 -0
- package/docs/platforms/index.md +65 -0
- package/docs/platforms/ios.md +287 -0
- package/docs/platforms/linux.md +141 -0
- package/docs/platforms/mac/bundled-gateway.md +79 -0
- package/docs/platforms/mac/canvas.md +128 -0
- package/docs/platforms/mac/child-process.md +72 -0
- package/docs/platforms/mac/dev-setup.md +112 -0
- package/docs/platforms/mac/health.md +39 -0
- package/docs/platforms/mac/icon.md +36 -0
- package/docs/platforms/mac/logging.md +62 -0
- package/docs/platforms/mac/menu-bar.md +93 -0
- package/docs/platforms/mac/peekaboo.md +96 -0
- package/docs/platforms/mac/permissions.md +73 -0
- package/docs/platforms/mac/remote.md +123 -0
- package/docs/platforms/mac/signing.md +52 -0
- package/docs/platforms/mac/skills.md +45 -0
- package/docs/platforms/mac/voice-overlay.md +66 -0
- package/docs/platforms/mac/voicewake.md +79 -0
- package/docs/platforms/mac/webchat.md +54 -0
- package/docs/platforms/mac/xpc.md +66 -0
- package/docs/platforms/macos.md +228 -0
- package/docs/platforms/oracle.md +12 -0
- package/docs/platforms/raspberry-pi.md +13 -0
- package/docs/platforms/windows.md +304 -0
- package/docs/plugins/adding-capabilities.md +146 -0
- package/docs/plugins/admin-http-rpc.md +216 -0
- package/docs/plugins/agent-tools.md +13 -0
- package/docs/plugins/architecture-internals.md +1203 -0
- package/docs/plugins/architecture.md +483 -0
- package/docs/plugins/building-extensions.md +13 -0
- package/docs/plugins/building-plugins.md +343 -0
- package/docs/plugins/bundles.md +310 -0
- package/docs/plugins/cli-backend-plugins.md +328 -0
- package/docs/plugins/codex-computer-use.md +297 -0
- package/docs/plugins/codex-harness-reference.md +480 -0
- package/docs/plugins/codex-harness-runtime.md +268 -0
- package/docs/plugins/codex-harness.md +800 -0
- package/docs/plugins/codex-native-plugins.md +280 -0
- package/docs/plugins/community.md +77 -0
- package/docs/plugins/compatibility.md +198 -0
- package/docs/plugins/copilot.md +355 -0
- package/docs/plugins/dependency-resolution.md +176 -0
- package/docs/plugins/google-meet.md +1737 -0
- package/docs/plugins/hooks.md +525 -0
- package/docs/plugins/install-overrides.md +80 -0
- package/docs/plugins/llama-cpp.md +58 -0
- package/docs/plugins/manage-plugins.md +214 -0
- package/docs/plugins/manifest.md +1468 -0
- package/docs/plugins/memory-lancedb.md +385 -0
- package/docs/plugins/memory-wiki.md +529 -0
- package/docs/plugins/message-presentation.md +487 -0
- package/docs/plugins/oc-path.md +166 -0
- package/docs/plugins/plugin-inventory.md +318 -0
- package/docs/plugins/plugin-permission-requests.md +193 -0
- package/docs/plugins/reference/acpx.md +23 -0
- package/docs/plugins/reference/admin-http-rpc.md +23 -0
- package/docs/plugins/reference/alibaba.md +23 -0
- package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
- package/docs/plugins/reference/amazon-bedrock.md +23 -0
- package/docs/plugins/reference/anthropic-vertex.md +29 -0
- package/docs/plugins/reference/anthropic.md +23 -0
- package/docs/plugins/reference/arcee.md +23 -0
- package/docs/plugins/reference/azure-speech.md +23 -0
- package/docs/plugins/reference/bonjour.md +19 -0
- package/docs/plugins/reference/brave.md +23 -0
- package/docs/plugins/reference/browser.md +23 -0
- package/docs/plugins/reference/byteplus.md +19 -0
- package/docs/plugins/reference/canvas.md +19 -0
- package/docs/plugins/reference/cerebras.md +23 -0
- package/docs/plugins/reference/chutes.md +23 -0
- package/docs/plugins/reference/clickclack.md +23 -0
- package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
- package/docs/plugins/reference/codex-supervisor.md +27 -0
- package/docs/plugins/reference/codex.md +23 -0
- package/docs/plugins/reference/comfy.md +23 -0
- package/docs/plugins/reference/copilot-proxy.md +19 -0
- package/docs/plugins/reference/copilot.md +23 -0
- package/docs/plugins/reference/deepgram.md +23 -0
- package/docs/plugins/reference/deepinfra.md +23 -0
- package/docs/plugins/reference/deepseek.md +23 -0
- package/docs/plugins/reference/diagnostics-otel.md +19 -0
- package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
- package/docs/plugins/reference/diffs-language-pack.md +31 -0
- package/docs/plugins/reference/diffs.md +19 -0
- package/docs/plugins/reference/discord.md +23 -0
- package/docs/plugins/reference/document-extract.md +23 -0
- package/docs/plugins/reference/duckduckgo.md +23 -0
- package/docs/plugins/reference/elevenlabs.md +23 -0
- package/docs/plugins/reference/exa.md +23 -0
- package/docs/plugins/reference/fal.md +23 -0
- package/docs/plugins/reference/feishu.md +23 -0
- package/docs/plugins/reference/file-transfer.md +19 -0
- package/docs/plugins/reference/firecrawl.md +23 -0
- package/docs/plugins/reference/fireworks.md +23 -0
- package/docs/plugins/reference/github-copilot.md +23 -0
- package/docs/plugins/reference/gmi.md +23 -0
- package/docs/plugins/reference/google-meet.md +23 -0
- package/docs/plugins/reference/google.md +23 -0
- package/docs/plugins/reference/googlechat.md +23 -0
- package/docs/plugins/reference/gradium.md +23 -0
- package/docs/plugins/reference/groq.md +23 -0
- package/docs/plugins/reference/huggingface.md +23 -0
- package/docs/plugins/reference/imessage.md +23 -0
- package/docs/plugins/reference/inworld.md +23 -0
- package/docs/plugins/reference/irc.md +23 -0
- package/docs/plugins/reference/kilocode.md +23 -0
- package/docs/plugins/reference/kimi.md +23 -0
- package/docs/plugins/reference/line.md +23 -0
- package/docs/plugins/reference/litellm.md +23 -0
- package/docs/plugins/reference/llama-cpp.md +23 -0
- package/docs/plugins/reference/llm-task.md +19 -0
- package/docs/plugins/reference/lmstudio.md +23 -0
- package/docs/plugins/reference/lobster.md +19 -0
- package/docs/plugins/reference/matrix.md +23 -0
- package/docs/plugins/reference/mattermost.md +23 -0
- package/docs/plugins/reference/memory-core.md +19 -0
- package/docs/plugins/reference/memory-lancedb.md +23 -0
- package/docs/plugins/reference/memory-wiki.md +23 -0
- package/docs/plugins/reference/microsoft-foundry.md +113 -0
- package/docs/plugins/reference/microsoft.md +19 -0
- package/docs/plugins/reference/migrate-claude.md +19 -0
- package/docs/plugins/reference/migrate-hermes.md +19 -0
- package/docs/plugins/reference/minimax.md +23 -0
- package/docs/plugins/reference/mistral.md +23 -0
- package/docs/plugins/reference/moonshot.md +23 -0
- package/docs/plugins/reference/msteams.md +23 -0
- package/docs/plugins/reference/nextcloud-talk.md +23 -0
- package/docs/plugins/reference/nostr.md +23 -0
- package/docs/plugins/reference/novita.md +23 -0
- package/docs/plugins/reference/nvidia.md +23 -0
- package/docs/plugins/reference/oc-path.md +23 -0
- package/docs/plugins/reference/ollama.md +24 -0
- package/docs/plugins/reference/open-prose.md +19 -0
- package/docs/plugins/reference/openai.md +23 -0
- package/docs/plugins/reference/opencode-go.md +23 -0
- package/docs/plugins/reference/opencode.md +23 -0
- package/docs/plugins/reference/openrouter.md +23 -0
- package/docs/plugins/reference/openshell.md +19 -0
- package/docs/plugins/reference/perplexity.md +23 -0
- package/docs/plugins/reference/pixverse.md +23 -0
- package/docs/plugins/reference/policy.md +79 -0
- package/docs/plugins/reference/qa-channel.md +23 -0
- package/docs/plugins/reference/qa-lab.md +19 -0
- package/docs/plugins/reference/qa-matrix.md +19 -0
- package/docs/plugins/reference/qianfan.md +23 -0
- package/docs/plugins/reference/qqbot.md +23 -0
- package/docs/plugins/reference/qwen.md +24 -0
- package/docs/plugins/reference/runway.md +23 -0
- package/docs/plugins/reference/searxng.md +19 -0
- package/docs/plugins/reference/senseaudio.md +23 -0
- package/docs/plugins/reference/sglang.md +23 -0
- package/docs/plugins/reference/signal.md +23 -0
- package/docs/plugins/reference/slack.md +23 -0
- package/docs/plugins/reference/sms.md +23 -0
- package/docs/plugins/reference/stepfun.md +23 -0
- package/docs/plugins/reference/synology-chat.md +23 -0
- package/docs/plugins/reference/synthetic.md +23 -0
- package/docs/plugins/reference/tavily.md +23 -0
- package/docs/plugins/reference/telegram.md +23 -0
- package/docs/plugins/reference/tencent.md +23 -0
- package/docs/plugins/reference/tlon.md +23 -0
- package/docs/plugins/reference/together.md +23 -0
- package/docs/plugins/reference/tokenjuice.md +23 -0
- package/docs/plugins/reference/tts-local-cli.md +19 -0
- package/docs/plugins/reference/twitch.md +23 -0
- package/docs/plugins/reference/venice.md +23 -0
- package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
- package/docs/plugins/reference/vllm.md +23 -0
- package/docs/plugins/reference/voice-call.md +23 -0
- package/docs/plugins/reference/volcengine.md +23 -0
- package/docs/plugins/reference/voyage.md +19 -0
- package/docs/plugins/reference/vydra.md +23 -0
- package/docs/plugins/reference/web-readability.md +19 -0
- package/docs/plugins/reference/webhooks.md +23 -0
- package/docs/plugins/reference/whatsapp.md +23 -0
- package/docs/plugins/reference/workboard.md +23 -0
- package/docs/plugins/reference/xai.md +23 -0
- package/docs/plugins/reference/xiaomi.md +23 -0
- package/docs/plugins/reference/zai.md +23 -0
- package/docs/plugins/reference/zalo.md +23 -0
- package/docs/plugins/reference/zalouser.md +24 -0
- package/docs/plugins/reference.md +19 -0
- package/docs/plugins/sdk-agent-harness.md +339 -0
- package/docs/plugins/sdk-channel-inbound.md +70 -0
- package/docs/plugins/sdk-channel-ingress.md +137 -0
- package/docs/plugins/sdk-channel-message.md +18 -0
- package/docs/plugins/sdk-channel-outbound.md +113 -0
- package/docs/plugins/sdk-channel-plugins.md +770 -0
- package/docs/plugins/sdk-channel-turn.md +9 -0
- package/docs/plugins/sdk-entrypoints.md +344 -0
- package/docs/plugins/sdk-migration.md +1011 -0
- package/docs/plugins/sdk-overview.md +525 -0
- package/docs/plugins/sdk-provider-plugins.md +1019 -0
- package/docs/plugins/sdk-runtime.md +683 -0
- package/docs/plugins/sdk-setup.md +550 -0
- package/docs/plugins/sdk-subpaths.md +401 -0
- package/docs/plugins/sdk-testing.md +403 -0
- package/docs/plugins/tool-plugins.md +411 -0
- package/docs/plugins/voice-call.md +942 -0
- package/docs/plugins/webhooks.md +192 -0
- package/docs/plugins/workboard.md +402 -0
- package/docs/plugins/zalouser.md +86 -0
- package/docs/prose.md +191 -0
- package/docs/providers/alibaba.md +158 -0
- package/docs/providers/anthropic.md +386 -0
- package/docs/providers/arcee.md +144 -0
- package/docs/providers/azure-speech.md +119 -0
- package/docs/providers/bedrock-mantle.md +224 -0
- package/docs/providers/bedrock.md +433 -0
- package/docs/providers/cerebras.md +130 -0
- package/docs/providers/chutes.md +153 -0
- package/docs/providers/claude-max-api-proxy.md +191 -0
- package/docs/providers/cloudflare-ai-gateway.md +119 -0
- package/docs/providers/comfy.md +362 -0
- package/docs/providers/deepgram.md +184 -0
- package/docs/providers/deepinfra.md +92 -0
- package/docs/providers/deepseek.md +146 -0
- package/docs/providers/ds4.md +309 -0
- package/docs/providers/elevenlabs.md +130 -0
- package/docs/providers/fal.md +240 -0
- package/docs/providers/fireworks.md +144 -0
- package/docs/providers/github-copilot.md +257 -0
- package/docs/providers/gmi.md +92 -0
- package/docs/providers/google.md +472 -0
- package/docs/providers/gradium.md +123 -0
- package/docs/providers/groq.md +171 -0
- package/docs/providers/huggingface.md +235 -0
- package/docs/providers/index.md +105 -0
- package/docs/providers/inferrs.md +272 -0
- package/docs/providers/inworld.md +120 -0
- package/docs/providers/kilocode.md +135 -0
- package/docs/providers/litellm.md +234 -0
- package/docs/providers/lmstudio.md +224 -0
- package/docs/providers/minimax.md +518 -0
- package/docs/providers/mistral.md +235 -0
- package/docs/providers/models.md +64 -0
- package/docs/providers/moonshot.md +413 -0
- package/docs/providers/novita.md +92 -0
- package/docs/providers/nvidia.md +208 -0
- package/docs/providers/ollama-cloud.md +115 -0
- package/docs/providers/ollama.md +1225 -0
- package/docs/providers/openai.md +1091 -0
- package/docs/providers/opencode-go.md +123 -0
- package/docs/providers/opencode.md +149 -0
- package/docs/providers/openrouter.md +390 -0
- package/docs/providers/perplexity-provider.md +123 -0
- package/docs/providers/pixverse.md +165 -0
- package/docs/providers/qianfan.md +132 -0
- package/docs/providers/qwen-oauth.md +115 -0
- package/docs/providers/qwen.md +364 -0
- package/docs/providers/runway.md +103 -0
- package/docs/providers/senseaudio.md +68 -0
- package/docs/providers/sglang.md +161 -0
- package/docs/providers/stepfun.md +229 -0
- package/docs/providers/synthetic.md +154 -0
- package/docs/providers/tencent.md +130 -0
- package/docs/providers/together.md +140 -0
- package/docs/providers/venice.md +312 -0
- package/docs/providers/vercel-ai-gateway.md +128 -0
- package/docs/providers/vllm.md +407 -0
- package/docs/providers/volcengine.md +199 -0
- package/docs/providers/vydra.md +180 -0
- package/docs/providers/xai.md +571 -0
- package/docs/providers/xiaomi.md +286 -0
- package/docs/providers/zai.md +224 -0
- package/docs/refactor/access.md +9 -0
- package/docs/refactor/acp.md +298 -0
- package/docs/refactor/canvas.md +131 -0
- package/docs/refactor/database-first.md +2263 -0
- package/docs/refactor/ingress-core.md +341 -0
- package/docs/reference/AGENTS.default.md +131 -0
- package/docs/reference/RELEASING.md +844 -0
- package/docs/reference/api-usage-costs.md +208 -0
- package/docs/reference/application-modernization-plan.md +208 -0
- package/docs/reference/code-mode.md +1058 -0
- package/docs/reference/credits.md +33 -0
- package/docs/reference/device-models.md +50 -0
- package/docs/reference/full-release-validation.md +206 -0
- package/docs/reference/memory-config.md +630 -0
- package/docs/reference/prompt-caching.md +358 -0
- package/docs/reference/release-performance-sweep.md +347 -0
- package/docs/reference/rich-output-protocol.md +93 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secret-placeholder-conventions.md +33 -0
- package/docs/reference/secretref-credential-surface.md +163 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +691 -0
- package/docs/reference/session-management-compaction.md +474 -0
- package/docs/reference/templates/AGENTS.dev.md +90 -0
- package/docs/reference/templates/AGENTS.md +227 -0
- package/docs/reference/templates/BOOT.md +16 -0
- package/docs/reference/templates/BOOTSTRAP.md +66 -0
- package/docs/reference/templates/HEARTBEAT.md +24 -0
- package/docs/reference/templates/IDENTITY.dev.md +52 -0
- package/docs/reference/templates/IDENTITY.md +34 -0
- package/docs/reference/templates/SOUL.dev.md +82 -0
- package/docs/reference/templates/SOUL.md +49 -0
- package/docs/reference/templates/TOOLS.dev.md +29 -0
- package/docs/reference/templates/TOOLS.md +51 -0
- package/docs/reference/templates/USER.dev.md +23 -0
- package/docs/reference/templates/USER.md +28 -0
- package/docs/reference/test.md +248 -0
- package/docs/reference/token-use.md +246 -0
- package/docs/reference/transcript-hygiene.md +226 -0
- package/docs/reference/wizard.md +252 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +170 -0
- package/docs/security/incident-response.md +59 -0
- package/docs/security/network-proxy.md +268 -0
- package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
- package/docs/snippets/plugin-publish/minimal-package.json +16 -0
- package/docs/specs/claw-supervisor.md +247 -0
- package/docs/start/bootstrapping.md +49 -0
- package/docs/start/docs-directory.md +69 -0
- package/docs/start/getting-started.md +152 -0
- package/docs/start/hubs.md +201 -0
- package/docs/start/lore.md +223 -0
- package/docs/start/onboarding-overview.md +72 -0
- package/docs/start/onboarding.md +98 -0
- package/docs/start/openclaw.md +246 -0
- package/docs/start/quickstart.md +25 -0
- package/docs/start/setup.md +178 -0
- package/docs/start/showcase.md +371 -0
- package/docs/start/wizard-cli-automation.md +232 -0
- package/docs/start/wizard-cli-reference.md +331 -0
- package/docs/start/wizard.md +142 -0
- package/docs/style.css +137 -0
- package/docs/tools/acp-agents-setup.md +356 -0
- package/docs/tools/acp-agents.md +865 -0
- package/docs/tools/agent-send.md +130 -0
- package/docs/tools/apply-patch.md +64 -0
- package/docs/tools/brave-search.md +139 -0
- package/docs/tools/browser-control.md +405 -0
- package/docs/tools/browser-linux-troubleshooting.md +173 -0
- package/docs/tools/browser-login.md +77 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
- package/docs/tools/browser.md +866 -0
- package/docs/tools/btw.md +159 -0
- package/docs/tools/capability-cookbook.md +12 -0
- package/docs/tools/clawhub.md +5 -0
- package/docs/tools/code-execution.md +173 -0
- package/docs/tools/creating-skills.md +271 -0
- package/docs/tools/diffs.md +527 -0
- package/docs/tools/duckduckgo-search.md +109 -0
- package/docs/tools/elevated.md +128 -0
- package/docs/tools/exa-search.md +152 -0
- package/docs/tools/exec-approvals-advanced.md +457 -0
- package/docs/tools/exec-approvals.md +520 -0
- package/docs/tools/exec.md +294 -0
- package/docs/tools/firecrawl.md +155 -0
- package/docs/tools/gemini-search.md +114 -0
- package/docs/tools/goal.md +217 -0
- package/docs/tools/grok-search.md +129 -0
- package/docs/tools/image-generation.md +538 -0
- package/docs/tools/index.md +176 -0
- package/docs/tools/kimi-search.md +105 -0
- package/docs/tools/llm-task.md +137 -0
- package/docs/tools/lobster.md +365 -0
- package/docs/tools/loop-detection.md +154 -0
- package/docs/tools/media-overview.md +161 -0
- package/docs/tools/minimax-search.md +102 -0
- package/docs/tools/multi-agent-sandbox-tools.md +409 -0
- package/docs/tools/music-generation.md +372 -0
- package/docs/tools/ollama-search.md +153 -0
- package/docs/tools/parallel-search.md +154 -0
- package/docs/tools/pdf.md +213 -0
- package/docs/tools/permission-modes.md +111 -0
- package/docs/tools/perplexity-search.md +220 -0
- package/docs/tools/plugin.md +378 -0
- package/docs/tools/reactions.md +100 -0
- package/docs/tools/searxng-search.md +141 -0
- package/docs/tools/skill-workshop.md +283 -0
- package/docs/tools/skills-config.md +457 -0
- package/docs/tools/skills.md +591 -0
- package/docs/tools/slash-commands.md +518 -0
- package/docs/tools/steer.md +77 -0
- package/docs/tools/subagents.md +652 -0
- package/docs/tools/tavily.md +162 -0
- package/docs/tools/thinking.md +142 -0
- package/docs/tools/tokenjuice.md +84 -0
- package/docs/tools/tool-search.md +269 -0
- package/docs/tools/trajectory.md +229 -0
- package/docs/tools/tts.md +1013 -0
- package/docs/tools/video-generation.md +555 -0
- package/docs/tools/web-fetch.md +210 -0
- package/docs/tools/web.md +476 -0
- package/docs/tts.md +11 -0
- package/docs/vps.md +139 -0
- package/docs/web/control-ui.md +530 -0
- package/docs/web/dashboard.md +107 -0
- package/docs/web/index.md +133 -0
- package/docs/web/tui.md +258 -0
- package/docs/web/webchat.md +102 -0
- package/npm-shrinkwrap.json +3485 -0
- package/openclaw.mjs +661 -0
- package/package.json +1971 -0
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.39.0.patch +40 -0
- package/pnpm-workspace.yaml +124 -0
- package/scripts/crabbox-wrapper.mjs +2470 -0
- package/scripts/lib/official-external-channel-catalog.json +570 -0
- package/scripts/lib/official-external-plugin-catalog.json +284 -0
- package/scripts/lib/official-external-provider-catalog.json +158 -0
- package/scripts/lib/package-dist-imports.mjs +174 -0
- package/scripts/npm-runner.mjs +95 -0
- package/scripts/postinstall-bundled-plugins.mjs +978 -0
- package/scripts/preinstall-package-manager-warning.mjs +74 -0
- package/scripts/prepare-git-hooks.mjs +73 -0
- package/scripts/windows-cmd-helpers.mjs +29 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +78 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +143 -0
- package/skills/diagram-maker/SKILL.md +53 -0
- package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
- package/skills/diagram-maker/references/svg-template.md +112 -0
- package/skills/discord/SKILL.md +136 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +47 -0
- package/skills/gh-issues/SKILL.md +213 -0
- package/skills/gifgrep/SKILL.md +85 -0
- package/skills/github/SKILL.md +84 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +105 -0
- package/skills/himalaya/SKILL.md +80 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/meme-maker/SKILL.md +42 -0
- package/skills/meme-maker/references/templates.json +358 -0
- package/skills/meme-maker/scripts/meme.mjs +398 -0
- package/skills/model-usage/SKILL.md +71 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +319 -0
- package/skills/model-usage/scripts/test_model_usage.py +40 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +143 -0
- package/skills/node-inspect-debugger/SKILL.md +85 -0
- package/skills/notion/SKILL.md +150 -0
- package/skills/obsidian/SKILL.md +119 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +71 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +126 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +198 -0
- package/skills/pyproject.toml +10 -0
- package/skills/python-debugpy/SKILL.md +73 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +151 -0
- package/skills/sherpa-onnx-tts/SKILL.md +109 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +78 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +144 -0
- package/skills/skill-creator/scripts/quick_validate.py +169 -0
- package/skills/skill-creator/scripts/test_package_skill.py +199 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
- package/skills/slack/SKILL.md +78 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spike/SKILL.md +51 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/taskflow/SKILL.md +149 -0
- package/skills/taskflow/examples/inbox-triage.lobster +33 -0
- package/skills/taskflow/examples/pr-intake.lobster +32 -0
- package/skills/taskflow-inbox-triage/SKILL.md +119 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +91 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +108 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +87 -0
- package/skills/xurl/SKILL.md +120 -0
- package/src/agents/templates/HEARTBEAT.md +5 -0
|
@@ -0,0 +1,591 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Skills"
|
|
3
|
+
sidebarTitle: "Skills"
|
|
4
|
+
summary: "Skills teach your agent how to use tools. Learn how they load, how precedence works, and how to configure gating, allowlists, and environment injection."
|
|
5
|
+
read_when:
|
|
6
|
+
- Adding or modifying skills
|
|
7
|
+
- Changing skill gating, allowlists, or load rules
|
|
8
|
+
- Understanding skill precedence and snapshot behavior
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Skills are markdown instruction files that teach the agent how and when to use
|
|
12
|
+
tools. Each skill lives in a directory containing a `SKILL.md` file with YAML
|
|
13
|
+
frontmatter and a markdown body. OpenClaw loads bundled skills plus any local
|
|
14
|
+
overrides, and filters them at load time based on environment, config, and
|
|
15
|
+
binary presence.
|
|
16
|
+
|
|
17
|
+
<CardGroup cols={2}>
|
|
18
|
+
<Card title="Creating skills" href="/tools/creating-skills" icon="hammer">
|
|
19
|
+
Build and test a custom skill from scratch.
|
|
20
|
+
</Card>
|
|
21
|
+
<Card title="Skill Workshop" href="/tools/skill-workshop" icon="flask">
|
|
22
|
+
Review and approve agent-drafted skill proposals.
|
|
23
|
+
</Card>
|
|
24
|
+
<Card title="Skills config" href="/tools/skills-config" icon="gear">
|
|
25
|
+
Full `skills.*` config schema and agent allowlists.
|
|
26
|
+
</Card>
|
|
27
|
+
<Card title="ClawHub" href="/clawhub" icon="cloud">
|
|
28
|
+
Browse and install community skills.
|
|
29
|
+
</Card>
|
|
30
|
+
</CardGroup>
|
|
31
|
+
|
|
32
|
+
## Loading order
|
|
33
|
+
|
|
34
|
+
OpenClaw loads from these sources, **highest precedence first**. When the same
|
|
35
|
+
skill name appears in multiple places, the highest source wins.
|
|
36
|
+
|
|
37
|
+
| Priority | Source | Path |
|
|
38
|
+
| ----------- | ---------------------- | --------------------------------------- |
|
|
39
|
+
| 1 — highest | Workspace skills | `<workspace>/skills` |
|
|
40
|
+
| 2 | Project agent skills | `<workspace>/.agents/skills` |
|
|
41
|
+
| 3 | Personal agent skills | `~/.agents/skills` |
|
|
42
|
+
| 4 | Managed / local skills | `~/.openclaw/skills` |
|
|
43
|
+
| 5 | Bundled skills | shipped with the install |
|
|
44
|
+
| 6 — lowest | Extra directories | `skills.load.extraDirs` + plugin skills |
|
|
45
|
+
|
|
46
|
+
Skill roots support grouped layouts. OpenClaw discovers a skill whenever
|
|
47
|
+
`SKILL.md` appears anywhere under a configured root:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
<workspace>/skills/research/SKILL.md ✓ found as "research"
|
|
51
|
+
<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The folder path is for organization only. The skill's name, slash command, and
|
|
55
|
+
allowlist key all come from the `name` frontmatter field (or the directory name
|
|
56
|
+
when `name` is missing).
|
|
57
|
+
|
|
58
|
+
<Note>
|
|
59
|
+
Codex CLI's native `$CODEX_HOME/skills` directory is **not** an OpenClaw
|
|
60
|
+
skill root. Use `openclaw migrate plan codex` to inventory those skills, then
|
|
61
|
+
`openclaw migrate codex` to copy them into your OpenClaw workspace.
|
|
62
|
+
</Note>
|
|
63
|
+
|
|
64
|
+
## Per-agent vs shared skills
|
|
65
|
+
|
|
66
|
+
In multi-agent setups, each agent has its own workspace. Use the path that
|
|
67
|
+
matches your desired visibility:
|
|
68
|
+
|
|
69
|
+
| Scope | Path | Visible to |
|
|
70
|
+
| -------------- | ---------------------------- | --------------------------- |
|
|
71
|
+
| Per-agent | `<workspace>/skills` | Only that agent |
|
|
72
|
+
| Project-agent | `<workspace>/.agents/skills` | Only that workspace's agent |
|
|
73
|
+
| Personal-agent | `~/.agents/skills` | All agents on this machine |
|
|
74
|
+
| Shared managed | `~/.openclaw/skills` | All agents on this machine |
|
|
75
|
+
| Extra dirs | `skills.load.extraDirs` | All agents on this machine |
|
|
76
|
+
|
|
77
|
+
## Agent allowlists
|
|
78
|
+
|
|
79
|
+
Skill **location** (precedence) and skill **visibility** (which agent can use
|
|
80
|
+
it) are separate controls. Use allowlists to restrict which skills an agent sees,
|
|
81
|
+
regardless of where they are loaded from.
|
|
82
|
+
|
|
83
|
+
```json5
|
|
84
|
+
{
|
|
85
|
+
agents: {
|
|
86
|
+
defaults: {
|
|
87
|
+
skills: ["github", "weather"], // shared baseline
|
|
88
|
+
},
|
|
89
|
+
list: [
|
|
90
|
+
{ id: "writer" }, // inherits github, weather
|
|
91
|
+
{ id: "docs", skills: ["docs-search"] }, // replaces defaults entirely
|
|
92
|
+
{ id: "locked-down", skills: [] }, // no skills
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
<AccordionGroup>
|
|
99
|
+
<Accordion title="Allowlist rules">
|
|
100
|
+
- Omit `agents.defaults.skills` to leave all skills unrestricted by default.
|
|
101
|
+
- Omit `agents.list[].skills` to inherit `agents.defaults.skills`.
|
|
102
|
+
- Set `agents.list[].skills: []` to expose no skills for that agent.
|
|
103
|
+
- A non-empty `agents.list[].skills` list is the **final** set — it does not
|
|
104
|
+
merge with defaults.
|
|
105
|
+
- The effective allowlist applies across prompt building, slash-command
|
|
106
|
+
discovery, sandbox sync, and skill snapshots.
|
|
107
|
+
</Accordion>
|
|
108
|
+
</AccordionGroup>
|
|
109
|
+
|
|
110
|
+
## Plugins and skills
|
|
111
|
+
|
|
112
|
+
Plugins can ship their own skills by listing `skills` directories in
|
|
113
|
+
`openclaw.plugin.json` (paths relative to the plugin root). Plugin skills load
|
|
114
|
+
when the plugin is enabled — for example, the browser plugin ships a
|
|
115
|
+
`browser-automation` skill for multi-step browser control.
|
|
116
|
+
|
|
117
|
+
Plugin skill directories merge at the same low-precedence level as
|
|
118
|
+
`skills.load.extraDirs`, so a same-named bundled, managed, agent, or workspace
|
|
119
|
+
skill overrides them. Gate them via `metadata.openclaw.requires.config` on the
|
|
120
|
+
plugin's config entry.
|
|
121
|
+
|
|
122
|
+
See [Plugins](/tools/plugin) and [Tools](/tools) for the full plugin system.
|
|
123
|
+
|
|
124
|
+
## Skill Workshop
|
|
125
|
+
|
|
126
|
+
[Skill Workshop](/tools/skill-workshop) is a proposal queue between the agent
|
|
127
|
+
and your active skill files. When the agent spots reusable work, it drafts a
|
|
128
|
+
proposal instead of writing directly to `SKILL.md`. You review and approve
|
|
129
|
+
before anything changes.
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
openclaw skills workshop list
|
|
133
|
+
openclaw skills workshop inspect <proposal-id>
|
|
134
|
+
openclaw skills workshop apply <proposal-id>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
See [Skill Workshop](/tools/skill-workshop) for the full lifecycle, CLI
|
|
138
|
+
reference, and configuration.
|
|
139
|
+
|
|
140
|
+
## Installing from ClawHub
|
|
141
|
+
|
|
142
|
+
[ClawHub](https://clawhub.ai) is the public skills registry. Use
|
|
143
|
+
`openclaw skills` commands for install and update, or the `clawhub` CLI for
|
|
144
|
+
publish and sync.
|
|
145
|
+
|
|
146
|
+
| Action | Command |
|
|
147
|
+
| ---------------------------------- | ------------------------------------------------------ |
|
|
148
|
+
| Install a skill into the workspace | `openclaw skills install <slug>` |
|
|
149
|
+
| Install from a Git repository | `openclaw skills install git:owner/repo@ref` |
|
|
150
|
+
| Install a local skill directory | `openclaw skills install ./path/to/skill --as my-tool` |
|
|
151
|
+
| Install for all local agents | `openclaw skills install <slug> --global` |
|
|
152
|
+
| Update all workspace skills | `openclaw skills update --all` |
|
|
153
|
+
| Update a shared managed skill | `openclaw skills update <slug> --global` |
|
|
154
|
+
| Update all shared managed skills | `openclaw skills update --all --global` |
|
|
155
|
+
| Verify a skill's trust envelope | `openclaw skills verify <slug>` |
|
|
156
|
+
| Print the generated Skill Card | `openclaw skills verify <slug> --card` |
|
|
157
|
+
| Publish / sync via ClawHub CLI | `clawhub sync --all` |
|
|
158
|
+
|
|
159
|
+
<AccordionGroup>
|
|
160
|
+
<Accordion title="Install details">
|
|
161
|
+
`openclaw skills install` installs into the active workspace `skills/`
|
|
162
|
+
directory by default. Add `--global` to install into the shared
|
|
163
|
+
`~/.openclaw/skills` directory, visible to all local agents unless agent
|
|
164
|
+
allowlists narrow it.
|
|
165
|
+
|
|
166
|
+
Git and local installs expect `SKILL.md` at the source root. The slug comes
|
|
167
|
+
from `SKILL.md` frontmatter `name` when valid, then falls back to the
|
|
168
|
+
directory or repository name. Use `--as <slug>` to override.
|
|
169
|
+
`openclaw skills update` tracks ClawHub installs only — reinstall Git or
|
|
170
|
+
local sources to refresh them.
|
|
171
|
+
|
|
172
|
+
</Accordion>
|
|
173
|
+
<Accordion title="Verification and security scanning">
|
|
174
|
+
`openclaw skills verify <slug>` asks ClawHub for the skill's
|
|
175
|
+
`clawhub.skill.verify.v1` trust envelope. Installed ClawHub skills verify
|
|
176
|
+
against the version and registry recorded in `.clawhub/origin.json`.
|
|
177
|
+
|
|
178
|
+
ClawHub skill pages expose the latest security scan state before install,
|
|
179
|
+
with detail pages for VirusTotal, ClawScan, and static analysis. The
|
|
180
|
+
command exits non-zero when ClawHub marks verification as failed. Publishers
|
|
181
|
+
recover false positives through the ClawHub dashboard or
|
|
182
|
+
`clawhub skill rescan <slug>`.
|
|
183
|
+
|
|
184
|
+
</Accordion>
|
|
185
|
+
<Accordion title="Private archive installs">
|
|
186
|
+
Gateway clients that need non-ClawHub delivery can stage a zip skill archive
|
|
187
|
+
with `skills.upload.begin`, `skills.upload.chunk`, and `skills.upload.commit`,
|
|
188
|
+
then install with `skills.install({ source: "upload", ... })`. This path is
|
|
189
|
+
off by default and requires `skills.install.allowUploadedArchives: true` in
|
|
190
|
+
`openclaw.json`. Normal ClawHub installs never need that setting.
|
|
191
|
+
</Accordion>
|
|
192
|
+
</AccordionGroup>
|
|
193
|
+
|
|
194
|
+
## Security
|
|
195
|
+
|
|
196
|
+
<Warning>
|
|
197
|
+
Treat third-party skills as **untrusted code**. Read them before enabling.
|
|
198
|
+
Prefer sandboxed runs for untrusted inputs and risky tools. See
|
|
199
|
+
[Sandboxing](/gateway/sandboxing) for agent-side controls.
|
|
200
|
+
</Warning>
|
|
201
|
+
|
|
202
|
+
<AccordionGroup>
|
|
203
|
+
<Accordion title="Path containment">
|
|
204
|
+
Workspace, project-agent, and extra-dir skill discovery only accepts skill
|
|
205
|
+
roots whose resolved realpath stays inside the configured root, unless
|
|
206
|
+
`skills.load.allowSymlinkTargets` explicitly trusts a target root.
|
|
207
|
+
Skill Workshop writes through those trusted targets only when
|
|
208
|
+
`skills.workshop.allowSymlinkTargetWrites` is enabled.
|
|
209
|
+
Managed `~/.openclaw/skills` and personal `~/.agents/skills` may contain
|
|
210
|
+
symlinked skill folders, but every `SKILL.md` realpath must still stay
|
|
211
|
+
inside its resolved skill directory.
|
|
212
|
+
</Accordion>
|
|
213
|
+
<Accordion title="Operator install policy">
|
|
214
|
+
Configure `security.installPolicy` to run a trusted local policy command
|
|
215
|
+
before skill installs continue. The policy receives metadata and the staged
|
|
216
|
+
source path, applies to ClawHub, uploaded, Git, local, update, and
|
|
217
|
+
dependency-installer paths, and fails closed when the command cannot return
|
|
218
|
+
a valid decision.
|
|
219
|
+
</Accordion>
|
|
220
|
+
<Accordion title="Secret injection scope">
|
|
221
|
+
`skills.entries.*.env` and `skills.entries.*.apiKey` inject secrets into the
|
|
222
|
+
**host** process for that agent turn only — not into the sandbox. Keep
|
|
223
|
+
secrets out of prompts and logs.
|
|
224
|
+
</Accordion>
|
|
225
|
+
</AccordionGroup>
|
|
226
|
+
|
|
227
|
+
For the broader threat model and security checklists, see
|
|
228
|
+
[Security](/gateway/security).
|
|
229
|
+
|
|
230
|
+
## SKILL.md format
|
|
231
|
+
|
|
232
|
+
Every skill needs at minimum a `name` and `description` in the frontmatter:
|
|
233
|
+
|
|
234
|
+
```markdown
|
|
235
|
+
---
|
|
236
|
+
name: image-lab
|
|
237
|
+
description: Generate or edit images via a provider-backed image workflow
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
When the user asks to generate an image, use the `image_generate` tool...
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
<Note>
|
|
244
|
+
OpenClaw follows the [AgentSkills](https://agentskills.io) spec. The
|
|
245
|
+
frontmatter parser supports **single-line keys only** — `metadata` must be a
|
|
246
|
+
single-line JSON object. Use `{baseDir}` in the body to reference the skill
|
|
247
|
+
folder path.
|
|
248
|
+
</Note>
|
|
249
|
+
|
|
250
|
+
### Optional frontmatter keys
|
|
251
|
+
|
|
252
|
+
<ParamField path="homepage" type="string">
|
|
253
|
+
URL shown as "Website" in the macOS Skills UI. Also supported via
|
|
254
|
+
`metadata.openclaw.homepage`.
|
|
255
|
+
</ParamField>
|
|
256
|
+
|
|
257
|
+
<ParamField path="user-invocable" type="boolean" default="true">
|
|
258
|
+
When `true`, the skill is exposed as a user-invocable slash command.
|
|
259
|
+
</ParamField>
|
|
260
|
+
|
|
261
|
+
<ParamField path="disable-model-invocation" type="boolean" default="false">
|
|
262
|
+
When `true`, OpenClaw keeps the skill's instructions out of the agent's normal
|
|
263
|
+
prompt. The skill is still available as a slash command when `user-invocable`
|
|
264
|
+
is also `true`.
|
|
265
|
+
</ParamField>
|
|
266
|
+
|
|
267
|
+
<ParamField path="command-dispatch" type='"tool"'>
|
|
268
|
+
When set to `tool`, the slash command bypasses the model and dispatches
|
|
269
|
+
directly to a registered tool.
|
|
270
|
+
</ParamField>
|
|
271
|
+
|
|
272
|
+
<ParamField path="command-tool" type="string">
|
|
273
|
+
Tool name to invoke when `command-dispatch: tool` is set.
|
|
274
|
+
</ParamField>
|
|
275
|
+
|
|
276
|
+
<ParamField path="command-arg-mode" type='"raw"' default="raw">
|
|
277
|
+
For tool dispatch, forwards the raw args string to the tool with no
|
|
278
|
+
core parsing. The tool receives
|
|
279
|
+
`{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
|
280
|
+
</ParamField>
|
|
281
|
+
|
|
282
|
+
## Gating
|
|
283
|
+
|
|
284
|
+
OpenClaw filters skills at load time using `metadata.openclaw` (single-line
|
|
285
|
+
JSON in the frontmatter). A skill with no `metadata.openclaw` block is always
|
|
286
|
+
eligible unless explicitly disabled.
|
|
287
|
+
|
|
288
|
+
```markdown
|
|
289
|
+
---
|
|
290
|
+
name: image-lab
|
|
291
|
+
description: Generate or edit images via a provider-backed image workflow
|
|
292
|
+
metadata:
|
|
293
|
+
{
|
|
294
|
+
"openclaw":
|
|
295
|
+
{
|
|
296
|
+
"requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
|
|
297
|
+
"primaryEnv": "GEMINI_API_KEY",
|
|
298
|
+
},
|
|
299
|
+
}
|
|
300
|
+
---
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
<ParamField path="always" type="boolean">
|
|
304
|
+
When `true`, always include the skill and skip all other gates.
|
|
305
|
+
</ParamField>
|
|
306
|
+
|
|
307
|
+
<ParamField path="emoji" type="string">
|
|
308
|
+
Optional emoji shown in the macOS Skills UI.
|
|
309
|
+
</ParamField>
|
|
310
|
+
|
|
311
|
+
<ParamField path="homepage" type="string">
|
|
312
|
+
Optional URL shown as "Website" in the macOS Skills UI.
|
|
313
|
+
</ParamField>
|
|
314
|
+
|
|
315
|
+
<ParamField path="os" type='"darwin" | "linux" | "win32"'>
|
|
316
|
+
Platform filter. When set, the skill is only eligible on the listed OSes.
|
|
317
|
+
</ParamField>
|
|
318
|
+
|
|
319
|
+
<ParamField path="requires.bins" type="string[]">
|
|
320
|
+
Each binary must exist on `PATH`.
|
|
321
|
+
</ParamField>
|
|
322
|
+
|
|
323
|
+
<ParamField path="requires.anyBins" type="string[]">
|
|
324
|
+
At least one binary must exist on `PATH`.
|
|
325
|
+
</ParamField>
|
|
326
|
+
|
|
327
|
+
<ParamField path="requires.env" type="string[]">
|
|
328
|
+
Each env var must exist in the process or be provided via config.
|
|
329
|
+
</ParamField>
|
|
330
|
+
|
|
331
|
+
<ParamField path="requires.config" type="string[]">
|
|
332
|
+
Each `openclaw.json` path must be truthy.
|
|
333
|
+
</ParamField>
|
|
334
|
+
|
|
335
|
+
<ParamField path="primaryEnv" type="string">
|
|
336
|
+
Env var name associated with `skills.entries.<name>.apiKey`.
|
|
337
|
+
</ParamField>
|
|
338
|
+
|
|
339
|
+
<ParamField path="install" type="object[]">
|
|
340
|
+
Optional installer specs used by the macOS Skills UI (brew / node / go / uv / download).
|
|
341
|
+
</ParamField>
|
|
342
|
+
|
|
343
|
+
<Note>
|
|
344
|
+
Legacy `metadata.clawdbot` blocks are still accepted when
|
|
345
|
+
`metadata.openclaw` is absent, so older installed skills keep their
|
|
346
|
+
dependency gates and installer hints. New skills should use
|
|
347
|
+
`metadata.openclaw`.
|
|
348
|
+
</Note>
|
|
349
|
+
|
|
350
|
+
### Installer specs
|
|
351
|
+
|
|
352
|
+
Installer specs tell the macOS Skills UI how to install a dependency:
|
|
353
|
+
|
|
354
|
+
```markdown
|
|
355
|
+
---
|
|
356
|
+
name: gemini
|
|
357
|
+
description: Use Gemini CLI for coding assistance and Google search lookups.
|
|
358
|
+
metadata:
|
|
359
|
+
{
|
|
360
|
+
"openclaw":
|
|
361
|
+
{
|
|
362
|
+
"emoji": "♊️",
|
|
363
|
+
"requires": { "bins": ["gemini"] },
|
|
364
|
+
"install":
|
|
365
|
+
[
|
|
366
|
+
{
|
|
367
|
+
"id": "brew",
|
|
368
|
+
"kind": "brew",
|
|
369
|
+
"formula": "gemini-cli",
|
|
370
|
+
"bins": ["gemini"],
|
|
371
|
+
"label": "Install Gemini CLI (brew)",
|
|
372
|
+
},
|
|
373
|
+
],
|
|
374
|
+
},
|
|
375
|
+
}
|
|
376
|
+
---
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
<AccordionGroup>
|
|
380
|
+
<Accordion title="Installer selection rules">
|
|
381
|
+
- When multiple installers are listed, the gateway picks one preferred
|
|
382
|
+
option (brew when available, otherwise node).
|
|
383
|
+
- If all installers are `download`, OpenClaw lists each entry so you can
|
|
384
|
+
see all available artifacts.
|
|
385
|
+
- Specs can include `os: ["darwin"|"linux"|"win32"]` to filter by platform.
|
|
386
|
+
- Node installs honor `skills.install.nodeManager` in `openclaw.json`
|
|
387
|
+
(default: npm; options: npm / pnpm / yarn / bun). This only affects skill
|
|
388
|
+
installs; the Gateway runtime should still be Node.
|
|
389
|
+
- Gateway installer preference: Homebrew → uv → configured node manager →
|
|
390
|
+
go → download.
|
|
391
|
+
</Accordion>
|
|
392
|
+
<Accordion title="Per-installer details">
|
|
393
|
+
- **Homebrew:** OpenClaw does not auto-install Homebrew or translate brew
|
|
394
|
+
formulas into system package commands. In Linux containers without
|
|
395
|
+
`brew`, brew-only installers are hidden; use a custom image or install
|
|
396
|
+
the dependency manually.
|
|
397
|
+
- **Go:** if `go` is missing and `brew` is available, the gateway installs
|
|
398
|
+
Go via Homebrew first and sets `GOBIN` to Homebrew's `bin`.
|
|
399
|
+
- **Download:** `url` (required), `archive` (`tar.gz` | `tar.bz2` | `zip`),
|
|
400
|
+
`extract` (default: auto when archive detected), `stripComponents`,
|
|
401
|
+
`targetDir` (default: `~/.openclaw/tools/<skillKey>`).
|
|
402
|
+
</Accordion>
|
|
403
|
+
<Accordion title="Sandboxing notes">
|
|
404
|
+
`requires.bins` is checked on the **host** at skill load time. If an agent
|
|
405
|
+
runs in a sandbox, the binary must also exist **inside the container**.
|
|
406
|
+
Install it via `agents.defaults.sandbox.docker.setupCommand` or a custom
|
|
407
|
+
image. `setupCommand` runs once after container creation and requires
|
|
408
|
+
network egress, a writable root FS, and a root user in the sandbox.
|
|
409
|
+
</Accordion>
|
|
410
|
+
</AccordionGroup>
|
|
411
|
+
|
|
412
|
+
## Config overrides
|
|
413
|
+
|
|
414
|
+
Toggle and configure bundled or managed skills under `skills.entries` in
|
|
415
|
+
`~/.openclaw/openclaw.json`:
|
|
416
|
+
|
|
417
|
+
```json5
|
|
418
|
+
{
|
|
419
|
+
skills: {
|
|
420
|
+
entries: {
|
|
421
|
+
"image-lab": {
|
|
422
|
+
enabled: true,
|
|
423
|
+
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
|
|
424
|
+
env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" },
|
|
425
|
+
config: {
|
|
426
|
+
endpoint: "https://example.invalid",
|
|
427
|
+
model: "nano-pro",
|
|
428
|
+
},
|
|
429
|
+
},
|
|
430
|
+
peekaboo: { enabled: true },
|
|
431
|
+
sag: { enabled: false },
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
<ParamField path="enabled" type="boolean">
|
|
438
|
+
`false` disables the skill even when bundled or installed. The `coding-agent`
|
|
439
|
+
bundled skill is opt-in — set `skills.entries.coding-agent.enabled: true`
|
|
440
|
+
and ensure one of `claude`, `codex`, `opencode`, or another supported CLI
|
|
441
|
+
is installed and authenticated.
|
|
442
|
+
</ParamField>
|
|
443
|
+
|
|
444
|
+
<ParamField path="apiKey" type='string | { source, provider, id }'>
|
|
445
|
+
Convenience field for skills that declare `metadata.openclaw.primaryEnv`.
|
|
446
|
+
Supports a plaintext string or a SecretRef object.
|
|
447
|
+
</ParamField>
|
|
448
|
+
|
|
449
|
+
<ParamField path="env" type="Record<string, string>">
|
|
450
|
+
Environment variables injected for the agent run. Only injected when the
|
|
451
|
+
variable is not already set in the process.
|
|
452
|
+
</ParamField>
|
|
453
|
+
|
|
454
|
+
<ParamField path="config" type="object">
|
|
455
|
+
Optional bag for custom per-skill configuration fields.
|
|
456
|
+
</ParamField>
|
|
457
|
+
|
|
458
|
+
<ParamField path="allowBundled" type="string[]">
|
|
459
|
+
Optional allowlist for **bundled** skills only. When set, only bundled skills
|
|
460
|
+
in the list are eligible. Managed and workspace skills are unaffected.
|
|
461
|
+
</ParamField>
|
|
462
|
+
|
|
463
|
+
<Note>
|
|
464
|
+
Config keys match the **skill name** by default. If a skill defines
|
|
465
|
+
`metadata.openclaw.skillKey`, use that key under `skills.entries`. Quote
|
|
466
|
+
hyphenated names: JSON5 allows quoted keys.
|
|
467
|
+
</Note>
|
|
468
|
+
|
|
469
|
+
## Environment injection
|
|
470
|
+
|
|
471
|
+
When an agent run starts, OpenClaw:
|
|
472
|
+
|
|
473
|
+
<Steps>
|
|
474
|
+
<Step title="Reads skill metadata">
|
|
475
|
+
OpenClaw resolves the effective skill list for the agent, applying gating
|
|
476
|
+
rules, allowlists, and config overrides.
|
|
477
|
+
</Step>
|
|
478
|
+
<Step title="Injects env and API keys">
|
|
479
|
+
`skills.entries.<key>.env` and `skills.entries.<key>.apiKey` are applied to
|
|
480
|
+
`process.env` for the duration of the run.
|
|
481
|
+
</Step>
|
|
482
|
+
<Step title="Builds the system prompt">
|
|
483
|
+
Eligible skills are compiled into a compact XML block and injected into the
|
|
484
|
+
system prompt.
|
|
485
|
+
</Step>
|
|
486
|
+
<Step title="Restores the environment">
|
|
487
|
+
After the run ends, the original environment is restored.
|
|
488
|
+
</Step>
|
|
489
|
+
</Steps>
|
|
490
|
+
|
|
491
|
+
<Warning>
|
|
492
|
+
Env injection is scoped to the **host** agent run, not the sandbox. Inside a
|
|
493
|
+
sandbox, `env` and `apiKey` have no effect. See
|
|
494
|
+
[Skills config](/tools/skills-config#sandboxed-skills-and-env-vars) for how
|
|
495
|
+
to pass secrets into sandboxed runs.
|
|
496
|
+
</Warning>
|
|
497
|
+
|
|
498
|
+
For the bundled `claude-cli` backend, OpenClaw also materializes the same
|
|
499
|
+
eligible skill snapshot as a temporary Claude Code plugin and passes it via
|
|
500
|
+
`--plugin-dir`. Other CLI backends use the prompt catalog only.
|
|
501
|
+
|
|
502
|
+
## Snapshots and refresh
|
|
503
|
+
|
|
504
|
+
OpenClaw snapshots eligible skills **when a session starts** and reuses that
|
|
505
|
+
list for all subsequent turns in the session. Changes to skills or config take
|
|
506
|
+
effect on the next new session.
|
|
507
|
+
|
|
508
|
+
Skills refresh mid-session in two cases:
|
|
509
|
+
|
|
510
|
+
- The skills watcher detects a `SKILL.md` change.
|
|
511
|
+
- A new eligible remote node connects.
|
|
512
|
+
|
|
513
|
+
The refreshed list is picked up on the next agent turn. If the effective agent
|
|
514
|
+
allowlist changes, OpenClaw refreshes the snapshot to keep visible skills
|
|
515
|
+
aligned.
|
|
516
|
+
|
|
517
|
+
<AccordionGroup>
|
|
518
|
+
<Accordion title="Skills watcher">
|
|
519
|
+
By default, OpenClaw watches skill folders and bumps the snapshot when
|
|
520
|
+
`SKILL.md` files change. Configure under `skills.load`:
|
|
521
|
+
|
|
522
|
+
```json5
|
|
523
|
+
{
|
|
524
|
+
skills: {
|
|
525
|
+
load: {
|
|
526
|
+
extraDirs: ["~/Projects/agent-scripts/skills"],
|
|
527
|
+
allowSymlinkTargets: ["~/Projects/manager/skills"],
|
|
528
|
+
watch: true,
|
|
529
|
+
watchDebounceMs: 250,
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
}
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
Use `allowSymlinkTargets` for intentional symlinked layouts where a skill
|
|
536
|
+
root symlink points outside the configured root, for example
|
|
537
|
+
`<workspace>/skills/manager -> ~/Projects/manager/skills`.
|
|
538
|
+
Enable `skills.workshop.allowSymlinkTargetWrites` only when Skill Workshop
|
|
539
|
+
should also apply proposals through those trusted symlinked paths.
|
|
540
|
+
|
|
541
|
+
</Accordion>
|
|
542
|
+
<Accordion title="Remote macOS nodes (Linux gateway)">
|
|
543
|
+
If the Gateway runs on Linux but a **macOS node** is connected with
|
|
544
|
+
`system.run` allowed, OpenClaw can treat macOS-only skills as eligible when
|
|
545
|
+
the required binaries are present on that node. The agent should run those
|
|
546
|
+
skills via the `exec` tool with `host=node`.
|
|
547
|
+
|
|
548
|
+
Offline nodes do **not** make remote-only skills visible. If a node stops
|
|
549
|
+
answering bin probes, OpenClaw clears its cached bin matches.
|
|
550
|
+
|
|
551
|
+
</Accordion>
|
|
552
|
+
</AccordionGroup>
|
|
553
|
+
|
|
554
|
+
## Token impact
|
|
555
|
+
|
|
556
|
+
When skills are eligible, OpenClaw injects a compact XML block into the system
|
|
557
|
+
prompt. The cost is deterministic:
|
|
558
|
+
|
|
559
|
+
```text
|
|
560
|
+
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
- **Base overhead** (only when ≥ 1 skill): ~195 characters
|
|
564
|
+
- **Per skill:** ~97 characters + your `name`, `description`, and `location` field lengths
|
|
565
|
+
- XML escaping expands `& < > " '` into entities, adding a few characters per occurrence
|
|
566
|
+
- At ~4 chars/token, 97 chars ≈ 24 tokens per skill before field lengths
|
|
567
|
+
|
|
568
|
+
Keep descriptions short and descriptive to minimize prompt overhead.
|
|
569
|
+
|
|
570
|
+
## Related
|
|
571
|
+
|
|
572
|
+
<CardGroup cols={2}>
|
|
573
|
+
<Card title="Creating skills" href="/tools/creating-skills" icon="hammer">
|
|
574
|
+
Step-by-step guide to authoring a custom skill.
|
|
575
|
+
</Card>
|
|
576
|
+
<Card title="Skill Workshop" href="/tools/skill-workshop" icon="flask">
|
|
577
|
+
Proposal queue for agent-drafted skills.
|
|
578
|
+
</Card>
|
|
579
|
+
<Card title="Skills config" href="/tools/skills-config" icon="gear">
|
|
580
|
+
Full `skills.*` config schema and agent allowlists.
|
|
581
|
+
</Card>
|
|
582
|
+
<Card title="Slash commands" href="/tools/slash-commands" icon="terminal">
|
|
583
|
+
How skill slash commands are registered and routed.
|
|
584
|
+
</Card>
|
|
585
|
+
<Card title="ClawHub" href="/clawhub" icon="cloud">
|
|
586
|
+
Browse and publish skills on the public registry.
|
|
587
|
+
</Card>
|
|
588
|
+
<Card title="Plugins" href="/tools/plugin" icon="plug">
|
|
589
|
+
Plugins can ship skills alongside the tools they document.
|
|
590
|
+
</Card>
|
|
591
|
+
</CardGroup>
|