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

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

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

ما المهارة التي يستخدمها الوكيل فعلياً

المهارة الخاصة بالوكيل هي مجلد على القرص يحتوي على ملف اسمه 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 token لكل مهارة، وفق الإرشادات المنشورة حتى August 2026. إذا ثبّتَّ اثنتي عشرة مهارة، فستكون قد استهلكت تقريباً حجم سياق فقرة طويلة واحدة.

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

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

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

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

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

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

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

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

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

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

الخدمتان متكاملتان، وأقوى الإعدادات تستخدمهما معاً. يوفّر خادم 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/ بدلاً من ذلك. والملف الموجود داخلها هو الملف نفسه.

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، ويجب أن يتكون اسم الدليل من أحرف صغيرة وأرقام وواصلات مفردة. ويُعد الإجراء نفسه، عند كتابته بطريقة يمكن لوكيلك إعادة تنفيذها، مكملاً طبيعياً لـالنسخ الاحتياطية المجدولة باستخدام 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. وحتى August 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 ‏(بروتوكول سياق النموذج) هو عملية قيد التشغيل تعرض أدوات لوكيل عبر بروتوكول. لذلك يحتاج إلى إعدادات وبيانات اعتماد، وتشغل تعريفات أدواته عادةً حيزاً من السياق طوال الجلسة، سواء استُخدمت أم لا. أما مهارة الوكيل فهي مجلد يحتوي على ملف 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/ في المستودع. ينتقل ملف SKILL.md نفسه بينها من دون تغيير.

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

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

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

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