Log in to leave a comment
No posts yet
عند استخدام أدوات البرمجة المدعومة بالذكاء الاصطناعي، ستصل حتماً إلى نقطة اصطدام. وهي اللحظة التي تجد فيها نفسك تكرر شرح نفس دليل التنسيق (Style Guide) في كل مرة، أو تطلب كتابة كود الاختبار مراراً وتكراراً حتى يكل لسانك. كلما طال الحوار، يقع الذكاء الاصطناعي في حالة من تلوث السياق (Context Contamination)، حيث يبدأ بنسيان الإرشادات الأولية. هذا ليس مجرد أمر مزعج، بل هو خسارة واضحة تستهلك موارد التطوير.
لحل هذه المشكلة، قدمت شركة Anthropic مفهوم المهارات (Skills) في Claude Code. الأمر يتجاوز مجرد كتابة مطالبات (Prompts) جيدة؛ إنه يتعلق بإنشاء وكلاء ذاتيين يقومون بتحميل حزم المعرفة المتخصصة تلقائياً في مواقف معينة. تعرف الآن على استراتيجية تصميم المهارات بمستوى "سينيور" التي تختصر وقت التطوير بنسبة تزيد عن 50%.
يعتمد نجاح المهارة أو فشلها على متى يتم تنفيذها. يقرأ Claude Code بيانات YAML الموجودة في الجزء العلوي من ملف SKILL.md لتقرير ما إذا كانت هذه المهارة مطلوبة للمهمة الحالية. إذا استخدمت تعبيرات غامضة هنا، فسوف يهدر الوكيل الموارد في مواقف غير مناسبة.
تنبيه: يمنع استخدام علامات XML داخل إعدادات YAML لدواعي أمنية، ويجب أن يلتزم اسم المهارة بتنسيق kebab-case لضمان العمل بشكل صحيح.
إن حشو كل المعلومات دفعة واحدة هو استراتيجية ضعيفة. يجب تصميم هيكل طبقي يكشف المعلومات تدريجياً لتعظيم قدرة Claude على الاستنتاج.
عند بدء الجلسة، يلقي Claude نظرة سريعة على اسم المهارة ووصفها فقط. تستهلك هذه المرحلة حوالي 30 إلى 50 توكين لكل مهارة، وهي مخصصة فقط لتقييم مدى ملاءمة المهارة للوضع الحالي.
بمجرد تفعيل المهمة، يتم تحميل محتوى SKILL.md. يتضمن ذلك سير العمل المحدد وأسلوب البرمجة. ولضمان الكفاءة، يفضل إبقاء هذا الملف أقل من 500 سطر.
افصل وثائق API الضخمة أو نماذج الكود في مجلد references/. من خلال جعل الوكيل يستدعي أداة read للوصول إليها فقط عند الحاجة الحقيقية، يمكنك الحفاظ على نظافة نافذة السياق الأساسية.
أحد العيوب القاتلة لوكلاء الذكاء الاصطناعي هو ميلهم لمراجعة النتائج بشكل سطحي وإنهاء المهمة. لمنع ذلك، يجب وضع بوابات تحقق في كل خطوة.
| مرحلة التحقق | العمل المحدد للتنفيذ | معيار النجاح |
|---|---|---|
| التحقق من القواعد | فرض تشغيل eslint, prettier |
صفر أخطاء وتحذيرات |
| سلامة الأنواع | التحليل الاستاتيكي عبر tsc --noEmit |
لا توجد أخطاء تجميع |
| اختبار الوظائف | تشغيل jest أو pytest |
اجتياز جميع حالات الاختبار |
| التدقيق الأمني | فحص مفاتيح API المكتوبة يدوياً | عدم الكشف عن معلومات حساسة |
ولتجنب الوقوع في حلقة مفرغة عند فشل التحقق، هناك حاجة إلى منطق قاطع الدائرة (Circuit Breaker). صمم المهارة بحيث تتوقف فوراً وتطلب تدخل المستخدم إذا تكرر نفس الخطأ أكثر من 3 مرات. يجب أن تتضمن هذه الخطوة تحليل آخر 20 سطراً من سجل الأخطاء لتحديد ما إذا كانت المشكلة في البيئة أم في المنطق.
تظهر القوة الحقيقية لـ Claude Code عندما يتحكم مباشرة في أدوات CLI المحلية. استخدم متغير $ARGUMENTS لتمرير المسارات التي يدخلها المستخدم إلى السكربتات الداخلية للمهارة.
على سبيل المثال، إذا أمرت بـ /optimize src/ui/button.tsx، فسيستهدف الوكيل ذلك الملف فقط لتشغيل تحسين الصور أو سكربتات البناء. وبشكل خاص، يتيح استخدام صيغة ! command عكس حالة المشروع اللحظية (الفرع الحالي، سجل آخر الالتزامات) في السياق مباشرة قبل قراءة التعليمات، مما يمنح قوة هائلة في بيئات العمل التعاوني.
التصميم المنهجي للمهارات يحول Claude من مجرد مولد كود بسيط إلى منفذ سير عمل ذاتي.
الخلاصة في ثلاث نقاط: حافظ على كفاءة السياق عبر فصل البيانات الوصفية عن المنطق، واضمن الجودة عبر بوابات التحقق، وقم بإدارة قواعد المشروع العامة في CLAUDE.md بينما تضع المهام المتخصصة في دليل skills/. ابدأ اليوم بتعريف أكثر المهام إزعاجاً - وهي إنشاء اختبارات الوحدة - كمهارة. مهارة واحدة محكمة التصميم كفيلة بتحديد موعد مغادرتك للعمل.