Get started
Skill प्रारूप
Skill प्रारूप
डिस्क पर
Skill एक फ़ोल्डर है।
आवश्यक:
SKILL.md(याskill.md; पुरानाskills.mdभी स्वीकार किया जाता है)
वैकल्पिक:
- कोई भी सहायक नियमित फ़ाइलें (“Skill फ़ाइलें” देखें)
.clawhubignore(प्रकाशन के लिए अनदेखा करने के पैटर्न, पुराना.clawdhubignore).gitignore(इसका भी पालन किया जाता है)
GitHub आयात
वेब GitHub आयातक स्थानीय प्रकाशन/सिंक की तुलना में अधिक सख्त है। यह केवल
साइन-इन किए हुए GitHub खाते के स्वामित्व वाली सार्वजनिक, गैर-फ़ोर्क रिपॉज़िटरी में
SKILL.md या पुरानी skills.md फ़ाइलें खोजता है। यह निजी रिपॉज़िटरी, फ़ोर्क,
आर्काइव/अक्षम रिपॉज़िटरी या तृतीय-पक्ष की सार्वजनिक रिपॉज़िटरी आयात नहीं करता।
स्थानीय इंस्टॉल मेटाडेटा (CLI द्वारा लिखा गया):
<skill>/.clawhub/origin.json(पुराना.clawdhub)
कार्य-निर्देशिका इंस्टॉल स्थिति (CLI द्वारा लिखी गई):
<workdir>/.clawhub/lock.json(पुराना.clawdhub)
SKILL.md
- वैकल्पिक YAML फ्रंटमैटर वाला Markdown।
- प्रकाशन के दौरान सर्वर फ्रंटमैटर से मेटाडेटा निकालता है।
descriptionका उपयोग UI/खोज में Skill सारांश के रूप में किया जाता है।
पोर्टेबल Agent Skills के लिए, name को मूल निर्देशिका से मेल खाना चाहिए और इसमें
1–64 छोटे अक्षर, संख्याएँ या हाइफ़न होने चाहिए। ClawHub रूट किए जा सकने वाले स्लग और
कैटलॉग प्रदर्शन नाम को अलग रखता है, इसलिए अन्य क्लाइंट के मौजूदा नाम
प्रकाशित किए जा सकते हैं और उन्हें चुपचाप दोबारा नहीं लिखा जाता। कैटलॉग सूचियाँ लंबे नामों को
संग्रहीत नाम बदले बिना दृश्य रूप से छोटा कर सकती हैं।
फ्रंटमैटर मेटाडेटा
Skill मेटाडेटा आपके SKILL.md के शीर्ष पर YAML फ्रंटमैटर में घोषित किया जाता है। यह रजिस्ट्री (और सुरक्षा विश्लेषण) को बताता है कि आपके Skill को चलने के लिए क्या चाहिए।
मूल फ्रंटमैटर
---name: my-skilldescription: यह Skill क्या करता है, इसका संक्षिप्त सारांश।version: 1.0.0---रनटाइम मेटाडेटा (metadata.openclaw)
अपने Skill की रनटाइम आवश्यकताएँ metadata.openclaw के अंतर्गत घोषित करें (उपनाम: metadata.clawdbot, metadata.clawdis)।
---name: my-skilldescription: Todoist API के माध्यम से कार्यों का प्रबंधन करें।metadata: openclaw: requires: env: - TODOIST_API_KEY bins: - curl primaryEnv: TODOIST_API_KEY---उन पर्यावरण चरों के लिए requires.env का उपयोग करें, जिनका Skill चलने से पहले मौजूद होना आवश्यक है। प्रति-चर मेटाडेटा की आवश्यकता होने पर envVars का उपयोग करें, जिसमें required: false वाले वैकल्पिक चर भी शामिल हैं।
संपूर्ण फ़ील्ड संदर्भ
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
requires.env |
string[] |
वे आवश्यक पर्यावरण चर जिनकी आपका Skill अपेक्षा करता है। |
requires.bins |
string[] |
वे CLI बाइनरी जिन्हें सभी को इंस्टॉल किया जाना आवश्यक है। |
requires.anyBins |
string[] |
वे CLI बाइनरी जिनमें से कम-से-कम एक का मौजूद होना आवश्यक है। |
requires.config |
string[] |
वे कॉन्फ़िगरेशन फ़ाइल पथ जिन्हें आपका Skill पढ़ता है। |
primaryEnv |
string |
आपके Skill के लिए मुख्य क्रेडेंशियल पर्यावरण चर। |
envVars |
array |
name, वैकल्पिक required और वैकल्पिक description वाली पर्यावरण चर घोषणाएँ। वैकल्पिक पर्यावरण चरों के लिए required: false सेट करें। |
always |
boolean |
यदि true, तो Skill हमेशा सक्रिय रहता है (स्पष्ट इंस्टॉल की आवश्यकता नहीं)। |
skillKey |
string |
Skill की आह्वान कुंजी को ओवरराइड करें। |
emoji |
string |
Skill के लिए प्रदर्शन इमोजी। |
homepage |
string |
Skill के होमपेज या दस्तावेज़ों का URL। |
os |
string[] |
OS प्रतिबंध (उदा. ["macos"], ["linux"])। |
install |
array |
निर्भरताओं के लिए इंस्टॉल विनिर्देश (नीचे देखें)। |
nix |
object |
Nix Plugin विनिर्देश (README देखें)। |
config |
object |
Clawdbot कॉन्फ़िगरेशन विनिर्देश (README देखें)। |
इंस्टॉल विनिर्देश
यदि आपके Skill को निर्भरताएँ इंस्टॉल करने की आवश्यकता है, तो उन्हें install सरणी में घोषित करें:
metadata: openclaw: install: - kind: brew formula: jq bins: [jq] - kind: node package: typescript bins: [tsc]समर्थित इंस्टॉल प्रकार: brew, node, go, uv।
वैकल्पिक पर्यावरण चर
वैकल्पिक पर्यावरण चरों को metadata.openclaw.envVars के अंतर्गत घोषित करें और required: false सेट करें। requires.env में वैकल्पिक प्रविष्टियाँ न जोड़ें, क्योंकि requires.env का अर्थ है कि उनके बिना Skill नहीं चल सकता।
metadata: openclaw: primaryEnv: TODOIST_API_KEY envVars: - name: TODOIST_API_KEY required: true description: प्रमाणित अनुरोधों के लिए प्रयुक्त Todoist API टोकन। - name: TODOIST_PROJECT_ID required: false description: उपयोगकर्ता द्वारा कोई प्रोजेक्ट निर्दिष्ट न किए जाने पर वैकल्पिक डिफ़ॉल्ट प्रोजेक्ट ID।यह क्यों महत्वपूर्ण है
ClawHub का सुरक्षा विश्लेषण जाँचता है कि आपका Skill जो घोषित करता है, वह उसके वास्तविक कार्य से मेल खाता है। यदि आपका कोड TODOIST_API_KEY को संदर्भित करता है, लेकिन आपका फ्रंटमैटर इसे requires.env, primaryEnv या envVars के अंतर्गत घोषित नहीं करता, तो विश्लेषण मेटाडेटा बेमेल को चिह्नित करेगा। घोषणाओं को सटीक रखने से आपके Skill को समीक्षा उत्तीर्ण करने में सहायता मिलती है और उपयोगकर्ताओं को यह समझने में मदद मिलती है कि वे क्या इंस्टॉल कर रहे हैं।
उदाहरण: संपूर्ण फ्रंटमैटर
---name: todoist-clidescription: कमांड लाइन से Todoist कार्यों, प्रोजेक्ट और लेबल का प्रबंधन करें।version: 1.2.0metadata: openclaw: requires: env: - TODOIST_API_KEY bins: - curl primaryEnv: TODOIST_API_KEY envVars: - name: TODOIST_API_KEY required: true description: Todoist API टोकन। - name: TODOIST_PROJECT_ID required: false description: वैकल्पिक डिफ़ॉल्ट प्रोजेक्ट ID। emoji: "\u2705" homepage: https://github.com/example/todoist-cli---Skill फ़ाइलें
प्रकाशन Skill फ़ोल्डर की सभी नियमित फ़ाइलें स्वीकार करता है, चाहे उनका एक्सटेंशन कुछ भी हो। अनदेखी की गई फ़ाइलों, छिपे हुए पथों, सिमलिंक, macOS मेटाडेटा और सर्वर-पक्षीय आकार सीमाओं पर प्रतिबंध फिर भी लागू होते हैं।
- मान्य UTF-8 वाली सीमित आकार की फ़ाइलों का एस्केप किए गए सादे टेक्स्ट के रूप में पूर्वावलोकन किया जा सकता है और उन्हें सीमित टेक्स्ट विश्लेषण में शामिल किया जाता है।
- अन्य फ़ाइलें अपने सटीक बाइट बनाए रखती हैं और डाउनलोड के लिए उपलब्ध होती हैं।
- सुरक्षा स्कैनर संपूर्ण संग्रहीत आर्टिफ़ैक्ट प्राप्त करते हैं; टेक्स्ट पहचान रेंडरिंग और विश्लेषण से संबंधित है, अपलोड अनुमति-सूची से नहीं।
सीमाएँ (सर्वर-पक्षीय):
- कुल बंडल आकार: 50MB।
- एम्बेडिंग टेक्स्ट में
SKILL.md+ लगभग 40 तक सीमित आकार की UTF-8 फ़ाइलें शामिल होती हैं (यथासंभव सीमा)।
स्लग
- डिफ़ॉल्ट रूप से फ़ोल्डर नाम से प्राप्त होते हैं।
- पैकेज स्कोप ClawHub प्रकाशक हैंडल से सटीक रूप से मेल खाने चाहिए। प्रकाशक हैंडल में छोटे अक्षर, संख्याएँ, हाइफ़न, बिंदु और अंडरस्कोर हो सकते हैं; उन्हें छोटे अक्षर या संख्या से शुरू और समाप्त होना चाहिए।
- पैकेज स्लग छोटे अक्षरों में और npm-सुरक्षित होने चाहिए, उदाहरण के लिए
@example.tools/demo-pluginयाdemo-plugin।
संस्करण निर्धारण + टैग
- प्रत्येक प्रकाशन एक नया संस्करण (semver) बनाता है।
- टैग किसी संस्करण के लिए स्ट्रिंग पॉइंटर होते हैं;
latestका सामान्यतः उपयोग किया जाता है।
लाइसेंस
- ClawHub पर प्रकाशित सभी Skills को
MIT-0के अंतर्गत लाइसेंस दिया जाता है। - कोई भी प्रकाशित Skills का उपयोग, संशोधन और पुनर्वितरण कर सकता है, जिसमें व्यावसायिक उपयोग भी शामिल है।
- श्रेय देना आवश्यक नहीं है।
SKILL.mdमें परस्पर-विरोधी लाइसेंस शर्तें न जोड़ें; ClawHub प्रत्येक Skill के लिए अलग लाइसेंस ओवरराइड का समर्थन नहीं करता।
सशुल्क Skills
- ClawHub सशुल्क Skills, प्रत्येक Skill के लिए मूल्य निर्धारण, पेवॉल या राजस्व साझाकरण का समर्थन नहीं करता।
SKILL.mdमें मूल्य निर्धारण मेटाडेटा न जोड़ें; यह Skill प्रारूप का भाग नहीं है और किसी प्रकाशित Skill को सशुल्क नहीं बनाएगा।- यदि आपका Skill किसी सशुल्क तृतीय-पक्ष सेवा के साथ एकीकृत होता है, तो बाहरी लागत और आवश्यक खाते को Skill निर्देशों और पर्यावरण घोषणाओं में स्पष्ट रूप से दर्ज करें (आवश्यक चरों के लिए
requires.env, या वैकल्पिक चरों के लिएenvVarsके साथrequired: false)।