Skip to content

كيفية اختيار الميزات المناسبة: CLAUDE.md vs Skill vs Hook vs MCP vs Subagent

📚 تنقل السلسلة: المقال السابق 29 فرق الوكلاء Agent teams علمك كيفية إدارة وتشغيل فرق الوكلاء بالتوازي. ينهي هذا المقال المجموعة الرابعة - فبعد دراسة CLAUDE.md والمهارات والخطافات (Hooks) والـ MCP والوكلاء الفرعيين، قد تتداخل هذه المفاهيم في ذهنك ويصعب عليك الاختيار. نقدم لك في هذا المقال جدولاً ومخططاً تفصيلياً لمساعدتك في اختيار الأداة والمسار الأنسب لمهمتك مباشرة وتجنب إهدار الوقت والجهد.

يا أصدقائي، بعد دراسة المقالات السابقة، أصبح بين أيديكم مجموعة متنوعة من أدوات التوسيع والربط.

ملف CLAUDE.md والمهارات (Skill) والخطافات (Hook) والـ MCP والوكلاء الفرعيين (Subagent), بالإضافة إلى أوامر slash الشائعة. خمسة أو ستة مصطلحات قمنا بشرح وظيفة كل منها بشكل مستقل. ولكن عند مواجهة مهمة جديدة والبدء بالعمل، ستتساءل غالباً: ما هو الخيار الأنسب؟ ومن الأسئلة الشائعة في هذه المرحلة: "هل أصمم هذه المهمة كمهارة أم كوكيل فرعي؟" أو "هل يكفي كتابة هذه القاعدة داخل ملف CLAUDE.md؟"

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

يمكننا صياغة الأمر كالتالي: المقالات السابقة قدمت لك الأسلحة المتاحة، وهذا المقال يعلمك أي سلاح تشهر عند القتال.

بعد قراءة هذا المقال، ستحصل على:

  • شرح مبسط لكل من الميزات الخمس (بالإضافة لأوامر slash) يوضح "ما تحله، متى تختارها، ومتى تتجنبها".
  • جدولاً عملياً يربط "الاحتياجات بالحلول المقترحة" لتصفح الخيارات بسهولة.
  • مخططاً تفصيلياً (شجرة قرار) يطرح عليك بضعة أسئلة لتصل للحل المناسب مباشرة.
  • مقارنة تفصيلية للحالات المتشابهة (Skill مقابل Subagent، و CLAUDE.md مقابل Skill, و Hook مقابل قواعد الصلاحيات).
  • كيفية دمج الميزات المتعددة وجمعها في حزمة واحدة وتعبئتها كـ plugin لمشاركتها.

01 نحدد البنية العامة أولاً: الميزات كخطافات في دورة عمل الوكيل

قبل البدء بالاختيار، دعنا نوضح البنية العامة لتسهيل الفهم. فهذه الميزات ليست خيارات مستقلة ومتشابهة، بل هي عبارة عن خطافات (hooks) يتم تعليقها في مراحل مختلفة من دورة عمل Claude.

تذكر ما شرحناه في المقال 03 حول "دورة عمل الوكيل" - حيث يعمل Claude بطريقة دائرية "فكر ← تصرف ← لاحظ". وتتوزع ميزاتنا الستة (ملف CLAUDE.md والمهارات وأوامر slash والـ MCP والوكلاء الفرعيين والخطافات)،正好插在这个循环的不同位置:有的在「想」之前塞进背景,有的在「做」的时候接外部、开分身,有的在某个固定时刻自动扣扳机。官方那句话点得很准,值得先记住:

تندمج ميزات التوسيع في أجزاء مختلفة من دورة عمل الوكيل.

تشبيه: مكتب الاستقبال والتوجيه في المستشفى. عند زيارة المستشفى لشعورك بالتعب، لن تذهب لأي قسم عشوائياً، بل تتوجه لمكتب الاستقبال لتعرض شكواك - ليوجهك لقسم الأعصاب عند الصداع، أو لقسم الباطنية عند آلام البطن، أو لقسم الأشعة للفحص البصري. لا يعالجك موظف الاستقبال، ولكنه يوجهك للقسم الصحيح بناءً على شكواك. هذا المقال يعمل كمكتب الاستقبال: تحدد "حاجتك"، وأوجهك لـ "الميزة المناسبة".

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

