Skills
Skills बनाना
Skills एजेंट को सिखाते हैं कि टूल्स का उपयोग कैसे और कब करना है। प्रत्येक Skill एक डायरेक्टरी है
जिसमें YAML frontmatter और Markdown निर्देशों वाली SKILL.md फ़ाइल होती है।
OpenClaw एक निर्धारित प्राथमिकता क्रम में कई रूट से Skills लोड करता है।
अपना पहला Skill बनाएँ
Skill डायरेक्टरी बनाएँ
Skills आपके वर्कस्पेस के skills/ फ़ोल्डर में रहते हैं:
mkdir -p ~/.openclaw/workspace/skills/hello-worldव्यवस्थित रखने के लिए आप Skills को सबफ़ोल्डर में समूहित कर सकते हैं — फिर भी Skill का
नाम फ़ोल्डर पथ से नहीं, बल्कि SKILL.md frontmatter से निर्धारित होता है:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# Skill का नाम अब भी "hello-world" है, इसे /hello-world के रूप में चलाया जाता हैSKILL.md लिखें
frontmatter मेटाडेटा निर्धारित करता है; बॉडी एजेंट को निर्देश देती है।
---name: hello-worlddescription: एक सरल Skill जो अभिवादन प्रिंट करता है।--- # नमस्ते दुनिया जब उपयोगकर्ता अभिवादन माँगे, तो यह चलाने के लिए `exec` टूल का उपयोग करें: ```bashecho "आपके कस्टम Skill की ओर से नमस्ते!" नामकरण नियम:- `name` के लिए छोटे अक्षर, अंक और हाइफ़न उपयोग करें।- डायरेक्टरी नाम और frontmatter के `name` को एक-समान रखें।- `description` एजेंट और स्लैश-कमांड खोज में दिखाई देता है — इसे एक पंक्ति में और 160 वर्णों से छोटा रखें। OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLgpLjgpKTgpY3gpK_gpL7gpKrgpL_gpKQg4KSV4KSw4KWH4KSCIOCkleCkvyBTa2lsbCDgpLLgpYvgpKEg4KS54KWLIOCkl-Ckr-CkviDgpLngpYgi ```bashopenclaw skills listOpenClaw डिफ़ॉल्ट रूप से Skills रूट के अंतर्गत SKILL.md फ़ाइलों पर नज़र रखता है। यदि
वॉचर अक्षम है या आप किसी मौजूदा सेशन को जारी रख रहे हैं, तो नया सेशन
शुरू करें ताकि एजेंट को ताज़ा सूची प्राप्त हो:
# चैट से — मौजूदा सेशन को आर्काइव करके नया शुरू करें/new # या Gateway को रीस्टार्ट करेंopenclaw gateway restartइसका परीक्षण करें
openclaw agent --message "मुझे एक अभिवादन दें"या चैट खोलकर एजेंट से सीधे पूछें। इसे नाम से स्पष्ट रूप से
चलाने के लिए /skill hello-world का उपयोग करें।
SKILL.md संदर्भ
आवश्यक फ़ील्ड
| फ़ील्ड | विवरण |
|---|---|
name |
छोटे अक्षरों, अंकों और हाइफ़न का उपयोग करने वाला अद्वितीय स्लग |
description |
एजेंट और खोज आउटपुट में दिखाई देने वाला एक-पंक्ति विवरण |
वैकल्पिक frontmatter कुंजियाँ
| फ़ील्ड | डिफ़ॉल्ट | विवरण |
|---|---|---|
user-invocable |
true |
Skill को उपयोगकर्ता स्लैश कमांड के रूप में उपलब्ध कराएँ |
disable-model-invocation |
false |
Skill को एजेंट के सिस्टम प्रॉम्प्ट से बाहर रखें (यह फिर भी /skill के माध्यम से चलता है) |
command-dispatch |
— | मॉडल को बायपास करते हुए स्लैश कमांड को सीधे किसी टूल तक रूट करने के लिए tool पर सेट करें |
command-tool |
— | command-dispatch: tool सेट होने पर चलाए जाने वाले टूल का नाम |
command-arg-mode |
raw |
टूल डिस्पैच के लिए, मूल आर्ग्स स्ट्रिंग टूल को फ़ॉरवर्ड करता है |
homepage |
— | macOS Skills UI में "Website" के रूप में दिखाई जाने वाली URL |
गेटिंग फ़ील्ड (requires.bins, requires.env आदि) के लिए
Skills — गेटिंग देखें।
{baseDir} का उपयोग करना
पथों को हार्डकोड किए बिना Skill डायरेक्टरी के अंदर की फ़ाइलों को संदर्भित करें — एजेंट
{baseDir} को Skill की अपनी डायरेक्टरी के सापेक्ष रिज़ॉल्व करता है:
`{baseDir}/scripts/run.sh` पर स्थित सहायक स्क्रिप्ट चलाएँ।सशर्त सक्रियण जोड़ना
अपने Skill को गेट करें ताकि वह केवल तभी लोड हो जब उसकी निर्भरताएँ उपलब्ध हों:
---name: gemini-searchdescription: Gemini CLI का उपयोग करके खोजें।metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---गेटिंग विकल्प
| कुंजी | विवरण |
|---|---|
requires.bins |
सभी बाइनरी PATH पर मौजूद होनी चाहिए |
requires.anyBins |
कम-से-कम एक बाइनरी PATH पर मौजूद होनी चाहिए |
requires.env |
प्रत्येक एनवायरनमेंट वेरिएबल प्रोसेस या कॉन्फ़िग में मौजूद होना चाहिए |
requires.config |
प्रत्येक openclaw.json पथ का मान truthy होना चाहिए |
os |
प्लेटफ़ॉर्म फ़िल्टर: ["darwin"], ["linux"], ["win32"] |
always |
सभी गेट छोड़कर Skill को हमेशा शामिल करने के लिए true सेट करें |
पूरा संदर्भ: Skills — गेटिंग।
एनवायरनमेंट और API कुंजियाँ
openclaw.json में किसी Skill प्रविष्टि से API कुंजी जोड़ें:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}कुंजी केवल उस एजेंट टर्न के लिए होस्ट प्रोसेस में इंजेक्ट की जाती है। यह सैंडबॉक्स तक नहीं पहुँचती — देखें सैंडबॉक्स किए गए एनवायरनमेंट वेरिएबल।
Skill Workshop के माध्यम से प्रस्तावित करें
एजेंट द्वारा तैयार किए गए Skills के लिए या जब आप किसी Skill को
लाइव करने से पहले ऑपरेटर समीक्षा चाहते हों, तो सीधे SKILL.md लिखने के बजाय
Skill Workshop प्रस्तावों का उपयोग करें।
# बिल्कुल नया Skill प्रस्तावित करेंopenclaw skills workshop propose-create \ --name "hello-world" \ --description "अभिवादन प्रिंट करने वाला एक सरल Skill।" \ --proposal ./PROPOSAL.md # किसी मौजूदा Skill में अपडेट प्रस्तावित करेंopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "अपडेट किया गया अभिवादन Skill"जब प्रस्ताव में सहायक फ़ाइलें शामिल हों, तो --proposal-dir का उपयोग करें:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "अभिवादन प्रिंट करने वाला एक सरल Skill।" \ --proposal-dir ./hello-world-proposal/डायरेक्टरी के रूट में PROPOSAL.md होना आवश्यक है। सहायक फ़ाइलें
assets/, examples/, references/, scripts/, या templates/ के अंतर्गत रखें।
समीक्षा के बाद:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>प्रस्ताव के पूरे जीवनचक्र के लिए Skill Workshop देखें।
ClawHub पर प्रकाशित करना
सुनिश्चित करें कि आपका SKILL.md पूरा है
सुनिश्चित करें कि name, description, और कोई भी metadata.openclaw गेटिंग फ़ील्ड
सेट हैं। यदि आपके पास प्रोजेक्ट पेज है, तो homepage URL जोड़ें।
स्टैंडअलोन ClawHub CLI इंस्टॉल करें और लॉग इन करें
npm i -g clawhubclawhub loginप्रकाशित करें
clawhub skill publish ./path/to/hello-worldअनुमानित संस्करण को ओवरराइड करने या किसी विशिष्ट स्वामी के अंतर्गत प्रकाशित करने के लिए
--version <version> या --owner <owner> जोड़ें। पूरे प्रवाह, स्वामी-स्कोपिंग और अन्य
रखरखाव कमांड (clawhub sync, clawhub skill rename, ...) के लिए
ClawHub — प्रकाशन और
ClawHub CLI देखें।
सर्वोत्तम अभ्यास
संबंधित
लोडिंग क्रम, गेटिंग, अनुमत-सूचियाँ और SKILL.md प्रारूप।
एजेंट द्वारा तैयार किए गए Skills के लिए प्रस्ताव कतार।
पूरा skills.* कॉन्फ़िग स्कीमा।
सार्वजनिक रजिस्ट्री पर Skills ब्राउज़ और प्रकाशित करें।
Plugins अपने द्वारा प्रलेखित टूल्स के साथ Skills प्रदान कर सकते हैं।