Skip to content

الإضافات (Plugins): تجميع الإعدادات المتفرقة بنقرة واحدة

📚 التنقل في السلسلة: في المقال السابق [23 الوكلاء الفرعيون (Subagents)] تعلمت كيف تنشئ مساعدًا مخصصًا بنفسك. ولكن هل لاحظت مشكلة؟ subagent و command و skill و hook هي أدوات رائعة، لكنها مجرد "عناصر فردية يتم تكوينها كل على حدة". في هذا المقال سنتعلم كيف نجمعها في إضافة (plugin): التثبيت والإيقاف بنقرة واحدة، بل وحتى الحصول على حزم متكاملة جاهزة مباشرة من "متجر الإضافات".

يا رفاق، اليوم سنتحدث عن كيفية تجميع الإعدادات المتفرقة بنقرة واحدة. هل واجهت هذا السيناريو من قبل: لقد بذلت جهدًا كبيرًا في إعداد "subagent + hook + MCP" لفريقك، ثم في يوم ما انضم زميل جديد، فقضيت نصف ساعة تشرح له: "هذا الملف تضعه في agents/، وهذا الـ hook تضيفه في settings.json، أوه لا تنسَ .mcp.json أيضًا" - وبعد الانتهاء تكتشف أنه لا يزال قد نسي مكانًا ما، وأن بيئته لا تعمل مثل بيئتك. هذه ليست مشكلة شخص بعينه، بل هذه هي طبيعة إدارة العناصر المتفرقة: كلما كانت الإعدادات مشتتة، زادت احتمالية نسيانها عند الشرح الشفهي.

انظر إلى ما جمعته في المقالات السابقة: في المقال 18 كتبنا CLAUDE.md، وفي 22 قمنا بإعداد MCP server، وفي 23 أنشأنا subagent، وتخلل ذلك skill و hook. كل أداة منها مفيدة بمفردها، لكنها جميعًا متفرقة - الـ subagent في agents/، والـ hook مكتوب في settings.json، والـ MCP مكون في .mcp.json، متفرقة عبر عدة ملفات.

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

ببساطة، الإضافات هي إجابة Claude Code الرسمية على هذه المشكلة: تجميع commands و subagents و skills و hooks و MCP server المتناثرة في حزمة واحدة يمكن توزيعها ككل، وتشغيلها أو إيقافها بنقرة واحدة. في هذا المقال سنشرح بالتفصيل "ما هي الإضافات، كيف تحصل على الجاهز منها من المتجر، وكيف تديرها".

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

  • فهم دقيق لما يتم تجميعه في الإضافة، وكيف تختار بينها وبين "الإعدادات المتفرقة"، موضحًا في جدول واحد.
  • منطق "متجر الإضافات (marketplace)" ذو الخطوتين: إضافة المتجر أولاً، ثم تثبيت الإضافة، مع أوامر جاهزة للنسخ والاستخدام.
  • تجربة عملية لتثبيت إضافة من المتجر التجريبي الرسمي، والتحقق من الأوامر التي توفرها، مع توضيح المخرجات المتوقعة في كل خطوة.
  • شكل مجلد الإضافات (plugin.json + مجلدات المكونات)، لتتمكن من ترتيب ملفاتك إذا أردت تجميعها بنفسك.
  • "اختبار الثقة" الذي يجب اجتيازه قبل تثبيت أي إضافة تابعة لجهة خارجية، لتجنب التعامل مع الإضافات الغريبة وكأنها برامج غير ضارة.

01 افهم أولاً: ما هي الإضافة بالضبط

الخلاصة أولاً: الإضافة هي "مجلد مستقل بذاته" يجمع الامتدادات التي تعلمتها سابقًا (skill و subagent و hook و command و MCP server) معًا، لتتمكن من تثبيتها وإيقافها وتوزيعها كوحدة واحدة.

لماذا نحتاجها؟ لأن الإعدادات المتفرقة تعاني من ثلاث نقاط ضعف لا مفر منها: صعوبة إعادة الاستخدام عبر المشاريع، مشاركتها مع الفريق تعتمد على الجهد اليدوي، ولا يمكن تتبع تحديثات إصداراتها. إذا قمت بإعداد subagent مع hook في أحد المشاريع، وأردت نقله إلى مشروع آخر، فالطريقة الوحيدة هي النسخ واللصق يدويًا؛ وإذا أردت مشاركته مع زميل، فعليك أن تشرح له مكان وضع كل ملف بوضوح. الإضافة تضع هذه المجموعة بأكملها "في صندوق واحد"، يكفي أن تنقل الصندوق بأكمله أو تسلمه لغيرك.