💡 خلاصة سريعة: الميزات ليست خيارات متكافئة نختار بينها عشوائياً، بل هي أدوات تندمج في مراحل مختلفة من دورة عمل الوكيل (فكر ← تصرف ← لاحظ)؛ ويتوقف الاختيار على تحديد المرحلة المناسبة لدمج طلبك.


02 الميزات الستة: وظيفة واستخدام كل منها

لنحدد أولاً وظيفة ونطاق عمل كل ميزة بعبارة بسيطة. ويعتمد هذا التحديد على المواصفات الرسمية، ونرفق مع كل ميزة مثالاً واقعياً لاستخدامها.

ملف CLAUDE.md —— القواعد التي يجب عليه "الالتزام بها دائماً". قواعد المشروع، وأوامر بناء الكود، وتعليمات مثل "استخدم pnpm دائماً وتجنب npm" أو "شغل الاختبارات قبل رفع الكود" - وهي تعليمات تعمل طوال الوقت. ويتم تحميل الملف تلقائياً في بداية كل جلسة ليكون أمام Claude باستمرار.

المهارات (Skill) —— قدرات متخصصة "يتم تفعيلها تلقائياً عند الحاجة". خطوات ووثائق عمل قابلة للتكرار: كدليل تنسيق واجهات البرمجة (APIs)، أو خطوات النشر البرمجي، أو طرق فحص الأخطاء وتصحيحها. وتظل المهارة خفيفة في الذاكرة (يُرسل وصفها فقط)، ويتم تحميل كامل محتوياتها عند تفعيلها واستخدامها فقط؛ ويمكنك استدعاؤها يدوياً بالاسم عبر /<name>.

أوامر slash —— خطوات عمل محددة "تفعلها يدوياً بنقرة واحدة". وهي عبارة عن استخدام مخصص للمهارة (بالاستدعاء بالاسم عبر /). والفرق هنا هو "من يبدأ بالطلب": يتم تفعيل المهارة تلقائياً بناءً على تقييم Claude للحاجة إليها، بينما يتم تفعيل أوامر slash يدوياً بكتابة الأمر مثل /deploy.

بروتوكول MCP —— منافذ ربط الوكيل "بالعالم الخارجي". البحث في قواعد البيانات، وإرسال الرسائل عبر Slack، والتحكم بالمتصفح - فكل ما يعجز Claude عن الوصول إليه محلياً ويتطلب الاتصال بخدمات أو قواعد بيانات خارجية يتم معالجته عبر بروتوكول MCP (راجع المقال 22).

الوكلاء الفرعيون (Subagent) —— توليد "مساعد مستقل" للمهام المتشعبة والجانبية. عند الحجة لقراءة وتصفح عشرات الملفات البرمجية أو إجراء عمليات بحث واسعة وطلب الخلاصة والنتائج فقط لتجنب امتلاء الذاكرة وجلسة المحادثة الرئيسية بتفاصيل البحث، يتم تكليف وكيل فرعي (subagent) بالمهمة (راجع المقال 23). حيث يعمل في جلسة معزولة ويرسل النتائج فقط للجلسة الرئيسية عند الانتهاء.

الخطافات (Hook) —— تنفيذ مهام تلقائية "في لحظات محددة". الخطاف هو عملية برمجية يتم تشغيلها تلقائياً عند حدوث حدث معين في المشروع. فبمجرد رصد حدث (مثل "بعد تعديل الملف" أو "عند بدء الجلسة")، يتم تشغيل الخطاف مباشرة - كفحص الملفات ببرامج التنسيق (linter)، أو منع تشغيل الأوامر الخطيرة، أو إرسال تنبيهات. وتعمل الخطافات تلقائياً دون حاجة لتقييم أو تفكير من Claude.

لم نتناول الخطافات (Hooks) بالتفصيل في المقالات السابقة، ويكفي فهم فكرتها العامة هنا: فهي برمجيات تعمل تلقائياً عند رصد أحداث محددة. وسنشرح كيفية كتابتها والأحداث المتاحة لها في المقال 33 بالتفصيل.

الجدول التالي يقارن بين الميزات الستة لتسهيل الفهم:

