Agent Plugins 1.0: حزمة واحدة للـ skills والـ MCP
في 12 أغسطس 2026 أصبح Agent Plugins 1.0 متاحًا بشكل عام في VS Code و Copilot CLI و GitHub Copilot SDK وتطبيق Copilot، على جميع خطط Copilot. وفي 6 أغسطس أعلنت Google انضمامها كـ Core Maintainer إلى المواصفة نفسها، بعد أن نشرها مشرفون من Amazon و Cursor و Microsoft و OpenAI و Vercel. الخلاصة العملية: صار هناك تنسيق واحد لتغليف قدرات الوكلاء، بدل تنسيق مستقل لكل عميل.
المشكلة: المكوّنات محمولة، والغلاف لا
الـ skill في جوهرها ملف تعليمات نصي، وخادم MCP في جوهره عقد أدوات فوق transport معروف. كلاهما محايد تجاه العميل. الغلاف حولهما هو ما لم يكن محمولًا: كل عميل يفرض ترتيب مجلدات خاصًا، وملف manifest بصيغته، وموضعًا مختلفًا لإعدادات الخوادم. من أراد دعم أكثر من عميل كان ينسخ المستودع ويصون نسختين من مكوّنات لم تختلف في الأصل.
ما الذي تغيّر
المواصفة (الإصدار 1.0.0، وحالتها Working Draft) تعرّف الحد الأدنى فقط. في جذر الحزمة ملف plugin.json، وحقلاه المطلوبان اثنان لا غير: $schema الذي يشير إلى العنوان القانوني للمخطط، وname بطول 1 إلى 64 حرفًا من حروف لاتينية صغيرة وأرقام وشرطات ونقاط. ما عدا ذلك اختياري: version وdescription وauthor وrepository وlicense وkeywords.
المكوّنات في الإصدار الأول نوعان اثنان:
- Skills: تُكتشف تلقائيًا من مجلد
skills/، وكل مجلد فرعي فيه ملفSKILL.md. - خوادم MCP: تُعرَّف في
mcp.json، عبر stdio أو Streamable HTTP أو SSE القديم.
وما هو خاص بعميل بعينه يُعزل داخل مجلد يحمل اسم نطاق معكوس مثل com.github.copilot/، وله مقابل في الـ manifest تحت الحقل extensions. هكذا تبقى النواة مشتركة ويبقى الخاص خاصًا، داخل الحزمة نفسها.
مثال عملي
الحد الأدنى الصالح من الـ manifest:
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "reports-plugin",
"version": "1.0.0",
"description": "Report generation skills and data tools",
"license": "MIT"
}والبنية على القرص:
reports-plugin/
├── plugin.json # مطلوب
├── skills/
│ └── summarize/
│ └── SKILL.md
├── mcp.json # اختياري
└── com.github.copilot/ # خاص بعميل واحدوتعريف الخادم، مع الانتباه إلى أن المسارات النسبية داخل الحزمة يجب أن تبدأ بـ ./ وألا تخرج عن جذرها:
{
"mcpServers": {
"reports-db": {
"command": "./bin/reports-server",
"args": ["--read-only"],
"env": { "REPORTS_REGION": "eu-central-1" }
}
}
}تحفّظات واقعية
- الحالة Working Draft: الإصدار 1.0.0 منشور ومطبَّق، لكنه لم يُجمَّد بعد كصيغة نهائية، والتفاصيل قابلة للتعديل.
- نطاق ضيق عن قصد: المواصفة لا تعرّف آلية تثبيت، ولا بروتوكول توزيع، ولا نموذج أذونات. الثلاثة متروكة لكل عميل، ما يعني أن التوزيع والحوكمة يبقيان مختلفين من منصة لأخرى.
- الأمان مسؤوليتك: الحزمة قد تحمل hooks وخوادم MCP تُنفَّذ على جهازك. توثيق VS Code ينبّه صراحة إلى مراجعة الناشر قبل التثبيت، وعلى مستوى المنظمة يمكن ضبط
enabledPluginsوstrictKnownMarketplacesفيmanaged-settings.json. أما مصادقة الخوادم نفسها فهي شأن مواصفة MCP، وقد غطّيناها في تحديث المصادقة في MCP. - الحمولة الخاصة تبقى خاصة: مجلد
com.github.copilot/لن يفهمه عميل آخر. المحمول هو الغلاف والنواة، لا كل شيء داخل الحزمة. - توافق أمامي مضمون: الحقول غير المعروفة يجب ألا توقف التحميل، وهذا يسمح للمواصفة أن تتطور دون كسر الحزم القديمة.
الخلاصة
القيمة هنا ليست ميزة جديدة في الوكيل، بل عمل مكرر يختفي: مكوّن واحد، حزمة واحدة، عملاء متعددون. من يبني اليوم skills أو خوادم MCP، الخطوة العملية واضحة — أضف plugin.json مطابقًا للمخطط، وانقل المكوّنات إلى skills/ وmcp.json، واترك ما هو خاص بعميل داخل مجلد نطاقه. المعيار لا يستبدل من يبني الأدوات، لكنه يضاعف أثره حين يتوقف عن صيانة نسختين من الشيء ذاته.
المصدر الأساسي: مواصفة Agent Plugins 1.0، وإعلان GitHub.