توضيح: متجر إضافات المتصفح. إذا أردت إضافة مانع إعلانات، ومترجم، وأداة التقاط شاشة لمتصفح Chrome - فلن تحتاج إلى كتابة الكود بنفسك أو تعديل الإعدادات، بل ستذهب إلى متجر الإضافات وتنقر "تثبيت"، وستحصل على الوظيفة كاملة، وإذا لم تعد تريدها تنقر "إزالة" وسيتم إلغاء تثبيتها بالكامل. هذا هو منطق إضافات Claude Code: تصفح المتجر، وقم بتثبيت مجموعة من الميزات بنقرة واحدة، دون الحاجة إلى تكوين كل أداة يدويًا؛ فهي تحول الامتدادات المتناثرة عبر ملفات متعددة إلى عنصر في المتجر يمكن "تثبيته/إزالته" مباشرة.

تشرح الوثائق الرسمية بوضوح متى تختار "الإضافة" ومتى تختار "الإعدادات المتفرقة"، وقد لخصتها لك في هذا الجدول:

البعدالإعدادات المتفرقة (مجلد .claude/)الإضافة (plugin)
الأنسب لـالاستخدام الشخصي في مشروع واحد، سير العمل الشخصي، التجارب السريعةالمشاركة مع الفريق/المجتمع، إعادة الاستخدام عبر المشاريع، الإصدارات المنشورة
كيفية المشاركةنسخ الملفات يدويًا للآخرينعبر المتجر، ليقوم الآخرون بتثبيتها بنقرة واحدة باستخدام /plugin install
اسم الـ skillقصير، مثل /helloيحتوي على مساحة اسم (namespace)، مثل /my-plugin:hello
دعم إدارة الإصداراتلا، لن يتم إعلام المستخدمين بالتعديلاتنعم، سيتلقى المستخدمون التحديثات فقط عند تحديد رقم الإصدار

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

هناك نقطة يكثر فيها التباس المبتدئين ويجب توضيحها أولاً: اسم الـ skill داخل الإضافة يحتوي دائمًا على "مساحة اسم (namespace)". إذا كتبت skill باسم hello داخل إضافة اسمها my-plugin، فلن تقوم باستدعائه بـ /hello، بل بـ /my-plugin:hello.

💡 ملخص في جملة: الإضافة هي تجميع لـ skill و subagent و hook و command و MCP server في صندوق يمكن تثبيته وإزالته بالكامل؛ استخدم الإعدادات المتفرقة للاستخدام الشخصي، وقم بتحزيمها في إضافة فقط للمشاركة وإعادة الاستخدام والتحديث.


02 لماذا التجميع في حزمة أفضل من الإعدادات المتفرقة

في القسم السابق شرحنا "ما هو"، وفي هذا القسم سنوضح "لماذا يستحق العناء" - لأنك بمعرفتك للمفهوم فقط قد تظل تعتقد أن "نسخ بعض الملفات يدويًا ليس بالأمر المتعب".

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

أولاً، إعادة الاستخدام عبر المشاريع. افترض أن لديك دائمًا إعدادات جاهزة لـ "سير عمل التزامات git (git commit workflow)" - عبارة عن skill لإنشاء رسائل التزام (commit messages) قياسية، و hook لتشغيل الفحص (lint) تلقائيًا قبل الالتزام. في البداية كانت هذه الإعدادات متفرقة، وعند الانتقال إلى مشروع جديد كان عليك نسخها واحدًا تلو الآخر في skills/ وتلك القطعة في settings.json. وبمجرد أن تنسى نسخ قطعة الـ hook، فلن يتم تشغيل الـ lint قبل الالتزام في المشروع الجديد، وقد يتسلل خطأ في التنسيق. بعد تحزيمها في إضافة، يكفي استخدام الأمر /plugin install في المشروع الجديد ليصبح كل شيء جاهزًا، ولن تنسى أي شيء بعد الآن.