الميزةالوظيفة الأساسيةطريقة التفعيلمستوى استهلاك الذاكرة
CLAUDE.mdقواعد عامة يلتزم بها طوال الوقتتلقائي، يُحمل في بداية كل جلسةمرتفع (مستمر طوال المحادثة)
المهارات (Skill)وثائق ومهام تخصصية عند الحاجةتلقائي بتقدير Claude أو يدوياً عبر /<name>منخفض (يُحمل عند التفعيل فقط)
أوامر slashمهام وخطوات عمل تُفعل يدوياًيدوياً بكتابة الأمر /xxxمنخفض (كبقية المهارات)
بروتوكول MCPالاتصال بالخدمات وقواعد البيانات الخارجيةتلقائي عند استدعاء أدوات الاتصالمنخفض (تُرسل أوصاف الأدوات فقط)
الوكيل الفرعي (Subagent)عزل العمليات الخلفية وتوليد المساعدينبطلب منك أو من Claudeمعزول (يعمل في جلسة مستقلة)
الخطافات (Hook)تشغيل مهام تلقائية عند رصد أحداث معينةتلقائي عند رصد الحدث المحددمنعدم (إلا عند إرسال نتائج للمحادثة)

تحديد "طريقة التفعيل" و "مستوى استهلاك الذاكرة" يمثل المعيار الأساسي للاختيار بين هذه الميزات - لمعرفة هل تريد التفعيل يدوياً أم تلقائياً، وهل يستحق الأمر حجز جزء من الذاكرة طوال المحادثة أم لا.

💡 خلاصة سريعة: تختلف أدوار الميزات الستة - توضع القواعد العامة في CLAUDE.md، والمهام التخصصية كمهارات، والمهام اليدوية السريعة كأوامر slash، والاتصال بالخارج عبر MCP، وعزل المهام للوكلاء الفرعيين، والتشغيل التلقائي عند الأحداث كخطافات.


03 جدول القرارات: الاحتياجات والحلول المقترحة

سنعرض الآن الجدول الأساسي للمقال - والذي يربط "الاحتياجات البرمجية بالحلول المناسبة". يكفي تحديد فكرتك والبحث عنها في القائمة لمعرفة الميزة الأنسب لعملك:

حاجتك البرمجية (ما تفكر به)الميزة المقترحةسبب الاختيار / تفاصيل إضافية
"أريد منه الالتزام دائماً بهذه المعايير والقواعد" (مثال: استخدام pnpm، تشغيل الاختبارات قبل الرفع)CLAUDE.mdقواعد عامة ومستمرة للمشروع، يجب أن تتوفر أمام Claude طوال الوقت
"أريد توفير وثيقة مرجعية أو دليل استخدام يقرأه عند الحاجة فقط"المهارات (Skill)وثائق مرجعية للمساعدة، يُفضل عدم حجز الذاكرة بها وتوفيرها عند الحاجة فقط
"أريد تشغيل خطوات النشر والرفع يدوياً بكتابة أمر سريع مثل /deploy"أوامر slash (نوع من المهارات)مهمة وخطوات عمل متعددة تريد تشغيلها يدوياً عند الطلب
"أريد منه البحث في قاعدة بيانات الشركة أو إرسال تنبيهات عبر Slack"بروتوكول MCPيتطلب الوصول لخدمات وبيانات خارجية خارج نطاق ملفات المشروع المحلية
"أريد منه قراءة وتصفح عشرات الملفات وصياغة خلاصة بسيطة"الوكيل الفرعي (Subagent)لعزل عمليات البحث الكبيرة ومنع امتلاء ذاكرة المحادثة الرئيسية بتفاصيل القراءة
"أريد فحص ومعالجة مهام متعددة ومستقلة في نفس الوقت بالتوازي"الوكلاء الفرعيون (متعددين)مهام متوازية ومستقلة يعمل كل منها في جلسة معزولة ويعود بالنتائج
"أريد فحص وتنسيق الملفات تلقائياً بمجرد قيام Claude بتعديلها وحفظها"الخطافات (Hook) (حدث PostToolUse)عملية آلية تعمل عند حدوث حدث معين ولا تتطلب تفكيراً أو تقييماً من Claude
"أريد منع وإيقاف تشغيل أوامر خطيرة مثل rm -rf / بشكل حتمي"الخطافات (حدث PreToolUse) أو قواعد الصلاحياتتتطلب حظراً صارماً ومؤكداً للعملية ولا يمكن الاعتماد على وعي النموذج لمنعها
"يستمر في نسيان وتجاوز قاعدة محددة وكررت تنبيهه لها مرتين"CLAUDE.mdقاعدة عامة ومتكررة للمشروع يجب كتابتها في مستند القواعد المطبقة بدلاً من تنبيهه لها في المحادثة
"أضطر لكتابة نفس التعليمات والشروح في بداية كل جلسة جديدة"المهارات (Skill)تعليمات متكررة يُفضل حفظها كمهارة تخصصية واستدعاؤها عند الحاجة
"أريد نقل ومشاركة كافة إعدادات المشروع وتهيئاته لمشروع آخر"البرمجيات المجمعة (Plugin)لحزم المهارات والخطافات والـ MCP والوكلاء معاً لتسهيل نقلها وتركيبها

