Skills
إنشاء Skills
تعلّم Skills الوكيل كيف ومتى يستخدم الأدوات. كل skill هو دليل
يحتوي على ملف SKILL.md يتضمن YAML frontmatter وتعليمات markdown.
يحمّل OpenClaw المهارات من عدة جذور وفق ترتيب أسبقية محدد.
أنشئ أول skill لك
أنشئ دليل skill
توجد Skills في مجلد skills/ داخل مساحة عملك. أنشئ دليلاً
للـ skill الجديدة:
mkdir -p ~/.openclaw/workspace/skills/hello-worldيمكنك تجميع skills في مجلدات فرعية للتنظيم — ستظل الـ skill
مسماة بحسب frontmatter في SKILL.md، وليس مسار المجلد:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldاكتب SKILL.md
أنشئ SKILL.md داخل الدليل. يعرّف frontmatter البيانات الوصفية؛
ويعطي المتن التعليمات للوكيل.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" قواعد التسمية:- استخدم أحرفًا صغيرة وأرقامًا وواصلات في `name`.- أبقِ اسم الدليل وقيمة `name` في frontmatter متطابقين.- يظهر `description` للوكيل وفي اكتشاف أوامر الشرطة المائلة — اجعله في سطر واحد وبأقل من 160 حرفًا. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLYqtit2YLZgiDZhdmGINiq2K3ZhdmK2YQgc2tpbGwi ```bashopenclaw skills listيراقب OpenClaw ملفات SKILL.md ضمن جذور skills افتراضيًا. إذا كان
المراقب معطلاً أو كنت تتابع جلسة موجودة، فابدأ جلسة جديدة
حتى يتلقى الوكيل القائمة المحدّثة:
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartاختبرها
أرسل رسالة يفترض أن تشغّل الـ skill:
openclaw agent --message "give me a greeting"أو افتح محادثة واسأل الوكيل مباشرة. استخدم /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 |
— | عنوان URL يظهر باسم "موقع الويب" في واجهة Skills على macOS |
لحقول التقييد (requires.bins وrequires.env وغيرها) راجع
Skills — التقييد.
استخدام {baseDir}
استخدم {baseDir} في متن الـ skill للإشارة إلى ملفات داخل دليل الـ skill
دون ترميز المسارات بشكل ثابت:
Run the helper script at `{baseDir}/scripts/run.sh`.إضافة تفعيل شرطي
قيّد الـ skill بحيث لا تُحمّل إلا عند توفر اعتمادياتها:
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---خيارات التقييد
| المفتاح | الوصف |
|---|---|
requires.bins |
يجب أن توجد كل الملفات التنفيذية على PATH |
requires.anyBins |
يجب أن يوجد ملف تنفيذي واحد على الأقل على PATH |
requires.env |
يجب أن يوجد كل متغير 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" }, }, }, },}يُحقن المفتاح في عملية المضيف لدورة الوكيل تلك فقط. ولا يصل إلى sandbox — راجع متغيرات env في sandbox.
الاقتراح عبر Skill Workshop
بالنسبة إلى skills التي يصوغها الوكيل أو عندما تريد مراجعة المشغّل قبل أن تصبح skill
نشطة، استخدم مقترحات Skill Workshop بدلاً من كتابة
SKILL.md مباشرة.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"استخدم --proposal-dir عندما يتضمن المقترح ملفات دعم:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --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 إذا كانت لديك صفحة مشروع.
ثبّت skill الخاصة بـ ClawHub
توثّق skill الخاصة بـ ClawHub شكل أمر النشر الحالي والبيانات الوصفية المطلوبة:
openclaw skills install @openclaw/clawhub-publishانشر
clawhub publishراجع ClawHub — النشر للاطلاع على التدفق الكامل.