SSD Nodes Learn Hosting plans →
الأدلة Matt Connorبقلم Matt Connor · آخر تحديث في 2026-10-20

ما هي مهارات الوكلاء وكيف تختلف عن MCP؟

مهارة الوكيل مجلد يحتوي على SKILL.md؛ تُحمّل تعليماتها عند الحاجة فقط. تعرّف إلى ميزة التحميل التدريجي ولماذا تختلف عن MCP والـ prompts الضخمة.

ما هي مهارة الوكيل فعلياً

مهارة الوكيل هي مجلد على القرص يحتوي على ملف اسمه SKILL.md. يحتوي هذا الملف على اسم ووصف موجز وتعليمات مكتوبة بصيغة Markdown عادية. يحمّل الوكيل الوصف عند بدء التشغيل، ولا يقرأ التعليمات إلا عندما يتطابق طلبك مع ذلك الوصف أو عندما تستدعي المهارة باسمها. وتنتج معظم خصائص المهارات الأخرى عن هاتين الجملتين.

قد يحتوي المجلد على أكثر من ملف واحد. تحدد مواصفات Agent Skills ثلاثة مجلدات اختيارية: scripts/ للتعليمات البرمجية التي يشغّلها الوكيل، وreferences/ للمستندات التي يقرأها عند الحاجة، وassets/ للقوالب والبيانات. لا يُشترط وجود أي منها. ويُعد المجلد الذي لا يحتوي إلا على SKILL.md مهارة مكتملة.

restore-drill/
  SKILL.md
  references/retention-policy.md
  scripts/verify_snapshot.sh

الوصف هو الجزء الذي يقلل الناس من أهميته. وهو النص الوحيد الذي يراه الوكيل قبل أن يقرر ما إذا كان سيفتح المهارة أصلاً، لذلك يجب أن يوضح وظيفة المهارة ووقت استخدامها، وبالكلمات التي سيكتبها المستخدم فعلاً.

لماذا تكاد مهارة ما لا تكلّف شيئاً حتى تُستخدم

هذه هي الحجة التي تجعل فهم هذا التنسيق مهماً، وهي تتعلق بالسياق لا بالميزات. يحدث التحميل على مراحل، وتسمّي المواصفة ذلك الكشف التدريجي.

عند بدء التشغيل، يحمّل الوكيل name وdescription لكل مهارة مثبّتة ولا يحمّل أي شيء آخر. تحدد مواصفة Agent Skills ذلك بنحو 100 رمز لكل مهارة تقريباً (وفق الإرشادات المنشورة حتى أكتوبر 2026). إذا ثبّتَّ اثنتي عشرة مهارة، فستستهلك تقريباً حجم سياق فقرة طويلة واحدة.

عندما يطابق طلب ما وصفاً، يقرأ الوكيل متن SKILL.md تلك المهارة فقط. توصي المواصفة بألا يتجاوز المتن 5,000 رمز، وألا يتجاوز الملف 500 سطر. لا تكلّف الملفات الموجودة في references/ وscripts/ شيئاً في هذه المرحلة. لا يُحمَّل ملف مرجعي إلا إذا وجّهت التعليمات الوكيل إليه. أما النص البرمجي المضمّن فيختلف مرة أخرى: يشغّله الوكيل عبر shell، لذلك لا يدخل مصدر النص البرمجي إلى نافذة السياق، بل يدخل ناتجه فقط.

قارن ذلك بما يلجأ إليه الناس أولاً، وهو prompt واحد ضخم. تُحتسب تكلفة كل سطر في system prompt أو في ملف تعليمات دائم عند كل طلب وفي كل جلسة، سواء احتاجت المهمة إليه أم لا، كما أنه ينافس السؤال الفعلي على الانتباه. إن وجود 10,000 رمز من التعليمات الدائمة يعني أنك تدفع هذه التكلفة حتى عندما تسأل عن الوقت. تكلّف اثنتا عشرة مهارة نحو 1,200 رمز أثناء عدم الاستخدام، ولا تتوسع إلا للمهمة التي تحتاج إليها. هذه هي الحجة كاملة لصالح المهارات، ولهذا تتفوق مكتبة صغيرة على prompt أطول.