يعتمد اختيار الميزات على فكرة "التكرار" - فإذا وجدت نفسك تكرر كتابة نفس التعليمات، أو تصحح نفس الخطأ مراراً، فهذا مؤشر على ضرورة حفظ هذه الخطوات كمهارة أو كتابتها كقاعدة في CLAUDE.md بدلاً من كتابتها يدوياً in كل مرة.

يجدر التنبيه لخطأ شائع يقع فيه الكثير من المطورين لتسهيل العمل: وهو كتابة وثائق واجهات البرمجة الطويلة (كأدلة الاستخدام التي تتجاوز مئات الأسطر) داخل ملف CLAUDE.md مباشرة لاعتقادهم أن توفيرها أمامه طوال الوقت يسهل عمله. والنتيجة هي استهلاك جزء كبير من ذاكرة المحادثة الرئيسية قبل البدء بالعمل الفعلي؛ بالإضافة لتشتيت Claude وعجزه عن التركيز على القواعد الأساسية للمشروع لتداخلها مع تفاصيل الوثائق الطويلة. والحل الصحيح هو نقل هذه الوثائق لمهارة مستقلة (Skill)، وتكتفي بكتابة عبارة في ملف CLAUDE.md "اتبع معايير واجهات البرمجة الموضحة في مهارة api-skill".

💡 خلاصة سريعة: حدد فكرتك وابحث عنها في جدول القرارات لمعرفة الميزة الأنسب؛ وتذكر أن القواعد المستمرة توضع في CLAUDE.md والوثائق المرجعية كمهارات والاتصال بالخارج عبر MCP وعزل المهام للوكلاء الفرعيين والتشغيل التلقائي عند الأحداث كخطافات.


04 شجرة القرارات: خطوات مبسطة لتحديد الميزة

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

تم تصميم شجرة القرارات بناءً على المخطط التالي:

شجرة قرارات اختيار الميزات المناسبة

توضح شجرة القرارات مسار تحديد الميزات: تبدأ بسؤال حول الحاجة للاتصال بالخارج، ثم شروط الإلزام الأمني الصارم، وتنتقل لخيارات العزل والتوازي، وتصل في النهاية للمقارنة بين القواعد العامة المستمرة والوثائق المرجعية التخصصية.

دعنا نمر بالأسئلة بالترتيب للتوضيح:

السؤال الأول: هل تتطلب المهمة الاتصال بخدمات أو قواعد بيانات خارجية؟ إذا كانت الإجابة نعم - كالاتصال بقاعدة البيانات أو Slack - فاستخدم بروتوكول MCP مباشرة وتوقف هنا.

السؤال الثاني: هل تتطلب المهمة حظراً صارماً ومؤكداً للعمليات دون الاعتماد على وعي النموذج؟ إذا كانت الإجابة نعم - كمنع تعديل ملفات الاعتماد أو منع حذف أدلة معينة - فاستخدم الخطافات (Hook) أو قواعد الصلاحيات (راجع القسم القادم). والفيصل هنا هو كلمة "الضمان والحتمية": فالخطافات وقواعد الصلاحيات تفرض برمجياً ومن نظام التشغيل، بينما القواعد المكتوبة في CLAUDE.md تمثل توصيات قد يتجاوزها النموذج بالخطأ.

السؤال الثالث: هل تتطلب المهمة عزل العمليات وتصفح ملفات كثيرة وتقديم خلاصة بسيطة؟ إذا كانت الإجابة نعم - كقراءة وتصفح أدلة برمجية كبيرة بالتوازي - فاستخدم الوكلاء الفرعيين (Subagents). حيث يعمل الوكيل الفرعي في جلسة معزولة ويرسل الخلاصة فقط للجلسة الرئيسية لمنع امتلاء الذاكرة.

وإذا لم تطابق رغبتك الأسئلة الثلاثة السابقة، فهذا يعني أنك تبحث عن حفظ "قواعد أو وثائق أو خطوات عمل"، ويحين وقت السؤال الأخير:

