कौशल (OpenClaw)
OpenClaw एजेंट को टूल्स का उपयोग सिखाने के लिए AgentSkills-compatible स्किल फ़ोल्डर्स का उपयोग करता है। प्रत्येक स्किल एक डायरेक्टरी होती है जिसमें YAML फ्रंटमैटर और निर्देशों के साथ एकSKILL.md होता है। OpenClaw बंडल्ड स्किल्स के साथ वैकल्पिक लोकल ओवरराइड्स लोड करता है, और वातावरण, कॉन्फ़िग, और बाइनरी की उपलब्धता के आधार पर लोड समय पर उन्हें फ़िल्टर करता है।
स्थान और प्राथमिकता क्रम
Skills तीन स्थानों से लोड होती हैं:- Bundled skills: इंस्टॉलेशन के साथ शिप की जाती हैं (npm पैकेज या OpenClaw.app)
- प्रबंधित/स्थानीय कौशल:
~/.openclaw/skills - वर्कस्पेस कौशल:
<workspace>/skills
<workspace>/skills (उच्चतम) → ~/.openclaw/skills → bundled skills (न्यूनतम)
इसके अतिरिक्त, आप अतिरिक्त skill फ़ोल्डर (न्यूनतम प्राथमिकता) कॉन्फ़िगर कर सकते हैं
skills.load.extraDirs के माध्यम से, ~/.openclaw/openclaw.json में।
प्रति-एजेंट बनाम साझा कौशल
मल्टी-एजेंट सेटअप्स में, प्रत्येक एजेंट का अपना वर्कस्पेस होता है। इसका अर्थ है:- Per-agent skills केवल उस एजेंट के लिए
<workspace>/skillsमें रहती हैं। - Shared skills
~/.openclaw/skills(managed/local) में रहती हैं और उसी मशीन पर सभी एजेंट्स को दिखाई देती हैं। - Shared folders को
skills.load.extraDirsके माध्यम से भी जोड़ा जा सकता है (न्यूनतम प्राथमिकता) यदि आप कई एजेंट्स द्वारा उपयोग किया जाने वाला एक सामान्य skills पैक चाहते हैं।
प्लगइन्स + कौशल
प्लगइन्स अपने स्वयं के स्किल्स शिप कर सकते हैं, इसके लिएopenclaw.plugin.json में skills डायरेक्टरीज़ सूचीबद्ध करें (प्लगइन रूट के सापेक्ष पथ)। प्लगइन स्किल्स
प्लगइन सक्षम होने पर लोड होती हैं और सामान्य स्किल प्रीसिडेंस नियमों में भाग लेती हैं।
आप उन्हें प्लगइन के कॉन्फ़िग एंट्री पर metadata.openclaw.requires.config के माध्यम से गेट कर सकते हैं। डिस्कवरी/कॉन्फ़िग के लिए Plugins और उन टूल्स की सतह के लिए Tools देखें जिन्हें ये स्किल्स सिखाती हैं।
ClawHub (इंस्टॉल + सिंक)
ClawHub, OpenClaw के लिए सार्वजनिक स्किल्स रजिस्ट्री है। यहाँ ब्राउज़ करें https://clawhub.com। इसे स्किल्स खोजने, इंस्टॉल करने, अपडेट करने और बैकअप लेने के लिए उपयोग करें। पूर्ण गाइड: ClawHub। सामान्य प्रवाह:- किसी skill को अपने वर्कस्पेस में इंस्टॉल करें:
clawhub install <skill-slug>
- सभी इंस्टॉल की गई skills अपडेट करें:
clawhub update --all
- Sync (स्कैन + अपडेट प्रकाशित करें):
clawhub sync --all
clawhub आपकी वर्तमान वर्किंग
डायरेक्टरी के अंतर्गत ./skills में इंस्टॉल करता है (या कॉन्फ़िगर किए गए OpenClaw वर्कस्पेस पर फ़ॉलबैक करता है)। अगले सेशन में OpenClaw
इसे <workspace>/skills के रूप में पहचान लेता है।
सुरक्षा संबंधी नोट्स
- थर्ड-पार्टी स्किल्स को अविश्वसनीय कोड के रूप में मानें। सक्षम करने से पहले उन्हें पढ़ें।
- अविश्वसनीय इनपुट्स और जोखिमपूर्ण टूल्स के लिए सैंडबॉक्स्ड रन को प्राथमिकता दें। Sandboxing देखें।
skills.entries.*.envऔरskills.entries.*.apiKeyसीक्रेट्स को होस्ट प्रोसेस में उस एजेंट टर्न के लिए इंजेक्ट करते हैं (सैंडबॉक्स में नहीं)। सीक्रेट्स को प्रॉम्प्ट्स और लॉग्स से बाहर रखें।- व्यापक थ्रेट मॉडल और चेकलिस्ट्स के लिए Security देखें।
फ़ॉर्मेट (AgentSkills + Pi-संगत)
SKILL.md में कम से कम यह शामिल होना चाहिए:
- हम लेआउट/इरादे के लिए AgentSkills स्पेसिफ़िकेशन का पालन करते हैं।
- एम्बेडेड एजेंट द्वारा उपयोग किया गया पार्सर केवल single-line फ्रंटमैटर कुंजियों का समर्थन करता है।
metadataएक single-line JSON object होना चाहिए।- निर्देशों में skill फ़ोल्डर पथ को संदर्भित करने के लिए
{baseDir}का उपयोग करें। - वैकल्पिक फ्रंटमैटर कुंजियाँ:
-
homepage— macOS Skills UI में “Website” के रूप में प्रदर्शित URL (metadata.openclaw.homepageके माध्यम से भी समर्थित)। -
user-invocable—true|false(डिफ़ॉल्ट:true)। जबtrueहो, तो स्किल को यूज़र स्लैश कमांड के रूप में एक्सपोज़ किया जाता है। -
disable-model-invocation—true|false(डिफ़ॉल्ट:false)। जबtrueहो, तो स्किल को मॉडल प्रॉम्प्ट से बाहर रखा जाता है (फिर भी यूज़र इन्वोकेशन के माध्यम से उपलब्ध रहती है)। -
command-dispatch—tool(वैकल्पिक)। जबtoolपर सेट किया जाता है, तो स्लैश कमांड मॉडल को बायपास करता है और सीधे किसी टूल को डिस्पैच करता है। -
command-tool— जबcommand-dispatch: toolसेट हो, तब इनवोक किया जाने वाला टूल नाम। -
command-arg-mode—raw(डिफ़ॉल्ट)। टूल डिस्पैच के लिए, रॉ args स्ट्रिंग को टूल तक फ़ॉरवर्ड करता है (कोई कोर पार्सिंग नहीं)। टूल को इन पैरामीटर्स के साथ इनवोक किया जाता है:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }।
-
Gating (load-time filters)
OpenClaw लोड समय पर skills को फ़िल्टर करता हैmetadata का उपयोग करके (single-line JSON):
metadata.openclaw के अंतर्गत फ़ील्ड्स:
always: true— skill को हमेशा शामिल करें (अन्य गेट्स को स्किप करें)।emoji— macOS Skills UI द्वारा उपयोग किया जाने वाला वैकल्पिक इमोजी।homepage— macOS Skills UI में “Website” के रूप में दिखाया जाने वाला वैकल्पिक URL।os— प्लेटफ़ॉर्म्स की वैकल्पिक सूची (darwin,linux,win32)। यदि सेट किया गया हो, तो स्किल केवल उन्हीं OSes पर पात्र होती है।requires.bins— सूची; प्रत्येकPATHपर मौजूद होना चाहिए।requires.anyBins— सूची; कम से कम एकPATHपर मौजूद होना चाहिए।requires.env— सूची; env var मौजूद होना चाहिए या कॉन्फ़िग में प्रदान किया जाना चाहिए।requires.config—openclaw.jsonपथों की सूची जो truthy होने चाहिए।primaryEnv—skills.entries.<name>से संबद्ध env var नाम.apiKey`।install— macOS Skills UI द्वारा उपयोग किए जाने वाले installer specs की वैकल्पिक array (brew/node/go/uv/download)।
requires.binsको skill लोड समय पर host पर जाँचा जाता है।- यदि कोई एजेंट सैंडबॉक्स्ड है, तो बाइनरी को कंटेनर के अंदर भी मौजूद होना चाहिए।
इसे
agents.defaults.sandbox.docker.setupCommand(या किसी कस्टम इमेज) के माध्यम से इंस्टॉल करें।setupCommandकंटेनर बनने के बाद एक बार चलता है। 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.
- यदि कई installers सूचीबद्ध हैं, तो Gateway एकल पसंदीदा विकल्प चुनता है (उपलब्ध होने पर brew, अन्यथा node)।
- यदि सभी installers
downloadहैं, तो OpenClaw प्रत्येक प्रविष्टि सूचीबद्ध करता है ताकि आप उपलब्ध आर्टिफ़ैक्ट्स देख सकें। - Installer specs में प्लेटफ़ॉर्म के अनुसार विकल्प फ़िल्टर करने के लिए
os: ["darwin"|"linux"|"win32"]शामिल हो सकता है। - 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 इंस्टॉल्स: यदि
goअनुपस्थित है औरbrewउपलब्ध है, तो Gateway पहले Homebrew के माध्यम से Go इंस्टॉल करता है और संभव होने परGOBINको Homebrew केbinपर सेट करता है। - Download इंस्टॉल्स:
url(आवश्यक),archive(tar.gz|tar.bz2|zip),extract(डिफ़ॉल्ट: आर्काइव मिलने पर auto),stripComponents,targetDir(डिफ़ॉल्ट:~/.openclaw/tools/<skillKey>)।
metadata.openclaw मौजूद नहीं है, तो skill हमेशा योग्य होती है
(जब तक कि कॉन्फ़िग में अक्षम न की गई हो या bundled skills के लिए skills.allowBundled द्वारा ब्लॉक न की गई हो)।
Config overrides (~/.openclaw/openclaw.json)
Bundled/managed skills को टॉगल किया जा सकता है और उन्हें env मान प्रदान किए जा सकते हैं:
metadata.openclaw.skillKey, use that key under skills.entries.
Rules:
enabled: falseskill को अक्षम करता है, भले ही वह bundled/installed हो।env: केवल तभी इंजेक्ट किया जाता है जब वैरिएबल पहले से प्रक्रिया में सेट न हो।apiKey: उन skills के लिए सुविधा जोmetadata.openclaw.primaryEnvघोषित करती हैं।config: कस्टम प्रति-skill फ़ील्ड्स के लिए वैकल्पिक बैग; कस्टम कुंजियाँ यहीं होनी चाहिए।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)
जब कोई एजेंट रन शुरू होता है, OpenClaw:- skill मेटाडेटा पढ़ता है।
- Applies any
skills.entries.<key>.envorskills.entries.<key>.apiKeytoprocess.env. - योग्य skills के साथ सिस्टम प्रॉम्प्ट बनाता है।
- रन समाप्त होने के बाद मूल environment को पुनर्स्थापित करता है।
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 (केवल जब ≥1 skill): 195 अक्षर।
- प्रति skill: 97 अक्षर + XML-escaped
<name>,<description>, और<location>मानों की लंबाई।
- XML escaping
& < > " 'को entities (&,<, आदि) में विस्तारित करता है, जिससे लंबाई बढ़ती है। - 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.