هناك استثناء يغفل عنه بعض المستخدمين. بعد تحميل مهارة، يبقى متنها في السياق طوال بقية الجلسة، لذلك فإن SKILL.md طويلاً يمثل تكلفة متكررة، وليس تكلفة تُدفع مرة واحدة. إن نقل التفاصيل إلى references/ ليس مجرد ترتيب أفضل. بل هو الآلية التي تعمل وفق التصميم.

مهارة الوكيل ليست استدعاء أداة

الأداة، التي تُسمّى أيضاً استدعاء دالة، هي شيء يمكن للنموذج استدعاؤه. يرسل الغلاف إلى النموذج مخططاً يتضمن اسماً ووصفاً وبنية الوسائط. يُصدر النموذج استدعاءً، ثم يشغّل برنامجك الأداة، وتعود النتيجة كرسالة. تنفّذ الأدوات إجراءات. وينتمي طرفا هذا التبادل إلى الغلاف، أي البرنامج الذي يدير الحلقة المحيطة بالنموذج، وهو أيضاً البرنامج الذي يقرأ أوصاف مهاراتك عند بدء التشغيل ويقرر متى يفتح مهارة.

لا تنفّذ المهارة أي شيء بمفردها. يقرأها الوكيل، ثم يتصرف باستخدام الأدوات المتاحة له مسبقاً. ولا يستطيع النموذج تمرير الوسائط إلى مهارة بالطريقة التي يمرر بها الوسائط إلى أداة. ما تستطيع المهارة فعله هو إخبار النموذج بالأدوات التي ينبغي استخدامها، والترتيب المناسب لاستخدامها، وما يجب التحقق منه بعد ذلك. ويُعد إسناد مهمة إلى وكيل ثانٍ أوضح مثال على ذلك: يمكن لجلسة Claude Code واحدة مراسلة جلسة أخرى بالفعل، والمهارة هي المكان الذي تكتب فيه متى يستحق ذلك وما الذي ينبغي إرساله.

باختصار: تمنح الأداة الوكيل قدرة جديدة، بينما تمنحه المهارة في الغالب حكماً حول القدرات المتاحة له مسبقاً. وعندما تضيف المهارة قدرة، فإنها تفعل ذلك من خلال script مضمّن يشغّله الوكيل باستخدام shell المتاح له مسبقاً. إذا كان يجب أن تنتج خطوة نتيجة دقيقة وموثّقة في كل مرة، فأنت تحتاج إلى أداة أو script. وإذا كانت الخطوة تحتاج إلى تطبيق طريقة التفكير نفسها باستمرار، فأنت تحتاج إلى مهارة. يمكن أن تقتصر المهارة على الحكم وحده، ومع ذلك تكون الأداة التي تلجأ إليها أكثر من غيرها، كما يوضح Ponytail، الذي يدفع وكيل البرمجة إلى إجراء أصغر تغيير ينجح. فهي لا تضيف أي قدرة جديدة، بل تغيّر فقط طريقة استخدام الوكيل للقدرات المتاحة له. ويمكن أن يوجّه هذا الحكم الوكيل في الاتجاه المعاكس أيضاً، ومهارة unlazy، التي تتنقل في Depth Tree لمنع الوكيل من إعلان اكتمال المهمة مبكراً تستخدم الأسلوب نفسه لتحقيق الشمول بدلاً من التقييد.

مهارة الوكيل ليست خادم MCP

‏MCP‏ (بروتوكول سياق النموذج) هو بروتوكول لربط وكيل بنظام خارجي. خادم MCP هو عملية تعمل وتتحدث بهذا البروتوكول وتعرض الأدوات للوكيل. ويحتاج عادةً إلى إعدادات وبيانات اعتماد، وإما إلى أمر محلي أو نقطة نهاية على الشبكة. أما المهارة فهي مجلد يحتوي على ملف Markdown. ولا توجد فيها عملية أو منفذ أو بروتوكول.

