Skills
إنشاء Skills
تُعلِّم Skills الوكيل كيف ومتى يستخدم الأدوات. وكل Skill عبارة عن دليل
يحتوي على ملف SKILL.md يتضمن ترويسة YAML أمامية وتعليمات بصيغة Markdown.
يحمّل OpenClaw المهارات من عدة جذور وفق ترتيب أسبقية محدد.
أنشئ أول Skill لك
أنشئ دليل Skill
توجد Skills في مجلد skills/ ضمن مساحة عملك:
mkdir -p ~/.openclaw/workspace/skills/hello-worldيمكنك تجميع Skills في مجلدات فرعية لتنظيمها، لكن تظل تسمية Skill
محددة بواسطة الترويسة الأمامية في SKILL.md، وليس مسار المجلد:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# يظل اسم Skill هو "hello-world"، ويُستدعى باستخدام /hello-worldاكتب SKILL.md
تحدد الترويسة الأمامية البيانات الوصفية، بينما يزوّد النص الوكيل بالتعليمات.
---name: hello-worlddescription: مهارة بسيطة تطبع تحية.--- # مرحبًا بالعالم عندما يطلب المستخدم تحية، استخدم أداة `exec` لتشغيل: ```bashecho "مرحبًا من مهارتك المخصصة!" قواعد التسمية:- استخدم الأحرف اللاتينية الصغيرة والأرقام والواصلات في `name`.- حافظ على تطابق اسم الدليل مع قيمة `name` في الترويسة الأمامية.- تظهر قيمة `description` للوكيل وفي اكتشاف أوامر الشرطة المائلة؛ اجعلها في سطر واحد وبأقل من 160 محرفًا. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLYqtit2YLZgiDZhdmGINiq2K3ZhdmK2YQgU2tpbGwi ```bashopenclaw skills listيراقب OpenClaw افتراضيًا ملفات SKILL.md الموجودة ضمن جذور Skills. إذا كانت
المراقبة معطلة أو كنت تتابع جلسة حالية، فابدأ جلسة جديدة
لكي يتلقى الوكيل القائمة المحدّثة:
# من الدردشة — أرشف الجلسة الحالية وابدأ جلسة جديدة/new # أو أعد تشغيل Gatewayopenclaw gateway restartاختبرها
openclaw agent --message "قدّم لي تحية"أو افتح دردشة واطلب ذلك من الوكيل مباشرةً. استخدم /skill hello-world
لاستدعائها صراحةً بالاسم.
مرجع SKILL.md
الحقول المطلوبة
| الحقل | الوصف |
|---|---|
name |
معرّف فريد يستخدم الأحرف اللاتينية الصغيرة والأرقام والواصلات |
description |
وصف من سطر واحد يظهر للوكيل وفي مخرجات الاكتشاف |
مفاتيح الترويسة الأمامية الاختيارية
| الحقل | القيمة الافتراضية | الوصف |
|---|---|---|
user-invocable |
true |
إتاحة Skill كأمر شرطة مائلة للمستخدم |
disable-model-invocation |
false |
استبعاد Skill من موجه نظام الوكيل (مع استمرار تشغيلها عبر /skill) |
command-dispatch |
— | اضبطه على tool لتوجيه أمر الشرطة المائلة مباشرةً إلى أداة متجاوزًا النموذج |
command-tool |
— | اسم الأداة المطلوب استدعاؤها عند ضبط command-dispatch: tool |
command-arg-mode |
raw |
عند التوجيه إلى أداة، يمرر سلسلة الوسيطات الأولية إلى الأداة |
homepage |
— | عنوان URL يظهر باسم "Website" في واجهة Skills على macOS |
للاطلاع على حقول التقييد (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 صادقة |
os |
مرشح المنصة: ["darwin"] أو ["linux"] أو ["win32"] |
always |
اضبطه على true لتجاوز جميع القيود وتضمين Skill دائمًا |
المرجع الكامل: Skills — التقييد.
البيئة ومفاتيح API
اربط مفتاح API بإدخال Skill في openclaw.json:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}يُحقن المفتاح في العملية المضيفة لدورة الوكيل تلك فقط. ولا يصل إلى البيئة المعزولة؛ راجع متغيرات البيئة المعزولة.
الاقتراح عبر Skill Workshop
بالنسبة إلى Skills التي يصوغها الوكيل، أو عندما تريد مراجعة المشغّل قبل تشغيل
Skill فعليًا، استخدم اقتراحات Skill Workshop بدلًا من كتابة
SKILL.md مباشرةً.
# اقترح Skill جديدة كليًاopenclaw skills workshop propose-create \ --name "hello-world" \ --description "مهارة بسيطة تطبع تحية." \ --proposal ./PROPOSAL.md # اقترح تحديثًا لـ Skill موجودةopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "مهارة تحية محدّثة"استخدم --proposal-dir عندما يتضمن الاقتراح ملفات دعم:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "مهارة بسيطة تطبع تحية." \ --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.
أضف عنوان URL في homepage إذا كانت لديك صفحة للمشروع.
ثبّت ClawHub CLI المستقل وسجّل الدخول
npm i -g clawhubclawhub loginانشر
clawhub skill publish ./path/to/hello-worldأضف --version <version> أو --owner <owner> لتجاوز الإصدار المستنتج
أو النشر تحت مالك محدد. راجع
ClawHub — النشر و
ClawHub CLI للاطلاع على سير العمل الكامل، ونطاق المالك، وأوامر
الصيانة الأخرى (clawhub sync وclawhub skill rename وغيرهما).