السؤال الرابع: هل يجب توفير هذه المعلومات أمامه طوال الوقت، أم يحتاج لقراءتها عند الطلب فقط؟

  • للقواعد العامة والتزام المشروع المستمر (تجنب npm، تشغيل الاختبارات دائماً) ← احفظها في CLAUDE.md.
  • للوثائق المرجعية والمهام التخصصية (دليل تنسيق الكود، خطوات النشر) ← احفظها كـ مهارة (Skill).
  • ولتسهيل تشغيل خطوات المهارة يدوياً بنقرة واحدة، أضف لها اسماً مسبوقاً بـ / لتستخدمها كـ أمر slash.

أربعة أسئلة بسيطة تبدأ بالاتصال بالخارج وتنتهي بالفرق بين القواعد العامة والوثائق المرجعية، وتقودك مباشرة للحل الأنسب.

💡 خلاصة سريعة: أسئلة تحديد الميزات - هل تتصل بالخارج؟ (MCP) ← هل تتطلب حظراً مؤكداً؟ (Hook) ← هل تتطلب عزلاً وتوازياً؟ (Subagent) ← هل تعمل طوال الوقت أم عند الطلب؟ (CLAUDE.md مقابل Skill).


05 مقارنة الحالات المتشابهة

دعنا نوضح الفروق بين الميزات المتشابهة التي يكثر الخلط بينها عند البدء بالعمل.

المهارة (Skill) مقابل الوكيل الفرعي (Subagent)

يكثر الخلط بينهما لإمكانية كتابة خطوات العمل وتفاصيل المهام في الخيارين. ولكن طريقة معالجة البيانات تختلف تماماً بينهما.

تشبيه: دليل الموظف مقابل الاستعانة بمستشار خارجي. المهارة هي بمثابة دليل أو مذكرات مرجعية يقرأها الموظف لتساعده في إنجاز عمله وتدخل تفاصيلها في ذاكرة عمله الحالية؛ والوكيل الفرعي هو مستشار خارجي تكلفه بالمهمة ليذهب ويبحث في ملفاته وذاكرته الخاصة ويعود لك بالنتائج والخلاصة فقط دون أن تتدخل في تفاصيل بحثه البرمجي.

الفرق الجوهري يكمن في طريقة معالجة مساحة السياق (الذاكرة):

المقارنةالمهارة (Skill)الوكيل الفرعي (Subagent)
طبيعة الأداةوثائق وخطوات عمل مرجعيةجلسة مستقلة بنوافذ سياق منفصلة
معالجة البياناتتُرسل وتُقرأ داخل الجلسة الرئيسيةتُعالج بالكامل داخل الجلسة المستقلة للوكيل
التأثير على ذاكرة المحادثةتستهلك جزءاً من ذاكرة المحادثة الحاليةمعزولة تماماً ولا تستهلك ذاكرة المحادثة الرئيسية
الاستخدام الأنسبأدلة العمل، وخطوات التنسيق، وتفاصيل القوانينقراءة وتصفح ملفات كثيرة بالتوازي، وطلب خلاصات

القاعدة الذهبية للاختيار: إذا كنت تريد دمج الخطوات في المحادثة الحالية فصمم مهارة (Skill), وإذا كنت تريد عزل العمليات الخلفية لتوفر الخلاصة فقط فاستعن بوكيل فرعي (Subagent). ويمكنك دمج الخيارين معاً - كتشغيل وكيل فرعي وتزويده بمهارة مخصصة ليتبع خطواتها أثناء عمله في الجلسة المعزولة.

ملف CLAUDE.md مقابل المهارة (Skill)

كلاهما يستخدم لحفظ التعليمات والتوصيات لـ Claude، والفرق يكمن في طريقة وموعد تحميل البيانات:

المقارنةملف CLAUDE.mdالمهارة (Skill)
موعد التحميلتلقائياً في بداية كل جلسة جديدةعند الحاجة إليها بتقدير Claude أو بالطلب المباشر
التفعيل اليدويلا تدعم التفعيل اليدويتدعم الاستدعاء المباشر بالاسم عبر /<name>
الاستخدام الأنسبالقواعد الأساسية والمستمرة للمشروعالوثائق المرجعية والمهام التخصصية لتوفير الذاكرة