تختلف تكلفة السياق بالطريقة نفسها. كل أداة يعرضها خادم MCP تحمل اسماً ووصفاً ومخططاً للوسائط. وفي العميل الذي يحمّل هذه الأدوات مسبقاً، تُدرج هذه البيانات في الطلب طوال الجلسة، سواء استُخدمت الأداة أم لا. لم يعد Claude Code يعمل بهذه الطريقة افتراضياً. فاعتباراً من October 2026، تكون ميزة البحث عن الأدوات مفعّلة تلقائياً، ولذلك لا تُحمّل عند بدء الجلسة إلا أسماء الأدوات وتعليمات الخادم، بينما تصل التعريفات الكاملة عندما يبحث Claude عنها. أما المهارة غير النشطة فهي سطر واحد من النص.

العلاقتان تكامليتان، وتستخدم أقوى الإعدادات كليهما. يوفّر خادم MCP الوصول. وتوفّر المهارة الإجراء: أي الأدوات التي تستدعيها ضمن سير العمل الفعلي لفريقك، والترتيب الذي تستدعيها به، وما تبدو عليه النتيجة الجيدة. إذا كنت تستضيف خادمك بنفسك، فراجع تشغيل خوادم MCP على VPS لمعالجة هذا الجانب.

مهارة الوكيل ليست موجه نظام ولا ملف AGENTS.md

كلاهما تعليمات بتنسيق Markdown، لذلك من الطبيعي حدوث هذا الالتباس. الفرق هو توقيت تحميلهما. تكون AGENTS.md وCLAUDE.md وتعليمات النظام مفعّلة دائماً. أما المهارة، فتُفعَّل عند الطلب. تقع أنماط إخراج Claude Code في أقصى طرف من التعليمات المفعّلة دائماً، لأن اختيار أحدها يعدّل تعليمات النظام نفسها. لذلك فهي تؤثر في كل رد خلال الجلسة، بما في ذلك الردود التي لا تتعامل معها أي مهارة.

الاختبار يتكون من سؤال واحد: هل سيكون تجاهل هذه الفقرة خطأً في مهمة لا علاقة لها بها؟ تنطبق قواعد أسلوب المشروع، وأمر البناء، وقاعدة تسمية الفروع على كل مهمة، لذلك يجب وضعها في الملف المفعّل دائماً؛ فالغرض منه أن يُحمّل في كل مرة. أما قائمة التحقق الخاصة بالإصدار، التي تشغّلها مرتين في الشهر، فلا تنطبق على كل مهمة، لذلك يجب وضعها في مهارة. عندما يتحول قسم من ملفك المفعّل دائماً إلى إجراء مرقّم، فهذه إشارة إلى ضرورة نقله.

لهذه الملفات اصطلاحاتها الخاصة أيضاً، ومن المفيد تطبيقها بشكل صحيح. راجع ما الذي ينتمي إلى AGENTS.md وما الذي ينتمي إلى الملف الذي يديره البشر وملف design.md الذي يشرح بنية قاعدة الشيفرة للاطلاع على الملفين اللذين نستخدمهما.

كيف تبدو المهارة الدنيا

في Claude Code، توجد المهارات الشخصية في ~/.claude/skills/<name>/SKILL.md وتُطبّق على جميع مشاريعك. أما مهارات المشروع فتوجد في .claude/skills/<name>/SKILL.md وتُضاف إلى git، لذلك تتوفر لكل شخص ولكل وكيل يعمل في ذلك المستودع. يقرأ GitHub Copilot وVS Code مهارات المشروع من .github/skills/ و.agents/skills/، وكذلك من .claude/skills/. الملف الموجود في الداخل هو الملف نفسه.

