نظرة عامة
المهارات هي مجلدات مستقلة توفر للوكلاء تعليمات وإرشادات ومواد مرجعية خاصة بالمجال. تُعرّف كل مهارة بملفSKILL.md يحتوي على بيانات وصفية YAML ومحتوى Markdown.
عند التفعيل، يتم حقن تعليمات المهارة مباشرة في إرشادات مهمة الوكيل — مما يمنح الوكيل خبرة دون الحاجة لأي تغييرات في الكود.
المهارات ليست أدوات. هذه هي نقطة الارتباك الأكثر شيوعًا.
- المهارات تحقن تعليمات وسياق في إرشادات الوكيل. تخبر الوكيل كيف يفكر في مشكلة ما.
- الأدوات تمنح الوكيل دوال قابلة للاستدعاء لاتخاذ إجراءات (البحث، قراءة الملفات، استدعاء APIs).
البداية السريعة
1. إنشاء مهارة باستخدام سطر الأوامر (CLI)
واجهة سطر الأوامر هي الطريقة المدعومة لإنشاء مهارة — فهي تُنشئ لك هيكل المجلد وملفSKILL.md صالحًا:
Terminal
pyproject.toml) يُنشئ هذا الأمر ./skills/code-review/؛ وخارج المشروع يُنشئ ./code-review/ في المجلد الحالي (يمكنك فرض هذا السلوك باستخدام --no-project):
2. كتابة SKILL.md الخاص بك
3. ربطها بوكيل
المهارات + الأدوات: العمل معًا
إليك أنماط شائعة توضح كيف تُكمّل المهارات والأدوات بعضهما:النمط 1: مهارات فقط (خبرة المجال، بدون إجراءات مطلوبة)
استخدم عندما يحتاج الوكيل لتعليمات محددة لكن لا يحتاج لاستدعاء خدمات خارجية:النمط 2: أدوات فقط (إجراءات، بدون خبرة خاصة)
استخدم عندما يحتاج الوكيل لاتخاذ إجراءات لكن لا يحتاج لتعليمات مجال محددة:النمط 3: مهارات + أدوات (خبرة وإجراءات)
النمط الأكثر شيوعًا في العالم الحقيقي. المهارة توفر كيف تقترب من العمل؛ الأدوات توفر ما يمكن للوكيل فعله:النمط 4: مهارات + MCP
المهارات تعمل مع خوادم MCP بنفس الطريقة التي تعمل بها مع الأدوات:النمط 5: مهارات + تطبيقات
المهارات يمكن أن توجّه كيف يستخدم الوكيل تكاملات المنصة:إنشاء المهارات ونشرها وتثبيتها
للمهارات دورة حياة كاملة تُدار عبر واجهة سطر الأوامر: أنشئها باستخدامcrewai skill create، وانشرها باستخدام crewai skill publish — إنشاء المجلدات يدويًا يصلح للتجارب المحلية، لكن واجهة سطر الأوامر هي سير العمل المقصود، وهي تحافظ على صحة هيكل المهارة وبياناتها الوصفية.
الإنشاء
Terminal
./skills/ في مشروع الطاقم) مع قالب SKILL.md، بالإضافة إلى مجلدات فارغة scripts/ و references/ و assets/. عدّل SKILL.md لتعريف التعليمات.
النشر
نفّذ الأمر من داخل مجلد المهارة (حيث يوجدSKILL.md):
Terminal
name و description و metadata.version من البيانات الوصفية في مقدمة SKILL.md ويدفع المهارة إلى سجل CrewAI. المهارات المنشورة تكون دائمًا مقيّدة بنطاق مؤسستك — مثل الأدوات، لا يستطيع رؤيتها وتثبيتها إلا أعضاء المؤسسة الناشرة؛ ولا توجد رؤية عامة. أعلام مفيدة:
التثبيت
ثبّت مهارة منشورة عبر مرجعها@org/name:
Terminal
./skills/{name}/؛ وخارج المشروع تذهب إلى ذاكرة التخزين المؤقتة المشتركة في ~/.crewai/skills/{org}/{name}/.
يمكن للوكلاء أيضًا الإشارة إلى مهارات السجل مباشرة — يتم حلّها من ذاكرة التخزين المؤقتة المحلية (أو من مجلد skills/ في المشروع) وقت التشغيل:
عرض القائمة
Terminal
./skills/ ومن ذاكرة التخزين المؤقتة العامة معًا، مع إصداراتها ومساراتها.
المهارات على مستوى الطاقم
يمكن تعيين المهارات على الطاقم لتُطبّق على جميع الوكلاء:تنسيق SKILL.md
حقول البيانات الوصفية
هيكل المجلد
name في SKILL.md. مجلدات scripts/ و references/ و assets/ متاحة في مسار المهارة path للوكلاء الذين يحتاجون للإشارة إلى الملفات مباشرة.
المهارات المحمّلة مسبقًا
للمزيد من التحكم، يمكنك اكتشاف المهارات وتفعيلها برمجيًا:كيف يتم تحميل المهارات
تستخدم المهارات الكشف التدريجي — تحمّل فقط ما هو مطلوب في كل مرحلة:
أثناء التنفيذ العادي للوكيل (تمرير مسارات المجلدات عبر
skills=["./skills"])، يتم اكتشاف المهارات وتفعيلها تلقائيًا. التحميل التدريجي مهم فقط عند استخدام الواجهة البرمجية.
المهارات مقابل المعرفة
كلا المهارات والمعرفة تُعدّل إرشادات الوكيل، لكنهما يخدمان أغراضًا مختلفة:
القاعدة العامة: إذا كان الوكيل يحتاج لاتباع عملية، استخدم مهارة. إذا كان يحتاج للرجوع إلى بيانات، استخدم المعرفة.
الأسئلة الشائعة
هل أحتاج لتعيين المهارات والأدوات معًا؟
هل أحتاج لتعيين المهارات والأدوات معًا؟
يعتمد على حالة الاستخدام. المهارات والأدوات مستقلتان — يمكنك استخدام أيّ منهما أو كليهما أو لا شيء.
- مهارات فقط: عندما يحتاج الوكيل خبرة لكن لا يحتاج إجراءات خارجية (مثال: الكتابة بإرشادات أسلوبية)
- أدوات فقط: عندما يحتاج الوكيل إجراءات لكن لا يحتاج منهجية خاصة (مثال: بحث بسيط على الويب)
- كليهما: عندما يحتاج الوكيل خبرة وإجراءات (مثال: تدقيق أمني بقوائم تحقق محددة وقدرة على فحص الكود)
هل توفر المهارات أدوات تلقائيًا؟
هل توفر المهارات أدوات تلقائيًا؟
لا. حقل
allowed-tools في SKILL.md هو بيانات وصفية تجريبية فقط — لا يُنشئ أو يحقن أي أدوات. يجب عليك دائمًا تعيين الأدوات بشكل منفصل عبر tools=[] أو mcps=[] أو apps=[].ماذا يحدث إذا عيّنت نفس المهارة على كل من الوكيل والطاقم؟
ماذا يحدث إذا عيّنت نفس المهارة على كل من الوكيل والطاقم؟
المهارة على مستوى الوكيل لها الأولوية. يتم إزالة التكرار حسب الاسم — مهارات الوكيل تُعالج أولاً، لذا إذا ظهر نفس اسم المهارة في كلا المستويين، تُستخدم نسخة الوكيل.
ما الحجم الأقصى لمحتوى SKILL.md؟
ما الحجم الأقصى لمحتوى SKILL.md؟
هناك تحذير ناعم عند 50,000 حرف، لكن بدون حد صارم. حافظ على تركيز المهارات وإيجازها للحصول على أفضل النتائج — الحقن الكبيرة في الإرشادات قد تُشتت انتباه الوكيل.