القاعدة الذهبية للاختيار: القواعد العامة المستمرة تُكتب في CLAUDE.md (مع إبقاء حجمه تحت 200 سطر)، والتفاصيل والوثائق التخصصية تُحفظ كمهارات (Skills).

الخطافات (Hook) مقابل قواعد الصلاحيات

يكثر التساؤل حول الخيار الأنسب لحظر العمليات الخطيرة ومنع الوصول للملفات: هل نستخدم الخطافات أم قواعد الصلاحيات (مثل قواعد deny في ملف settings.json)؟

先说共性:两者都是「强制级」的硬约束,不靠 Claude 自觉——这点上它俩站一边,跟「写在 CLAUDE.md 里的请求」泾渭分明。

区别在「管的面有多宽、做的事有多杂」:

  • قواعد الصلاحيات: إعدادات تعلنية صريحة تحدد "هل يسمح بتشغيل هذه الأداة أو هذا الأمر أم لا". ككتابة قاعدة "deny": ["Bash(rm -rf *)"] في ملف settings.json لمنع أوامر الحذف الكلية. وهي ممتازة لعمليات الحظر المباشر (نعم أو لا).
  • الخطافات (Hooks): برمجيات تفاعلية تتيح تشغيل كود مخصص عند حدوث الحدث - وتتيح لك تنفيذ عمليات إضافية بجانب الحظر، ككتابة سجل أخطاء، أو إرسال رسالة تنبيه لـ Slack، أو تعديل خيارات الأمر تلقائياً قبل تشغيله. وهي مناسبة لعمليات الحظر التفاعلي المعقد وتعديل المعلمات.

القاعدة الذهبية للاختيار: لعمليات الحظر المباشر البسيطة استخدم قواعد الصلاحيات (Deny) لتسهيل العمل؛ ولعمليات الحظر المعقدة التي تتطلب تنفيذ مهام إضافية أو كتابة سجلات استخدم الخطافات (Hooks). ويعمل الخياران معاً بتكامل وانسجام.

💡 خلاصة سريعة: الفروق الجوهرية - المهارة تعمل في المحادثة الرئيسية والوكيل الفرعي يعمل في جلسة معزولة؛ ملف CLAUDE.md يُحمل دائماً والمهارات تُقرأ عند الطلب؛ قواعد الصلاحيات للحظر المباشر والخطافات للحظر التفاعلي المعقد.


06 تكامل الميزات: العمل المشترك وتعبئة الملحقات

لا تقتصر تهيئة المشاريع على اختيار ميزة واحدة وتجاهل البقية. فالمشاريع الكبيرة تعتمد على دمج وتكامل هذه الميزات معاً لتشكل نظام عمل متكامل.

يوضح الجدول التالي كيف تتكامل الميزات معاً لحل المشكلات:

تكامل الميزاتطريقة العمل المشتركمثال واقعي للاستخدام
المهارات + الـ MCPيربط الـ MCP بالخدمة الخارجية، وتوضح المهارة لـ Claude كيفية استخدامها بكفاءةربط قاعدة البيانات بالـ MCP، وكتابة مهارة توضح الجداول والعلاقات الأساسية لتسهيل الاستعلام
المهارات + الوكيل الفرعيتزويد الوكيل الفرعي بمهارة مخصصة ليتبع خطواتها في جلسته المعزولةتصميم مهارة لفحص الأكواد، وتكليف وكيل فرعي بتشغيلها لفحص الملفات بالتوازي
ملف CLAUDE.md + المهاراتكتابة القواعد العامة في ملف القواعد، ونقل التفاصيل لمهارات مستقلة لتوفير الذاكرةكتابة قاعدة "التزم بمعايير واجهات البرمجة" في CLAUDE.md ونقل وثائق المعايير لمهارة مخصصة
الخطافات + الـ MCPتشغيل خطاف عند حدث معين للاتصال بخدمة خارجية عبر الـ MCPتشغيل خطاف بعد تعديل الملفات البرمجية لإرسال رسالة تنبيه لـ Slack عبر الـ MCP

تأمل تكامل "المهارات مع الـ MCP": فالـ MCP يوفر الاتصال بقاعدة البيانات ولكنه لا يفهم الجداول والعلاقات؛ وتوضح المهارة لـ Claude أسماء الجداول وكيفية الاستعلام منها دون تشتيته. دمج الخيارين يضمن استعلاماً برمجياً دقيقاً وسريعاً.