mkdir -p ~/.claude/skills/restore-drill
---
name: restore-drill
description: Run a restic restore drill and report what was recovered. Use when the user asks to test backups, verify a restore, or check that a snapshot is readable.
---

# Restore drill

1. Run `restic snapshots` and pick the newest snapshot for the host in question.
2. Restore it into a scratch directory under `/tmp`, never over live data.
3. Compare the restored file count and total size against the snapshot summary.
4. Report the snapshot ID and anything that failed to restore.

If `restic snapshots` prints `Fatal: unable to open config file`, the repository path or the password is wrong. Stop and report that instead of guessing.

هذه مهارة مكتملة. يصبح اسم الدليل هو الأمر الذي تكتبه، ولذلك يكون الأمر هنا /restore-drill. في Claude Code، تعرض قائمة /skills ما هو مثبت، وهي أسرع طريقة للتأكد من أن الملف اكتُشف. إذا لم يظهر في تلك القائمة، فتحقق أولاً من الأسماء: يجب أن يُسمى الملف SKILL.md، وتتطلب مواصفة Agent Skills أن يتكون الاسم من أحرف صغيرة وأرقام وواصلات مفردة، وأن يطابق اسم الدليل. ويُعد الإجراء نفسه، عند كتابته كخطوات يمكن لوكيلك إعادة تشغيلها، مكملاً طبيعياً لـالنسخ الاحتياطية المجدولة باستخدام restic على VPS، لأن تشغيل النسخة الاحتياطية لا يعني استعادتها.

متى ينبغي أن تكون المهارة عبارة عن script بدلاً من ذلك

يجب أن تكون أي خطوة لها إجابة صحيحة واحدة في كل مرة عبارة عن script، مع اختصار المهارة إلى بضعة أسطر توضّح متى تشغّلها وكيف تفسّر المخرجات. هناك سببان لذلك، وكلاهما عملي.

أولاً، لا يدخل مصدر script إلى نافذة السياق. يستهلك parser مؤلف من 300 سطر مخرجاته فقط، ولا يستهلك أي شيء إضافي، بينما تستهلك المنطق نفسه المكتوب على شكل تعليمات markdown طوله الكامل في كل مرة تُحمّل فيها المهارة.

ثانياً، يعطي script الإجابة نفسها مرتين. إذا طُلب من نموذج إعادة اشتقاق قاعدة تحليل السجل نفسها في كل تشغيل، فسيعطيها بصيغة مختلفة قليلاً في يوم سيئ، ولن تلاحظ ذلك حتى يختلف رقمان.

لذلك، قسّم العمل حسب نوعه. «حلّل CSV واطبع كل صف لا يتطابق فيه الإجمالي مع عناصر السطر» هو script. أما «انظر إلى الصفوف التي طبعها script واشرح أيّها يبدو كخطأ في إدخال البيانات» فهي تعليمة للمهارة. إن إبقاء الحكم في markdown والحتمية في code هو الانضباط نفسه المتّبع في إنشاء حلقة يمكن لوكيل تشغيلها دون أن تراقبه.

لماذا لا تُفعَّل مهارتي أبداً؟

لأن description يوضّح ما تفعله المهارة، ولا يوضّح متى ينبغي استخدامها. وهذا السطر هو كل ما يستطيع الوكيل مطابقة طلبك معه. العبارة "تساعد في أعمال قواعد البيانات" لا تطابق شيئاً محدداً. أما العبارة "تنفّذ ترحيل مخطط قاعدة بيانات staging. استخدمها عندما يطلب المستخدم ترحيل جدول، أو إضافة عمود، أو تغيير مخطط" فتتضمن الكلمات التي يكتبها الشخص فعلياً، ولذلك تُفعَّل.

والفشل المعاكس هو المهارة التي تُفعَّل باستمرار. فالوصف مثل "استخدمها مع أي تغييرات برمجية في هذا المستودع" يطابق كل شيء، ولذلك يُحمّل نص المهارة في كل مهمة، ثم يبقى في السياق طوال بقية الجلسة. ضيّق الوصف ليطابق الحالة المقصودة فقط. في Claude Code، يمكنك أيضاً ضبط disable-model-invocation: true في frontmatter، ما يوقف التحميل التلقائي ويُبقي المهارة متاحة عندما تكتب اسمها.