ثانيًا، مشاركة الفريق. مشاركة الإعدادات المتفرقة مع الزملاء تعتمد أساسًا على أن تقول: "انسخ هذا المجلد، وضعه في .claude/agents/، ثم تذكر إضافة هذا الـ hook إلى الإعدادات (settings)" - تعليمات شفهية غالبًا ما يخطئ الطرف الآخر في تطبيقها. أما الإضافات فمختلفة: يمكنك نشرها في متجر (حتى لو كان مستودعًا خاصًا داخليًا في الشركة)، ويقوم زميلك بتثبيتها بأمر واحد، لتكون الإعدادات متطابقة تمامًا، ولا مجال لمشكلة "إنها تعمل عندي ولكن ليس عندك".

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

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

قارن بين الإعدادات المتفرقة والإضافات في هذه الأمور الثلاثة:

ما تريد فعله❌ الإعدادات المتفرقة✅ الإضافة
النقل لمشروع جديدنسخ كل ملف يدويًا، سهل النسيانأمر واحد /plugin install
مشاركته مع الزملاءالشرح الشفهي لمكان وضع الملف وكيفية تكوينهنشره في المتجر، وتثبيته بأمر واحد
إرسال التحديثاتلا يمكن التنبيه، تعتمد على النداء اليدويبرقم إصدار، وتحديث آلي/يدوي للمستخدم

بصراحة، في الاستخدام الفردي لمشروع واحد، قد لا تشعر بفائدة الإضافات كثيرًا؛ ولكن بمجرد أن يزداد عدد الأشخاص والمشاريع، ستبدأ الإعدادات المتفرقة في التسبب بالتأخير. أنا شخصيًا لم أنتقل تمامًا إلى الإضافات إلا بعد أن بدأت في إدارة فريق - من قبل، لتجهيز بيئة للموظفين الجدد، كان علي الجلوس معهم وتوجيههم على الشاشة ملفًا بملف "هذا يذهب إلى agents/، وذاك الـ hook يضاف إلى settings"، مما يستغرق نصف الصباح، وغالبًا ما ينسون مكانًا ما؛ أما بعد تحزيمها كإضافة في المستودع الداخلي، ينفذ الموظف الجديد أمرًا واحدًا لتتطابق إعداداته مع إعداداتي، ولم تحدث مشكلة "إنه يعمل عندي ولا يعمل عندك" مرة أخرى.

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


03 متجر الإضافات: أضف "المتجر" أولاً، ثم ثبت "التطبيق"

بعد أن عرفنا ما هي الإضافة، السؤال التالي هو: من أين أحصل على الإضافات الجاهزة التي صنعها الآخرون؟ الإجابة هي "متجر الإضافات (marketplace)".

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

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

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

إذا فهمت هذه "الخطوتين" جيدًا، فستصبح الأوامر التالية منطقية تمامًا. لنبدأ بإضافة المتجر - هناك عدة مصادر رسمية، وأكثرها استخدامًا هو الإضافة من GitHub:

text
/plugin marketplace add owner/repo

استبدل owner/repo باسم مستودع GitHub الفعلي (مثلاً المتجر التجريبي الرسمي هو anthropics/claude-code). بالإضافة إلى GitHub، يمكن إضافة المتجر من عنوان Git (مثل GitLab أو Bitbucket أو الاستضافة الذاتية)، أو من مسار محلي، أو من عنوان URL عن بُعد؛ الصيغ مذكورة في الوثائق الرسمية، ويكفي للمبتدئين تذكر طريقة GitHub كأكثر الطرق شيوعًا.

بعد إضافة المتجر، استخدم هذا الأمر لتثبيت الإضافة:

text
/plugin install plugin-name@marketplace-name

بعد رمز @ يأتي اسم المتجر، ويعني "تثبيت هذه الإضافة من هذا المتجر". مثلاً، لتثبيت دمج GitHub من المتجر الرسمي:

text
/plugin install github@claude-plugins-official