وعند اكتمال تهيئة هذه الميزات وتكاملها، كيف تقوم بنقلها لمشروع آخر أو مشاركتها مع بقية المطورين؟ 答案是 Plugin(插件)——它是把这一切「打包带走」的那一层。

تجمع الملحقات (Plugins) المهارات والخطافات والـ MCP والوكلاء الفرعيين في حزمة واحدة قابلة للتركيب، مما يسهل تفعيلها في المشاريع الأخرى مباشرة بمجرد تركيب الملحق. وتدعم الملحقات عزل أسماء المهارات (namespaces) لمنع تعارض الأسماء المكررة (مثال: /my-plugin:review). وقمنا بشرح الملحقات بالتفصيل في المقال 24.

💡 خلاصة سريعة: تعتمد المشاريع الكبيرة على تكامل الميزات (مثل المهارات مع الـ MCP); ويمكن حزم وتجميع هذه الميزات في ملحق برمجي (Plugin) لتسهيل نقلها ومشاركتها.


07 تطبيق عملي: مراجعة وتوجيه الاحتياجات البرمجية

التعلم بالعمل يساعد على ترسيخ المفاهيم. سنقوم الآن بمراجعة مجموعة من الاحتياجات البرمجية الواقعية وتحديد الميزة الأنسب لكل منها. لا يتطلب هذا المثال تشغيل أوامر برمجية بل يعتمد على التفكير والتقييم لمساعدتك في بناء الذاكرة العضلية للاختيار.

الخطوة الأولى: قراءة قائمة الاحتياجات التالية بعناية

text
قائمة الاحتياجات المطلوب تحديد الميزة الأنسب لها:
A. نريد فرض معيار "استخدام pnpm دائماً ومنع استخدام npm" في جميع جلسات المشروع.
B. نريد منه الاتصال بقاعدة بيانات PostgreSQL الخارجية الخاصة بالشركة للاستعلام.
C. نريد تشغيل خطوات النشر البرمجي (إنشاء العلامة tag ← تحديث سجل التغييرات changelog ← الرفع) يدوياً بأمر سريع.
D. نريد فحص وتنسيق الملفات تلقائياً ببرنامج prettier بمجرد قيام Claude بتعديلها وحفظها.
E. نريد منه قراءة كافة الملفات في مجلد utils للبحث عن الدوال غير المستخدمة وتقديم الخلاصة فقط.
F. لدينا وثيقة طويلة لرموز الأخطاء البرمجية للمشروع، ويحتاج لقراءتها والرجوع إليها عند معالجة الأخطاء فقط.
G. نريد حظر ومنع تشغيل أوامر تعديل أو تحديث جداول قاعدة بيانات الإنتاج بشكل صارم وحتمي.

الخطوة الثانية: مراجعة شجرة القرارات ومحاولة تحديد الحل لكل حالة بنفسك وكتابته جانباً

تجنب قراءة الإجابات أدناه وحاول تحديد الحلول بنفسك بناءً على الأسئلة الأربعة لشجرة القرارات.

الخطوة الثالثة: مطابقة إجاباتك مع الحلول المعتمدة وتفاصيل الاختيار

الجدول التالي يعرض الإجابة الصحيحة وسبب اختيارها لكل حالة:

الحالةالميزة الصحيحةسبب الاختيار ومسار شجرة القرارات
A فرض استخدام pnpmCLAUDE.mdلا تتطلب اتصالاً بالخارج، ولا حظراً برمجياً صارماً، بل تمثل قاعدة عامة ومستمرة للمشروع يجب توفرها طوال الوقت.
B الاتصال بقاعدة البياناتبروتوكول MCPأول سؤال في شجرة القرارات: تتطلب الاتصال ببيانات وخدمات خارجية خارج ملفات المشروع.
C خطوات النشر يدوياًأوامر slashخطوات ومهام عمل متعددة تريد تشغيلها يدوياً عند الطلب، ويتم ربطها بمهارة مخصصة مسبوقة بـ /.
D التنسيق بعد التعديلالخطافات (Hook) (حدث PostToolUse)عملية آلية تعمل عند حدوث حدث معين (تعديل الملفات) ولا تتطلب تفكيراً أو تقييماً من الوكيل.
E فحص الدوال الميتةالوكيل الفرعي (Subagent)تتطلب قراءة ملفات كثيرة وتقديم خلاصة، ويُفضل عزلها لتجنب استهلاك ذاكرة المحادثة الرئيسية.
F وثيقة رموز الأخطاءالمهارات (Skill)وثيقة مرجعية يُرجع إليها عند الحاجة (عند معالجة الأخطاء)، ويُفضل عزلها كمهارة وتجنب كتابتها في CLAUDE.md.
G منع تعديل الجداولقواعد الصلاحيات / الخطافاتتتطلب حظراً صارماً ومؤكداً للعملية، وللحظر البسيط تعتبر قواعد الصلاحيات الخيار الأسهل.