والفشل الثالث هو المهارة التي تكرر وظيفة أداة. فالتعليمات التي تطلب من الوكيل curl واجهة API يوفّرها خادم MCP بالفعل، أو البحث في الملفات باستخدام grep بينما يوفّر harness أداة بحث، تمنحك مساراً أبطأ، إضافة إلى مجموعتي تعليمات قد تتعارضان. احذف التكرار، وصِف الهدف بدلاً منه.

لا تخمّن أيّاً من حالات الفشل الثلاث ينطبق عليك. شغّل الطلب نفسه مرتين في جلسة جديدة، مرة مع إتاحة المهارة، ومرة بعد تعطيلها، ثم قارن الإجابتين. الجلسة الجديدة مهمة، لأن الجلسة التي كتبت فيها المهارة تحتوي بالفعل على كل ما تقوله المهارة، ما يخفي الثغرات في النسخة المكتوبة. تعمل إضافة skill-creator من Anthropic على أتمتة هذه المقارنة داخل Claude Code، بما في ذلك إنشاء طلبات ينبغي أن تُفعّل المهارة وطلبات لا ينبغي أن تُفعّلها، وقياس معدل تفعيل كل منها. إذا حُمّلت المهارة، ثم ظل الوكيل لا ينفّذ ما تقوله، فالوصف ليس المشكلة، وعندها ينبغي أن تبحث في أسباب تجاوز الوكيل للتعليمات التي قرأها بالفعل.

هل هذا تنسيق خاص بمورّد واحد أم معيار؟

نشرت Anthropic هذا التنسيق في أواخر 2025، ثم أتاحته كمعيار مفتوح مستضاف على agentskills.io. واعتباراً من أكتوبر 2026، تحدد المواصفة الحقول المطلوبة name وdescription، والحقول الاختيارية license وcompatibility وmetadata وallowed-tools، والأدلة الاختيارية الثلاثة، وسلوك التحميل المرحلي. كما توفّر أداة تحقق مرجعية، لذلك يتحقق skills-ref validate ./my-skill من مجلد مقابل المواصفة قبل مشاركته.

قائمة العملاء هي المؤشر الفعلي. يُقرأ المجلد نفسه بواسطة Claude Code وCursor وOpenAI Codex وGemini CLI وGitHub Copilot وVS Code وGoose وOpenHands وopencode، وغير ذلك. وتنشر Microsoft مهاراتها الخاصة بهذا التنسيق على github.com/microsoft/skills، كما توفّر أداة سطح مكتب باسم Skill Recorder تراقب تنفيذك لمهمة مرة واحدة، ثم تعيد بناءها على شكل نية وخطوات مرتبة، وتكتب النتيجة كمهارة. إن بناء مورّد لأداة تسجيل يكون تنسيق مخرجاتها تابعاً لمواصفة يملكها طرف آخر، يُعد مؤشراً جيداً على أن التنسيق لم يعد ميزة خاصة بمنتج واحد.

ما الذي تكتبه أولاً

لا تخطّط لإنشاء مكتبة. انتظر حتى تلاحظ أنك تلصق التعليمات نفسها في محادثة للمرة الثالثة، ثم انقل ذلك النص إلى SKILL.md واحذف النص الملصق. التكرار الذي اختبرته فعلياً هو المحفز الموثوق الوحيد لمهارة تستحق الاحتفاظ بها. يُعد إجراء البحث بداية جيدة، ويوضح شكل مهارة بحث مدعومة بمثيل SearXNG الخاص بك هذا النهج.