هنا يجب التنويه بشكل خاص إلى المتجر الرسمي المدمج: claude-plugins-official. لا تحتاج إلى إضافته يدويًا - فهو موجود بمجرد تشغيل Claude Code، ويحتوي على مجموعة مختارة من الإضافات من Anthropic (عمليات دمج خارجية مثل GitHub و GitLab و Slack و Figma و Sentry، بالإضافة إلى إضافات LSP لذكاء الكود، وإضافات المراجعة الأمنية، وغيرها). لذلك إذا أردت تثبيت إضافة رسمية، فتخط خطوة "إضافة المتجر" واستخدم أمر install مباشرة.

💡 ملخص في جملة: استخدام المتجر يعتمد دائمًا على خطوتين "إضافة المتجر أولاً، ثم تثبيت الإضافة" - /plugin marketplace add لإضافة الرفوف، و /plugin install xxx@اسم المتجر لتقديم الطلب؛ فقط المتجر الرسمي claude-plugins-official مدمج وجاهز للاستخدام مباشرة.


04 ما هي أسواق الإضافات الثلاثة وفيما تستخدم

في القسم السابق ظهرت عدة أسماء لأسواق (متاجر)، مما يسهل اختلاطها على المبتدئين. في هذا القسم سنوضح المتاجر الثلاثة التي تديرها الجهات الرسمية، لتعرف كل منها بمجرد رؤية اسمه.

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

المتجرأمر إضافتهالتوجهالمحتوى
claude-plugins-official (الرسمي)مدمج، لا حاجة لإضافتهمختارات رسميةإضافات اختارتها Anthropic، هي الأكثر استقرارًا
claude-community (المجتمع)/plugin marketplace add anthropics/claude-plugins-communityمقدم من أطراف خارجية واجتاز فحصًا تلقائيًاإضافات ساهم بها المجتمع، كل إضافة مثبتة على التزام (commit) محدد
claude-code-plugins (التجريبي)/plugin marketplace add anthropics/claude-codeأمثلة مقدمة رسميًانماذج توضح قدرات نظام الإضافات

إليك بعض النقاط الرئيسية:

المتجر الرسمي هو الأكثر استقرارًا ولكنه غير مفتوح للطلبات. تقرر Anthropic بنفسها الإضافات التي تدرجها، والمحتويات فيه مختارة بعناية، وهو الأقل احتمالاً للتسبب بمشاكل. الإضافات الأساسية التي تحتاجها يوميًا - مثل دمج GitHub، و LSP للغات المختلفة، والمراجعة الأمنية - موجودة هنا بشكل أساسي.

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

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

ترتيب الاستخدام المقترح: أعطِ الأولوية للمتجر الرسمي، وإذا لم تجد ما تريده، فابحث في متجر المجتمع، وتأكد من الصفحة الرئيسية والأذونات المطلوبة قبل التثبيت. يُستخدم المتجر التجريبي عادةً للتعليم أو التجربة - هدفه أن يكون نموذجًا، وليس إضافة للاستخدام الإنتاجي اليومي.

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


05 ماذا يتم إدراجه فعليًا عند تثبيت إضافة

بمجرد كتابة /plugin install، ما الذي يدخل بيئتك فعليًا؟ سنشرح ذلك في هذا القسم لتجنب الحيرة والشعور بـ "ماذا بعد، كيف أستخدمها" بعد التثبيت.

قد تجلب الإضافة عدة أنواع من المكونات، و"طريقة تشغيل" كل نوع تختلف عن الآخر، وهذا هو المهم:

المكونكيف أستخدمه بعد التثبيت
Skills / Commandsيصبح أمرًا بمساحة اسم مثل /اسم_الإضافة:اسم_الـskill، يمكنك كتابته يدويًا أو يستدعيه Claude تلقائيًا
Subagentsيظهر في قائمة /agents، يعينه Claude للمهام تلقائيًا أو يمكنك اختياره يدويًا
Hooksيعمل تلقائيًا عند وقوع الحدث المناسب (مثل بعد تعديل ملف)، دون الحاجة لتدخل منك
MCP serverيعمل تلقائيًا، وتُدمج أدواته في صندوق أدوات Claude ليستخدمها مباشرة
LSP serverيوفر ذكاء كود في الوقت الفعلي لـ Claude (الانتقال للتعريف، فحص المراجع، التنبيه الفوري بالأخطاء)، ويتطلب تثبيت خادم اللغة كلغة ثنائية منفصلة

