الانتقال إلى المحتوى الرئيسي

نظرة عامة

المهارات هي مجلدات مستقلة توفر للوكلاء تعليمات ومراجع وموارد خاصة بالمجال. تُعرّف كل مهارة بملف SKILL.md يحتوي على بيانات وصفية YAML ومحتوى Markdown. تستخدم المهارات الكشف التدريجي — يتم تحميل البيانات الوصفية أولاً، ثم التعليمات الكاملة فقط عند التفعيل، وكتالوجات الموارد فقط عند الحاجة.

هيكل المجلد

my-skill/
├── SKILL.md            # مطلوب — البيانات الوصفية + التعليمات
├── scripts/            # اختياري — سكربتات قابلة للتنفيذ
├── references/         # اختياري — مستندات مرجعية
└── assets/             # اختياري — ملفات ثابتة (إعدادات، بيانات)
يجب أن يتطابق اسم المجلد مع حقل name في SKILL.md.

تنسيق SKILL.md

---
name: my-skill
description: Short description of what this skill does and when to use it.
license: Apache-2.0                    # optional
compatibility: crewai>=0.1.0          # optional
metadata:                              # optional
  author: your-name
  version: "1.0"
allowed-tools: web-search file-read   # optional, space-delimited
---

Instructions for the agent go here. This markdown body is injected
into the agent's prompt when the skill is activated.

حقول البيانات الوصفية

الحقلمطلوبالقيود
nameنعم1-64 حرف. أحرف صغيرة أبجدية رقمية وشرطات. بدون شرطات بادئة/لاحقة/متتالية. يجب أن يطابق اسم المجلد.
descriptionنعم1-1024 حرف. يصف ما تفعله المهارة ومتى تُستخدم.
licenseلااسم الترخيص أو مرجع لملف ترخيص مضمّن.
compatibilityلاحد أقصى 500 حرف. متطلبات البيئة (منتجات، حزم، شبكة).
metadataلاتعيين مفتاح-قيمة نصي عشوائي.
allowed-toolsلاقائمة أدوات معتمدة مسبقًا مفصولة بمسافات. تجريبي.

الاستخدام

المهارات على مستوى الوكيل

مرر مسارات مجلدات المهارات إلى وكيل:
from crewai import Agent

agent = Agent(
    role="Researcher",
    goal="Find relevant information",
    backstory="An expert researcher.",
    skills=["./skills"],  # يكتشف جميع المهارات في هذا المجلد
)

المهارات على مستوى الطاقم

تُدمج مسارات المهارات في الطاقم مع كل وكيل:
from crewai import Crew

crew = Crew(
    agents=[agent],
    tasks=[task],
    skills=["./skills"],
)

المهارات المحمّلة مسبقًا

يمكنك أيضًا تمرير كائنات Skill مباشرة:
from pathlib import Path
from crewai.skills import discover_skills, activate_skill

skills = discover_skills(Path("./skills"))
activated = [activate_skill(s) for s in skills]

agent = Agent(
    role="Researcher",
    goal="Find relevant information",
    backstory="An expert researcher.",
    skills=activated,
)

كيف يتم تحميل المهارات

يتم تحميل المهارات تدريجيًا — فقط البيانات المطلوبة في كل مرحلة يتم قراءتها:
المرحلةما يتم تحميلهمتى
الاكتشافالاسم، الوصف، حقول البيانات الوصفيةdiscover_skills()
التفعيلنص محتوى SKILL.md الكاملactivate_skill()
أثناء التنفيذ العادي للوكيل، يتم اكتشاف المهارات وتفعيلها تلقائيًا. مجلدات scripts/ و references/ و assets/ متاحة في مسار المهارة path للوكلاء الذين يحتاجون للإشارة إلى الملفات مباشرة.