الدرس 03 — المهارات المخصصة: أضف قدرة جديدة لذكائك الاصطناعي
الهدف: كتابة مهارة (Skill) مخصصة لجعل الذكاء الاصطناعي يطبّق سلوكاً محدداً تلقائياً في سياقات معينة.
ما هي Skill؟
الـ Skill هي ملف Markdown (SKILL.md) يُحقن في سياق الذكاء الاصطناعي عند استدعاء أمر الشرطة المائلة، لإخباره "بماذا يفعل الآن وكيف يفعله".
/مراجعة_كود → حقن SKILL.md → يراجع الذكاء الاصطناعي الكود وفق قواعد محددة
تُخزَّن المهارات في:
~/.openclaw/workspace/skills/<اسم_المهارة>/SKILL.md
الخطوة الأولى: إنشاء مجلد المهارة
mkdir -p ~/.openclaw/workspace/skills/مراجعة_الكودالخطوة الثانية: كتابة SKILL.md
أنشئ ~/.openclaw/workspace/skills/مراجعة_الكود/SKILL.md:
# خبير مراجعة الكود
أنت الآن خبير أول في مراجعة الكود. سيقوم المستخدم بلصق الكود، وعليك:
## أبعاد المراجعة
1. **الصحة** — هل يوجد أخطاء منطقية، وهل تمت معالجة حالات الحافة
2. **الأمان** — هل يوجد مخاطر مثل SQL injection أو XSS أو إلغاء تسلسل غير آمن
3. **الأداء** — هل يوجد اختناقات أداء واضحة أو تعقيد غير ضروري
4. **القابلية للقراءة** — هل التسمية واضحة، وهل التعليقات كافية
5. **أفضل الممارسات** — هل يتوافق مع الأنماط المعتادة للغة/الإطار
## تنسيق الإخراج
اعرض المشاكل في جدول Markdown:
| رقم السطر | الخطورة | وصف المشكلة | الاقتراح |
|-----------|---------|------------|---------|
| ... | 🔴عالية/🟡متوسطة/🟢منخفضة | ... | ... |
في النهاية أعطِ تقييماً إجمالياً (1-10) وجملة تلخيصية.
## الأسلوب
احترافي وودّي، وعند الإشارة إلى مشكلة قدّم مثالاً للتصحيح.الخطوة الثالثة: استخدام المهارة
في WebChat أو Telegram، أدخل:
/مراجعة_الكود
def login(username, password):
query = f"SELECT * FROM users WHERE name='{username}' AND pwd='{password}'"
return db.execute(query)
سيتبنى الذكاء الاصطناعي تلقائياً دور خبير المراجعة ويُخرج تقريراً منظماً.
أمثلة إضافية على المهارات
النشرة اليومية (/نشرة)
# مساعد النشرة اليومية
نظّم المعلومات التي يقدمها المستخدم في نشرة يومية موجزة بالتنسيق التالي:
## 📅 [التاريخ]
### النقاط الرئيسية
- ...
### المهام
- [ ] ...
### ملاحظات
...
الأسلوب موجز، النقاط أولاً، لا يتجاوز 300 كلمة.الترجمة والصياغة (/صياغة)
# خبير الترجمة والصياغة
أنت خبير كتابة ثنائي اللغة (عربي-إنجليزي). سيقدم المستخدم نصاً عربياً أو إنجليزياً، وعليك:
1. تحديد اللغة
2. الترجمة إلى اللغة الأخرى
3. صياغة الترجمة لتصبح أكثر طبيعية وسلاسة
4. تقديم النص الأصلي والترجمة الحرفية والنسخة المصاغة للمقارنة
حافظ على دقة المصطلحات التقنية وتجنب الأسلوب الآلي.توليد المخططات (/رسم)
# مولّد مخططات Mermaid
حوّل وصف المستخدم النصي إلى كود مخطط Mermaid.
الأنواع المدعومة:
- flowchart (مخطط تدفق)
- sequenceDiagram (مخطط تسلسل)
- classDiagram (مخطط الفئات)
- gantt (مخطط غانت)
تنسيق الإخراج:
\```mermaid
...كود المخطط...
\```
ثم شرح بنية المخطط بالنص.هيكل مجلد المهارات
~/.openclaw/workspace/skills/
├── مراجعة_الكود/
│ └── SKILL.md
├── نشرة/
│ └── SKILL.md
├── صياغة/
│ └── SKILL.md
└── رسم/
└── SKILL.md
عرض المهارات المثبتة
pnpm openclaw skills listمتقدم: استدعاء الأدوات داخل المهارات
يمكنك توجيه الذكاء الاصطناعي داخل SKILL.md لاستخدام أدوات محددة:
# ملخص صفحة الويب
يقدم المستخدم رابطاً (URL)، وعليك:
1. استخدام browser_navigate لفتح الصفحة
2. استخدام browser_snapshot للحصول على المحتوى
3. استخلاص النقاط الجوهرية وإخراج 3-5 نقاط تلخيصيةالأسئلة الشائعة
كيف أستكشف أخطاء الأمر /اسم_المهارة الذي لا يعمل؟
شغّل أولاً pnpm openclaw skills list للتأكد من أن المهارة مُعرَّفة. الأسباب الشائعة: ① عدم تطابق اسم المجلد مع أمر الشرطة المائلة (حساس لحالة الأحرف)؛ ② خطأ في حالة أحرف اسم ملف SKILL.md؛ ③ مستوى المجلد غير صحيح، يجب أن يكون ~/.openclaw/workspace/skills/<اسم_المهارة>/SKILL.md. لا تحتاج لإعادة تشغيل البوابة بعد التعديل، فقط أعد إرسال الأمر.
ما الأدوات المضمّنة التي يمكن لـ Skill استدعاؤها؟
يمكن لـ SKILL.md توجيه الذكاء الاصطناعي لاستخدام أي أداة مضمّنة في OpenClaw، بما فيها: أدوات المتصفح (browser_navigate، browser_snapshot، browser_action)، أدوات قراءة وكتابة الملفات، والأدوات الأخرى المفعّلة في الإعداد. صف السلوك المطلوب بلغة طبيعية في SKILL.md، وسيختار الذكاء الاصطناعي الأداة المناسبة تلقائياً.
هل لـ SKILL.md متطلبات محددة في الطول أو التنسيق؟
لا توجد حدود صارمة، لكن يُنصح بالإبقاء على 500 كلمة أو أقل. SKILL.md الطويلة تستهلك المزيد من tokens للسياق، مما يزيد التكلفة وقد يُقلل دقة اتباع التعليمات. يُوصى باستخدام تسلسل هرمي واضح في Markdown (# للعنوان الرئيسي، ## للأقسام) لمساعدة الذكاء الاصطناعي على فهم البنية.
هل أحتاج لإعادة تشغيل البوابة بعد تعديل Skill؟
لا. يعيد OpenClaw قراءة ملف SKILL.md في كل مرة يُستدعى فيها أمر الشرطة المائلة، لذا يمكنك استخدامه مباشرةً بعد التعديل. لكن إذا عدّلت الإعدادات في openclaw.json، فستحتاج لإعادة تشغيل البوابة.
هل يمكن دمج عدة مهارات معاً؟
نعم. في رسالة واحدة استدعِ /مهارة_أ، وسيحافظ الذكاء الاصطناعي على سلوك تلك المهارة حتى ترسل /new لبدء محادثة جديدة. يمكنك أيضاً دمج قدرات متعددة في SKILL.md واحدة لإنشاء مهارة "مساعد شامل".