هل لاحظت؟ بعضها يحتاج "لاستدعاء منك" (skill، الأمر)، وبعضها "يعمل تلقائيًا" (hook، MCP، LSP). لذلك بعد تثبيت إضافة، يجب أن تعرف ما هي المكونات التي جلبتها لتعرف كيف تستخدمها.

الخبر الجيد هو أن الإصدار الجديد من Claude Code يوضح لك ذلك قبل التثبيت. عندما تفتح تفاصيل الإضافة في واجهة /plugin، ستجد قسم "سيتم التثبيت (Will install)"، يعرض الـ commands والـ agents والـ skills والـ hooks والـ MCP و LSP server التي تأتي مع الإضافة؛ بالإضافة إلى تقدير "تكلفة السياق (Context cost)" - ليخبرك بالكمية التقريبية من الـ token التي ستستهلكها الإضافة من نافذة السياق الخاصة بك في كل محادثة.

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

وهناك تفصيل آخر: بعد تثبيت الإضافة، تذكر تنفيذ أمر /reload-plugins لتفعيلها، دون الحاجة لإعادة تشغيل Claude Code. لتثبيت أو إيقاف أو تفعيل إضافة في منتصف المحادثة، استخدم هذا الأمر للتحديث:

text
/reload-plugins

بعد تنفيذه، سيخبرك بعدد الإضافات، الـ skills، الـ agents، الـ hooks، إضافات MCP server، و LSP server المحملة حاليًا.

💡 ملخص في جملة: مكونات الإضافة تنقسم إلى ما "تستدعيه أنت" (skill/الأمر) وما "يعمل تلقائيًا" (hook/MCP/LSP)؛ قبل التثبيت افحص قائمة "سيتم التثبيت" وتكلفة السياق في تفاصيل الإضافة، وبعد التثبيت فعلها بـ /reload-plugins.

خطوات متجر الإضافات وأنواع مكونات الإضافة الخمسة

تجمع هذه الصورة مساري هذا المقال معًا: على اليسار سير عمل "إضافة متجر → تثبيت إضافة" بخطوتيه، وعلى اليمين مكونات صندوق الإضافة الخمسة (skill، subagent، hook، MCP server، LSP server)، وموضح بها ما إذا كانت من نوع "تستدعيه أنت" أو "يعمل تلقائيًا" بعد التثبيت.


06 تجربة عملية: إضافة متجر، تثبيت إضافة، وتشغيلها

التعلم بالنظر لا يكفي. سأقودك الآن خطوة بخطوة من إضافة المتجر التجريبي الرسمي، إلى تثبيت إضافة حقيقية، وتنفيذ الأوامر التي توفرها، وبدون الاعتماد على بيئات معقدة، فقط اتبع التعليمات. سنقوم بتثبيت commit-commands المذكورة في الوثائق الرسمية - وهي إضافة تضيف skill إلى سير عمل git.

الخطوة الأولى: تشغيل Claude Code وإضافة المتجر التجريبي

شغل Claude Code في أي مجلد:

bash
claude

داخل التطبيق، اكتب (هذه هي الخطوة الأولى من الـ "خطوتين" - إضافة المتجر):

text
/plugin marketplace add anthropics/claude-code

المتوقع: سيقوم Claude Code بتنزيل مجلد هذا المتجر، ويُعلمك بنجاح إضافة المتجر. الآن أصبحت "الرفوف" جاهزة، ولكن لم يتم تثبيت أي إضافة بعد.

الخطوة الثانية: فتح مدير الإضافات وتصفحه

اكتب:

text
/plugin

المتوقع: ستظهر واجهة بأربع علامات تبويب - اكتشاف (Discover) / مثبتة (Installed) / المتجر (Marketplaces) / الأخطاء (Errors)، ويمكنك التنقل بينها بمفتاح Tab (أو Shift+Tab للرجوع). انتقل إلى علامة التبويب "اكتشاف"، لترى الإضافات النموذجية في المتجر التجريبي الذي أضفته للتو. إذا رأيت commit-commands في القائمة، فهذا يعني أن المتجر أُضيف بنجاح.

الخطوة الثالثة: تثبيت إضافة commit-commands

يمكنك النقر عليها في الواجهة لاختيار نطاق التثبيت، أو التثبيت المباشر عبر سطر الأوامر (وهذه هي الخطوة الثانية من الـ "خطوتين"):

