Ko‘nikmalar (OpenClaw)
OpenClaw uses AgentSkills-compatible skill folders to teach the agent how to use tools. Each skill is a directory containing aSKILL.md with YAML frontmatter and instructions. OpenClaw biriktirilgan ko‘nikmalarni hamda ixtiyoriy mahalliy override’larni yuklaydi va ularni yuklash vaqtida muhit, konfiguratsiya va binar mavjudligiga qarab filtrlaydi.
Joylashuvlar va ustuvorlik
Ko‘nikmalar uchta joydan yuklanadi:- Biriktirilgan ko‘nikmalar: o‘rnatish bilan birga yetkaziladi (npm paketi yoki OpenClaw.app)
- Boshqariladigan/mahalliy ko‘nikmalar:
~/.openclaw/skills - Workspace ko‘nikmalari:
<workspace>/skills
<workspace>/skills (eng yuqori) → ~/.openclaw/skills → biriktirilgan ko‘nikmalar (eng past)
Bundan tashqari, qo‘shimcha ko‘nikma papkalarini (eng past ustuvorlik) ~/.openclaw/openclaw.json dagi
skills.load.extraDirs orqali sozlashingiz mumkin.
Agentga xos va umumiy ko‘nikmalar
In multi-agent setups, each agent has its own workspace. Bu shuni anglatadiki:- Agentga xos ko‘nikmalar faqat o‘sha agent uchun
<workspace>/skillsda joylashadi. - Umumiy ko‘nikmalar
~/.openclaw/skills(boshqariladigan/mahalliy) da joylashadi va bir xil mashinadagi barcha agentlar uchun ko‘rinadi. - Agar bir nechta agentlar foydalanadigan umumiy ko‘nikmalar to‘plamini xohlasangiz,
umumiy papkalarni ham
skills.load.extraDirsorqali (eng past ustuvorlik) qo‘shish mumkin.
Plaginlar + ko‘nikmalar
Plaginlaropenclaw.plugin.json faylida skills kataloglarini
(plagin ildiziga nisbatan yo‘llar) ko‘rsatish orqali o‘z ko‘nikmalarini yetkazishi mumkin. Plugin skills load
when the plugin is enabled and participate in the normal skill precedence rules.
You can gate them via metadata.openclaw.requires.config on the plugin’s config
entry. Kashf qilish/sozlash uchun Plugins va ushbu ko‘nikmalar o‘rgatadigan vositalar yuzasi uchun Tools ga qarang.
ClawHub (o‘rnatish + sinxronlash)
ClawHub — OpenClaw uchun ommaviy ko‘nikmalar reyestri. Ko‘rib chiqing: https://clawhub.com. Undan ko‘nikmalarni topish, o‘rnatish, yangilash va zaxiralash uchun foydalaning. To‘liq qo‘llanma: ClawHub. Ommabop oqimlar:- Workspace’ingizga ko‘nikma o‘rnatish:
clawhub install <skill-slug>
- O‘rnatilgan barcha ko‘nikmalarni yangilash:
clawhub update --all
- Sinxronlash (skanlash + yangilanishlarni e’lon qilish):
clawhub sync --all
clawhub joriy ishchi katalogingiz ostidagi ./skills ga o‘rnatadi
(yoki sozlangan OpenClaw workspace’iga qaytadi). OpenClaw keyingi sessiyada
buni <workspace>/skills sifatida aniqlaydi.
Xavfsizlik eslatmalari
- Uchinchi tomon ko‘nikmalarini ishonchsiz kod sifatida qabul qiling. Yoqishdan oldin ularni o‘qing.
- Ishonchsiz kiritmalar va xavfli vositalar uchun sandboxlangan ishga tushirishni afzal ko‘ring. Sandboxing ga qarang.
skills.entries.*.envvaskills.entries.*.apiKeysirlarni host jarayoniga o‘sha agent navbati uchun (sandbox’ga emas) yuboradi. Sirlarni promptlar va loglardan uzoq tuting.- Kengroq tahdid modeli va tekshiruv ro‘yxatlari uchun Security ga qarang.
Format (AgentSkills + Pi-mos)
SKILL.md kamida quyidagilarni o‘z ichiga olishi kerak:
- Joylashuv/maqsad uchun AgentSkills spetsifikatsiyasiga amal qilamiz.
- Ichki agent tomonidan ishlatiladigan parser faqat bir qatorli frontmatter kalitlarini qo‘llab-quvvatlaydi.
metadatabir qatorli JSON obyekt bo‘lishi kerak.- Ko‘rsatmalarda ko‘nikma papkasi yo‘lini ko‘rsatish uchun
{baseDir}dan foydalaning. - Ixtiyoriy frontmatter kalitlari:
-
homepage— macOS dagi Skills UI’da “Website” sifatida ko‘rsatiladigan URL (shuningdekmetadata.openclaw.homepageorqali ham qo‘llab-quvvatlanadi). -
user-invocable—true|false(default:true). Whentrue, the skill is exposed as a user slash command. -
disable-model-invocation—true|false(default:false). Whentrue, the skill is excluded from the model prompt (still available via user invocation). -
command-dispatch—tool(optional). When set totool, the slash command bypasses the model and dispatches directly to a tool. -
command-tool— tool name to invoke whencommand-dispatch: toolis set. -
command-arg-mode—raw(default). For tool dispatch, forwards the raw args string to the tool (no core parsing). The tool is invoked with params:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Gating (load-time filters)
OpenClaw filters skills at load time usingmetadata (single-line JSON):
metadata.openclaw:
always: true— always include the skill (skip other gates).emoji— optional emoji used by the macOS Skills UI.homepage— optional URL shown as “Website” in the macOS Skills UI.os— optional list of platforms (darwin,linux,win32). If set, the skill is only eligible on those OSes.requires.bins— list; each must exist onPATH.requires.anyBins— list; at least one must exist onPATH.requires.env— list; env var must exist or be provided in config.requires.config— list ofopenclaw.jsonpaths that must be truthy.primaryEnv— env var name associated withskills.entries.<name>.apiKey.install— optional array of installer specs used by the macOS Skills UI (brew/node/go/uv/download).
requires.binsis checked on the host at skill load time.- If an agent is sandboxed, the binary must also exist inside the container.
Install it via
agents.defaults.sandbox.docker.setupCommand(or a custom image).setupCommandruns once after the container is created. Package installs also require network egress, a writable root FS, and a root user in the sandbox. Example: thesummarizeskill (skills/summarize/SKILL.md) needs thesummarizeCLI in the sandbox container to run there.
- If multiple installers are listed, the gateway picks a single preferred option (brew when available, otherwise node).
- If all installers are
download, OpenClaw lists each entry so you can see the available artifacts. - Installer specs can include
os: ["darwin"|"linux"|"win32"]to filter options by platform. - Node installs honor
skills.install.nodeManagerinopenclaw.json(default: npm; options: npm/pnpm/yarn/bun). This only affects skill installs; the Gateway runtime should still be Node (Bun is not recommended for WhatsApp/Telegram). - Go installs: if
gois missing andbrewis available, the gateway installs Go via Homebrew first and setsGOBINto Homebrew’sbinwhen possible. - Download installs:
url(required),archive(tar.gz|tar.bz2|zip),extract(default: auto when archive detected),stripComponents,targetDir(default:~/.openclaw/tools/<skillKey>).
metadata.openclaw is present, the skill is always eligible (unless
disabled in config or blocked by skills.allowBundled for bundled skills).
Config overrides (~/.openclaw/openclaw.json)
Bundled/managed skills can be toggled and supplied with env values:
metadata.openclaw.skillKey, use that key under skills.entries.
Rules:
enabled: falsedisables the skill even if it’s bundled/installed.env: injected only if the variable isn’t already set in the process.apiKey: convenience for skills that declaremetadata.openclaw.primaryEnv.config: optional bag for custom per-skill fields; custom keys must live here.allowBundled: optional allowlist for bundled skills only. If set, only bundled skills in the list are eligible (managed/workspace skills unaffected).
Environment injection (per agent run)
When an agent run starts, OpenClaw:- Reads skill metadata.
- Applies any
skills.entries.<key>.envorskills.entries.<key>.apiKeytoprocess.env. - Builds the system prompt with eligible skills.
- Restores the original environment after the run ends.
Session snapshot (performance)
OpenClaw snapshots the eligible skills when a session starts and reuses that list for subsequent turns in the same session. Changes to skills or config take effect on the next new session. Skills can also refresh mid-session when the skills watcher is enabled or when a new eligible remote node appears (see below). Think of this as a hot reload: the refreshed list is picked up on the next agent turn.Remote macOS nodes (Linux gateway)
If the Gateway is running on Linux but a macOS node is connected withsystem.run allowed (Exec approvals security not set to deny), OpenClaw can treat macOS-only skills as eligible when the required binaries are present on that node. The agent should execute those skills via the nodes tool (typically nodes.run).
This relies on the node reporting its command support and on a bin probe via system.run. If the macOS node goes offline later, the skills remain visible; invocations may fail until the node reconnects.
Skills watcher (auto-refresh)
By default, OpenClaw watches skill folders and bumps the skills snapshot whenSKILL.md files change. Configure this under skills.load:
Token impact (skills list)
When skills are eligible, OpenClaw injects a compact XML list of available skills into the system prompt (viaformatSkillsForPrompt in pi-coding-agent). The cost is deterministic:
- Base overhead (only when ≥1 skill): 195 characters.
- Per skill: 97 characters + the length of the XML-escaped
<name>,<description>, and<location>values.
- XML escaping expands
& < > " 'into entities (&,<, etc.), increasing length. - Token counts vary by model tokenizer. A rough OpenAI-style estimate is ~4 chars/token, so 97 chars ≈ 24 tokens per skill plus your actual field lengths.
Managed skills lifecycle
OpenClaw ships a baseline set of skills as bundled skills as part of the install (npm package or OpenClaw.app).~/.openclaw/skills exists for local
overrides (for example, pinning/patching a skill without changing the bundled
copy). Workspace skills are user-owned and override both on name conflicts.