تحافظ عادتان على سلامة المكتبة. اقرأ كل مهارة لم تكتبها بنفسك قبل تثبيتها، بما في ذلك البرامج النصية، لأن المهارة تتضمن تعليمات سيتبعها وكيلك وشيفرة قد يشغّلها؛ تعامل معها كما تتعامل مع تثبيت برنامج من مصدر مجهول. وأبقِ بيانات الاعتماد خارج المجلد، لأن المهارة ملف نصي قد تلتزم به في مستودع وتشاركه. يوضح إبعاد الأسرار عن وكلائك الموضع الذي ينبغي أن تحفظ فيه هذه القيم بدلاً من ذلك، بينما يضع خارطة طريق تعلّم الوكلاء هذا العام المهارات ضمن ترتيب بقية خطوات الإعداد.

FAQ

ما الفرق بين مهارة الوكيل وخادم MCP؟

خادم MCP ‏(بروتوكول سياق النموذج) هو عملية قيد التشغيل تعرض أدوات لوكيل عبر بروتوكول. لذلك يحتاج إلى إعدادات وبيانات اعتماد، وتشغل تعريفات أدواته الكاملة مساحة من السياق طوال الجلسة، ما لم يؤجل العميل تحميلها، كما يفعل Claude Code الآن افتراضياً. أما مهارة الوكيل فهي مجلد يحتوي على ملف SKILL.md، ولا تتضمن عملية أو بروتوكولاً، وتستهلك نحو 100 رمز مميز إلى أن يقرر الوكيل قراءتها. استخدم خادم MCP لمنح الوكيل إمكانية الوصول إلى نظام. واستخدم المهارة لإرشاد الوكيل إلى الإجراء الصحيح لاستخدام ذلك الوصول. تستخدم إعدادات كثيرة كليهما.

هل تعمل مهارات الوكلاء مع Claude Code فقط؟

لا. طوّرت Anthropic التنسيق ثم أطلقته كمعيار مفتوح على agentskills.io، ويقرأ المجلد نفسه كل من Cursor وOpenAI Codex وGemini CLI وGitHub Copilot وVS Code وGoose وOpenHands وعملاء آخرون. ويختلف كل عميل في الموضع الذي يبحث فيه وفي حقول frontmatter الإضافية التي يفهمها. يقرأ Claude Code الملفين ~/.claude/skills/ و.claude/skills/، بينما يقرأ GitHub Copilot وVS Code الملفات .github/skills/ أو .claude/skills/ أو .agents/skills/ في المستودع. وينتقل ملف SKILL.md نفسه بينها من دون تغيير.

كم عدد المهارات التي يمكنني تثبيتها قبل أن تتسبب في بطء النظام؟

القيد يتعلق بميزانية بدء التشغيل، وليس بعدد محدد. تضيف كل مهارة مثبتة اسمها ووصفها، بنحو 100 رمز مميز وفق الإرشادات المنشورة للمواصفة، لذا تستهلك 30 مهارة نحو 3,000 رمز مميز قبل استخدام أي منها. وما يتدهور أولاً هو المطابقة، وليس السرعة. فوجود مهارات كثيرة ذات أوصاف متداخلة يجعل اختيار النموذج للمهارة الصحيحة أصعب. اكتب أوصافاً غير متداخلة، واحذف المهارات التي توقفت عن استخدامها.

هل أضع هذه التعليمات في مهارة أم في AGENTS.md؟

اسأل ما إذا كانت تنطبق على كل مهمة في المستودع. تنطبق أوامر البناء وأسلوب المشروع وقواعد التسمية على جميع المهام، ولذلك يجب أن تضعها في الملف الذي يُحمّل دائماً، فهذا هو الغرض من تحميله في كل مرة. أما الإجراء الذي تشغله أحياناً، مثل قائمة تحقق للإصدار أو تمرين استعادة، فينبغي أن يكون مهارة، بحيث لا يضيف إلى المهام التي لا تحتاج إليه سوى وصفه ذي السطر الواحد. وعادةً ما يكون قسم من AGENTS.md تحوّل إلى خطوات مرقمة مهارةً جاهزة للنقل.

هل كان هذا المقال مفيدًا؟