text
/plugin install commit-commands@claude-code-plugins

لاحظ أن الكلمة بعد @ هي claude-code-plugins - وهو الاسم الداخلي لهذا المتجر التجريبي (وليس anthropics/claude-code الذي استخدمته عند إضافة المتجر، فذلك عنوان المستودع). سيطلب منك عند التثبيت تحديد النطاق:

  • نطاق المستخدم (User scope) (افتراضي): متاح لك للاستخدام في جميع مشاريعك
  • نطاق المشروع (Project scope): يُثبت في .claude/settings.json، ومتاح لجميع المتعاونين في هذا المستودع
  • نطاق محلي (Local scope): متاح لك فقط وفي هذا المستودع فقط

اختر "نطاق المستخدم" الافتراضي في الوقت الحالي.

المتوقع: تنبيه في الطرفية بنجاح تثبيت الإضافة، وقد يُدرج أيضًا التبعيات التي تم تثبيتها تلقائيًا معها.

الخطوة الرابعة: تفعيل الإضافة ورؤية أوامرها

text
/reload-plugins

المتوقع: يقوم Claude Code بإعادة التحميل، ويطبع عدد الإضافات، والـ skills، والـ agents، والـ hooks، والـ MCP server والـ LSP server المحملة حاليًا. ولأن الـ skill الخاصة بـ commit-commands تحتوي على مساحة اسم، فسوف توفر أمرًا مثل /commit-commands:commit.

الخطوة الخامسة: الاستخدام الفعلي - راقب الـ skill الخاصة بالإضافة وهي تعمل

قم بإجراء تغيير بسيط في المجلد الحالي (مثل إنشاء ملف نصي جديد)، ثم اكتب:

text
/commit-commands:commit

المتوقع: ستقوم هذه الـ skill بتجهيز (stage) التغييرات، وإنشاء رسالة التزام (commit message)، ثم إنشاء الالتزام (commit). عندما تراها تكمل سير عمل git بالكامل، فهذا يعني أن الإضافة لم تُثبت فحسب، بل أن الـ skill المرفقة معها تعمل فعلاً - وهذه هي التجربة الكاملة لـ "تثبيت إضافة والحصول على سير عمل جاهز مجانًا".

⚠️ إذا كتبت /commit-commands:commit في الخطوة الخامسة وظهرت لك رسالة "لم يتم العثور على الأمر"، فتأكد أولاً أنك قمت بتنفيذ /reload-plugins في الخطوة الرابعة؛ إذا استمرت المشكلة، استخدم /plugin وادخل إلى علامة تبويب "الأخطاء" لمعرفة المشكلة.

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

💡 ملخص في جملة: إضافة المتجر (marketplace add) → تثبيت الإضافة (install) → التفعيل (/reload-plugins) → الاستخدام عبر أوامر مساحة الاسم - أن تطبق commit-commands بيديك يغنيك عن حفظ عشرة أوامر.


07 هل تريد التجميع بنفسك؟ تعرف أولاً على هيكل الإضافة

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

تتكون الإضافة أساسًا من قسمين: ملف "الهوية" + مجلدات المكونات.

الهوية تتمثل في ملف .claude-plugin/plugin.json، والذي يعرّف اسم الإضافة ووصفها وإصدارها:

json
{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0"
}

يُعد حقل name الأهم - لأنه سيكون بادئة مساحة الاسم (namespace) للـ skill. ستتحول الـ skill في هذه الإضافة إلى /my-first-plugin:xxx. حقل version اختياري، ولكن بتعيين رقم إصدار فقط سيتلقى المستخدمون التحديثات، لذا تذكر زيادة رقم الإصدار عند نشر أي تحديث.

أما مجلدات المكونات، فتُوضع في الدليل الجذري (root) للإضافة، مجمعة حسب النوع. لقد قمت بترتيب اصطلاحات المجلدات الرسمية في هذا الجدول ليسهل اتباعها:

ما تريد إضافتهأين تضعه
skillskills/<الاسم>/SKILL.md
subagentagents/
hookhooks/hooks.json
MCP server.mcp.json في الدليل الجذري
LSP server.lsp.json في الدليل الجذري

