--- title: المهارات description: حزم المهارات المبنية على نظام الملفات التي تحقن السياق في إرشادات الوكيل. icon: bolt mode: "wide" --- ## نظرة عامة المهارات هي مجلدات مستقلة توفر للوكلاء تعليمات ومراجع وموارد خاصة بالمجال. تُعرّف كل مهارة بملف `SKILL.md` يحتوي على بيانات وصفية YAML ومحتوى Markdown. تستخدم المهارات **الكشف التدريجي** — يتم تحميل البيانات الوصفية أولاً، ثم التعليمات الكاملة فقط عند التفعيل، وكتالوجات الموارد فقط عند الحاجة. ## هيكل المجلد ``` my-skill/ ├── SKILL.md # مطلوب — البيانات الوصفية + التعليمات ├── scripts/ # اختياري — سكربتات قابلة للتنفيذ ├── references/ # اختياري — مستندات مرجعية └── assets/ # اختياري — ملفات ثابتة (إعدادات، بيانات) ``` يجب أن يتطابق اسم المجلد مع حقل `name` في `SKILL.md`. ## تنسيق SKILL.md ```markdown --- 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` | لا | قائمة أدوات معتمدة مسبقًا مفصولة بمسافات. تجريبي. | ## الاستخدام ### المهارات على مستوى الوكيل مرر مسارات مجلدات المهارات إلى وكيل: ```python from crewai import Agent agent = Agent( role="Researcher", goal="Find relevant information", backstory="An expert researcher.", skills=["./skills"], # يكتشف جميع المهارات في هذا المجلد ) ``` ### المهارات على مستوى الطاقم تُدمج مسارات المهارات في الطاقم مع كل وكيل: ```python from crewai import Crew crew = Crew( agents=[agent], tasks=[task], skills=["./skills"], ) ``` ### المهارات المحمّلة مسبقًا يمكنك أيضًا تمرير كائنات `Skill` مباشرة: ```python 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` للوكلاء الذين يحتاجون للإشارة إلى الملفات مباشرة.