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 को चलने के लिए क्या चाहिए।

मूल फ्रंटमैटर

yaml
---name: my-skilldescription: यह Skill क्या करता है, इसका संक्षिप्त सारांश।version: 1.0.0---

रनटाइम मेटाडेटा (metadata.openclaw)

अपने Skill की रनटाइम आवश्यकताएँ metadata.openclaw के अंतर्गत घोषित करें (उपनाम: metadata.clawdbot, metadata.clawdis)।

yaml
---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 सरणी में घोषित करें:

yaml
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 नहीं चल सकता।

yaml
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 को समीक्षा उत्तीर्ण करने में सहायता मिलती है और उपयोगकर्ताओं को यह समझने में मदद मिलती है कि वे क्या इंस्टॉल कर रहे हैं।

उदाहरण: संपूर्ण फ्रंटमैटर

yaml
---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)।
Was this useful?
On this page

On this page