سيبدو شكل الإضافة كالتالي:

text
my-first-plugin/
├── .claude-plugin/
│   └── plugin.json        ← ملف الهوية، هو الوحيد الذي يوضع هنا
├── skills/
│   └── hello/
│       └── SKILL.md
├── agents/
│   └── reviewer.md
└── hooks/
    └── hooks.json

وهنا نصل إلى مطب يؤكد عليه المسؤولون دائمًا ويقع فيه المبتدئون حتمًا، وقد وضعته لك بوضوح:

خطأ شائع: لا تضع مجلدات commands/، agents/، skills/ أو hooks/ داخل مجلد .claude-plugin/. يجب أن يكون ملف plugin.json هو الوحيد داخل .claude-plugin/. جميع المجلدات الأخرى يجب أن تكون في مستوى جذر الإضافة.

بمعنى آخر: لا تسمح بوضع أي شيء في مجلد .claude-plugin/ سوى plugin.json فقط، وتُوضع جميع مجلدات المكونات الأخرى في الدليل الجذري للإضافة، بنفس مستوى .claude-plugin/. لقد وقعت في هذا الخطأ عند أول تجميع لي - للتبسيط وضعت مجلد skills/ داخل .claude-plugin/، ورغم أن الإضافة حُملت بنجاح ولم يظهر أمر /reload-plugins أي خطأ، إلا أن الـ skill لم تظهر أبدًا. دققت في plugin.json، وكان الاسم والإصدار ومساحة الاسم كلها صحيحة، وأخيرًا أدركت أن المجلد كان في المكان الخطأ. بمجرد نقله ليكون بنفس مستوى plugin.json، تم حل المشكلة فورًا.

ربما لاحظت أن هيكل المجلدات هذا يشبه تقريبًا ما تحدثنا عنه في المقال 13 حول بنية مشروع .claude/، وفي المقال 23 عن agents/، والمقال 22 عن .mcp.json. هذه ليست مصادفة - الإضافة في جوهرها هي "ترتيب الإعدادات المنتشرة في أنحاء .claude/ ضمن مجلد مستقل بنفس التنسيق". ولهذا يقول المطورون أن الإعدادات المتفرقة يمكن "تحويلها إلى إضافة"، لأن التنسيقات متوافقة، ويكفي نقلها.

وإذا أردت تجربة ما قمت بتجميعه، وفرت الوثائق الرسمية طريقة سريعة لتجنب تثبيت المتجر - من خلال بدء التشغيل باستخدام --plugin-dir لتحميل مجلد الإضافة المحلي مباشرة:

bash
claude --plugin-dir ./my-first-plugin

تُخصص هذه العلامة لغرض التطوير والاختبار، حيث يمكنك إجراء تعديلات على الإضافة وتشغيل /reload-plugins لمعاينة التغييرات، دون المرور بعملية النشر الطويلة عبر المتجر.

💡 ملخص في جملة: الإضافة = .claude-plugin/plugin.json (ملف الهوية، ويحدد name مساحة الاسم) + مجلدات المكونات في الدليل الجذري؛ احفظ هذه القاعدة الأساسية: لا يُوضع في .claude-plugin/ سوى plugin.json، وجميع المجلدات الأخرى تُوضع في الدليل الجذري.


08 تثبيت إضافات الطرف الثالث: اجتز "اختبار الثقة" أولاً

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

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

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

ماذا يعني ذلك؟ قد تحتوي الإضافة على hook (ينفذ سكربتات تلقائية)، ومخدم MCP server (برنامج يعمل تلقائيًا)، وملفات تنفيذية داخل مجلد bin/. بمجرد تثبيتها وتفعيلها، ستبدأ هذه العناصر بالعمل بصلاحياتك - لتتمكن من قراءة ملفاتك، والاتصال بالإنترنت، وتنفيذ الأوامر، ومستوى صلاحياتها يعادل صلاحياتك عند كتابة الأوامر بنفسك. تثبيت إضافة مجهولة المصدر يشبه تمامًا السماح بتشغيل سكربت لشخص غريب على جهازك مباشرة.

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

لذلك، أقدم لك ثلاثة "فحوصات ذاتية" قبل تثبيت الإضافات التابعة لجهات خارجية، وتستحق أن تعتبرها كقواعد صارمة:

الفحصكيف تنفذه
هل المصدر موثوق؟فضل المتجر الرسمي؛ وبالنسبة لمتجر المجتمع افحص المؤلف والصفحة الرئيسية؛ أما المستودعات الشخصية المجهولة، فلا تثبتها إن لم تكن متأكدًا
ما الذي تتضمنه؟افحص قسم "سيتم التثبيت (Will install)" في تفاصيل /plugin للتأكد من احتوائها على hook / MCP / ملفات تنفيذية أم لا
إلى أين يمتد نطاقها؟إذا كنت مترددًا، جرب "النطاق المحلي" أولاً، وتجنب البدء بـ "نطاق المستخدم" لجميع مشاريعك

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

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

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


09 الخلاصة

في هذا المقال قمنا بتفصيل "الإضافات (Plugins)" في Claude Code من الجانب المفاهيمي إلى التطبيق العملي - وجوهرها هو جمع الأجزاء المتفرقة التي تعلمتها سابقًا في صندوق يمكن تثبيته وتوزيعه وتحديثه كوحدة واحدة.

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

ما ستفعلهماذا تستخدمنقطة التركيز
فهم ماهية الإضافةplugin = صندوق للإعدادات المتفرقةتجمع skill/subagent/hook/MCP/LSP، المتفرقة للاستخدام الشخصي، وصندوق للمشاركة
أخذ إضافات الغيرمتجر الإضافاتخطوتان: marketplace add لإضافة المتجر → install لتثبيت الإضافة
التعرف على المتجرثلاثة متاجر رسميةالرسمي المدمج للأكثر استقرارًا، والمجتمع للبحث، والتجريبي للتعلم
تفعيل الإضافة/reload-pluginsيُستخدم لتحديث الحالة بعد التثبيت/التوقف في المنتصف، دون الحاجة لإعادة التشغيل
معرفة محتوى الإضافةتفاصيل واجهة /pluginقائمة "سيتم التثبيت (Will install)" + تكلفة السياق، تُراجع قبل التثبيت
التجميع الذاتيplugin.json + مجلدات المكوناتتوضع plugin.json فقط في .claude-plugin/
تثبيت إضافة خارجيةفحوصات الثقةقد تنفذ كودًا عشوائيًا، التثبيت فقط من مصادر موثوقة

أنت قادر الآن على: أن تفهم الفارق بين الإضافة والإعدادات المتفرقة وكيفية اختيارهما، واستخدام مسار "إضافة متجر → تثبيت إضافة → /reload-plugins" للاستفادة من الميزات الجاهزة، وقراءة قائمة "سيتم التثبيت" و"تكلفة السياق" في تفاصيل الإضافة، ومعرفة شكل بنية الإضافة، والتأكد من اجتياز فحوصات الأمان قبل التثبيت من مصادر خارجية. هذه المهارات تغنيك عن بناء كل شيء من الصفر - فصناديق الأدوات الجاهزة من المتجر متوفرة لخدمتك.

انطلاقًا من المقال 18 وحتى هنا، قمت باستكمال "صندوق الأدوات الإضافية" الخاص بـ Claude Code: CLAUDE.md، الـ MCP، الـ subagent، الـ skill، الـ hook، وأخيرًا الإضافات كأداة لتوحيدها وإدارتها. هكذا تكون قد جمعت كل الأدوات التي تحتاجها.


المقال التالي 25 "نظام الذاكرة (memory)" - لقد جمعنا كل الأدوات، ولكن هل لاحظت شيئًا مزعجًا: في كل محادثة جديدة يبدأ Claude وكأنه ورقة بيضاء، وينسى فورًا تفضيلاتك السابقة والحقائق المتعلقة بمشروعك؟ في المقال القادم سنتحدث عن كيف تجعل Claude "يتذكرك" بين المحادثات - يتذكر التقنيات المفضلة لديك، والقواعد الصارمة للمشروع، بحيث لا تضطر إلى توضيحها مرارًا وتكرارًا في كل مرة. فكر بالأمر: إذا كان قادرًا على التصرف مثل زميل قديم يعرف أسلوبك بمجرد أن تتحدث، أليس ذلك مريحًا إلى أبعد الحدود؟


القراءة المقترحة