تقييم إجاباتك: إذا نجحت في الفصل بين القواعد العامة (الملف A) والوثائق المرجعية (الملف F)، وميزت بين العمليات الآلية (الخطاف D) وعمليات الحظر (الخطاف G)، وحددت الوكيل الفرعي لعزل المهام (الوكيل E) - فهذا يعني أنك فهمت آليات عمل الميزات الستة بشكل ممتاز وأصبحت قادراً على اختيار المسار الصحيح لمشاريعك.

إذا تعثرت في بعض الحالات، يرجى مراجعة المقارنات التفصيلية الموضحة في القسم 05 لتجاوز اللبس.

💡 خلاصة سريعة: مراجعة الحالات عملياً ومطابقتها مع شجرة القرارات تساعد في ترسيخ آليات العمل وبناء الذاكرة العضلية للاختيار بشكل أفضل من قراءة المفاهيم النظرية فقط.


08 ملخص

أنهينا في هذا المقال دراسة أدوات وميزات التوسيع والربط لـ Claude Code، وقمنا بربط الاحتياجات بالحلول المناسبة لتسهيل العمل.

لنراجع النقاط الأساسية معاً:

حاجتك البرمجيةالميزة الأنسبتفاصيل هامة
"قواعد عامة يلتزم بها طوال الوقت"CLAUDE.mdقواعد مستمرة للمشروع، ويجب إبقاء حجم الملف أقل من 200 سطر لتوفير الذاكرة.
"وثائق مرجعية ومهام تخصصية عند الطلب"المهارات (Skill)مهارات ووثائق تُحمل وتُقرأ عند الحاجة فقط لتوفير ذاكرة المحادثة.
"الاتصال بالخدمات والبيانات الخارجية"بروتوكول MCPمنفذ ربط الوكيل بالخوادم وقواعد البيانات الخارجية.
"عزل المهام الخلفية وطلب الخلاصة فقط"الوكيل الفرعي (Subagent)جلسة معزولة بنوافذ سياق مستقلة تمنع امتلاء ذاكرة الجلسة الرئيسية.
"تنفيذ مهام تلقائية عند رصد أحداث معينة"الخطافات (Hook)برمجيات تعمل تلقائياً عند الأحداث (مثل بعد تعديل الملف) لتوفير حماية صارمة.
"حزم ومشاركة تهيئات المشروع للآخرين"الملحقات (Plugin)جمع المهارات والخطافات والـ MCP والوكلاء في حزمة واحدة سهلة النقل والتركيب.

يمكنك الآن: فحص الاحتياجات البرمجية وتحديد الميزة الأنسب لكل منها مباشرة، واستخدام شجرة القرارات والأسئلة الأربعة لتسهيل الاختيار، والتمييز بين الميزات المتشابهة لمنع الأخطاء الشائعة (مثل كتابة الوثائق الطويلة في CLAUDE.md بدلاً من المهارات)، ودمج الميزات معاً وحزمها في ملحقات برمجية (Plugins). هذا الفهم يضمن لك بناء وتنسيق مشاريعك البرمجية بأعلى كفاءة وأقل استهلاك للذاكرة والرموز.

بإتمام دراسة ميزات التوسيع، نكون قد أنهينا الجزء الرابع من السلسلة بنجاح.


المقال القادم سننتقل إلى الجزء الخامس والأخير وهو "تهيئة النظام وتحسين الأداء"، ونبدأ بمقال 31 "ملفات الإعدادات settings.json: الإعدادات الشخصية والمشاريع" - حيث سنوضح كيفية تنظيم وحفظ إعدادات وتفضيلات Claude Code، وتوضيح الفروق بين الإعدادات الشخصية المطبقة على جهازك وإعدادات المشاريع المطبقة للمستودع وكيفية ترتيبها وتفادي تعارض الخيارات البرمجية فيما بينها. سنشرح ذلك بالتفصيل في المقال القادم.


قراءات موصى بها