تخيل أنك فتحت مشروع Android قديم مكتوب بالكامل بـ XML، والمطلوب منك ترحيله إلى Compose، أو ترقيته إلى AGP 9، أو جعل الواجهة تعمل بنظام edge-to-edge. تسأل الذكاء الاصطناعي المساعد في الـ IDE، فيعطيك إجابة عامة تعتمد على بيانات تدريبه القديمة، وتكتشف لاحقاً أنها لا تتبع أفضل الممارسات الحالية لجوجل. هذا بالضبط السبب الذي دفع فريق Android إلى إطلاق Android Skills.
ما هو Android Skills؟
Android Skills هو مجموعة من التعليمات المُحسَّنة للذكاء الاصطناعي (AI-optimized instructions)، مصممة لمساعدة أدوات ووكلاء الذكاء الاصطناعي على فهم وتنفيذ أنماط عمل Android الحديثة باتباع أفضل الممارسات. توجد هذه المهارات في مستودع Android Skills على GitHub، وتتبع معيار Agent Skills المفتوح، ما يجعلها متوافقة مع أي أداة ذكاء اصطناعي تدعم نظام Skills، وليس فقط Android Studio.
لماذا تهتم بـ Android Skills؟
المشكلة التي يعيشها كل مطور Android يستخدم Gemini أو أي وكيل ذكاء اصطناعي: نموذج الـ LLM (Large Language Model — نموذج لغوي كبير) مدرّب على بيانات لها تاريخ صلاحية. Jetpack Compose يتطور، Navigation 3 يظهر، AGP يصدر إصدارات جديدة كل فترة، وR8 يغيّر إعداداته الموصى بها. النتيجة: تحصل على كود يعمل، لكنه ليس بالضرورة الطريقة الحديثة أو الصحيحة للقيام بالمهمة.
باستخدام Android Skills تحصل على:
- تأصيل بمعرفة متخصصة: تزويد الوكيل بسياق خاص بـ Android يتجاوز حدود تدريبه الافتراضي.
- سير عمل قابل للتكرار: تعليمات موحّدة تضمن تنفيذ المهام متعددة الخطوات بنفس الطريقة في كل مرة.
- تجميع الموارد: يمكن للمهارة أن تحتوي على Scripts وقوالب ووثائق إضافية بجانب ملف SKILL.md الرئيسي، فلا تحتاج لإرفاق ملفات يدوياً.
- مشاركة الخبرة داخل الفريق: يمكنك تعبئة أنماط عمل فريقك في مجلدات مشتركة يستخدمها الجميع.
كيف تبدأ؟
1. التثبيت عبر Android CLI
الطريقة الموصى بها هي Android CLI (سطر أوامر Android)، الذي يسهّل اكتشاف المهارات وتنزيلها وإدارتها لأي وكيل تختاره.
لعرض قائمة المهارات المتاحة:
android skills list
لتثبيت مهارة معينة:
android skills add --skill <skill-name>
إذا كانت المهارة مثبّتة مسبقاً، فإن نفس الأمر يحدّثها تلقائياً لآخر إصدار. لاحظ أنه إذا خصّصت مهارة بنفسك، يجب إعادة تسميتها وإلا سيتم استبدالها عند التحديث.
2. التثبيت عبر Android Studio
يمكنك أيضاً تنزيل أي مهارة من مستودع GitHub واستيرادها مباشرة داخل مشروعك في Android Studio.
3. تفعيل المهارة
الوكيل يفعّل المهارات المناسبة تلقائياً بناءً على طلبك. يكفي أن تطلب مهمة متعلقة بالمهارة، مثلاً:
اجعل واجهة تطبيقي edge-to-edge
وسيكتشف الوكيل المهارة المناسبة ويستخدمها من تلقائه. وفي Android Studio تحديداً، يمكنك استدعاء المهارة يدوياً بكتابة @اسم-المهارة داخل نافذة الدردشة.
مثال تطبيقي كامل: بناء مهارة خاصة بفريقك
لنفترض أن فريقك يريد توحيد طريقة كتابة ViewModels عبر المشروع. يمكنك بناء مهارة خاصة بكم بدلاً من الاعتماد فقط على المهارات الجاهزة من جوجل.
الخطوة الأولى: أنشئ مجلداً للمهارة داخل .skills/ أو .agent/skills/ في جذر المشروع:
mkdir -p .skills/viewmodel-pattern
الخطوة الثانية: أنشئ ملف SKILL.md بداخله:
---
name: viewmodel-pattern
description: يوحّد طريقة كتابة ViewModels في المشروع باستخدام StateFlow وUiState محدد.
metadata:
author: my-team
version: "1.0"
---
عند إنشاء أي ViewModel جديد:
1. استخدم StateFlow وليس LiveData.
2. عرّف data class باسم UiState يحتوي كل حالات الواجهة.
3. لا تعرّض MutableStateFlow للخارج، استخدم asStateFlow().
هذا الملف بسيط لكنه فعّال: أي وكيل ذكاء اصطناعي يعمل على المشروع سيقرأ هذه التعليمات تلقائياً عندما تطلب منه إنشاء ViewModel، وسينتج كوداً متسقاً مع باقي الفريق، بدلاً من أن يخترع نمطاً مختلفاً كل مرة.
ملاحظة مهمة: اجعل محتوى ملف SKILL.md بين 10 آلاف و20 ألف حرف تقريباً. إذا احتجت تفاصيل أكثر، انقلها إلى مجلد references/ بدلاً من تضخيم الملف الرئيسي، وأشر إليه من داخل SKILL.md مثل: راجع الملف عند references/state-guide.md.
نصائح ومزالق يجب تجنبها
- لا تنسَ إعادة التسمية عند التخصيص: إذا عدّلت مهارة جاهزة من جوجل، غيّر اسمها فوراً، وإلا فأول أمر
skills addسيمحو تعديلاتك بصمت. - التزم بالنطاق المسموح: الوكيل يبحث فقط داخل
.skills/أو.agent/skills/في جذر المشروع — لن يقرأ مهارات موجودة خارج هذا النطاق مهما كانت مفيدة. - لا تكدّس كل شيء في ملف واحد: عندما يكبر ملف SKILL.md أكثر من اللازم، استخدم مجلدات
scripts/وreferences/وassets/بدلاً من تحويله لملف عملاق يصعب على الوكيل استيعابه بكفاءة. - لا تعتمد فقط على التفعيل التلقائي: في البداية، الوكيل قد لا يختار المهارة الصحيحة إذا كان وصف الـ description غامضاً؛ اكتب وصفاً واضحاً ومحدداً، أو استخدم الاستدعاء اليدوي عبر
@اسم-المهارةفي Android Studio للتأكد. - راجع التوافق مع أداتك: رغم أن المعيار مفتوح، تأكد من أن الأداة أو الوكيل الذي تستخدمه (Gemini في Android Studio، أو أي أداة أخرى) يدعم فعلياً قراءة مجلدات Skills بنفس الطريقة الموثقة.
الخلاصة والرأي
Android Skills ليست ميزة تجميلية، بل حل حقيقي لمشكلة واقعية: الفجوة بين معرفة نماذج الذكاء الاصطناعي العامة وبين أحدث ممارسات Android الفعلية. إذا كان فريقك يستخدم Gemini في Android Studio أو أي وكيل ذكاء اصطناعي بشكل يومي، فتجربة هذه الأداة تستحق وقتك — خصوصاً في المهام المتكررة مثل الترحيل من XML إلى Compose، أو ترقيات AGP، التي غالباً ما تكون مملة ومعرّضة للأخطاء عند تكرارها يدوياً.
أما إذا كان مشروعك صغيراً ولا يحتوي على أنماط عمل معقدة أو متكررة، فقد لا تحتاج إلى بناء مهارات خاصة بك الآن — يكفيك استخدام المهارات الجاهزة من جوجل عند الحاجة.
جرّب تثبيت أول مهارة بأمر android skills list وأخبرنا بالمهارة التي استخدمتها ونتيجتها




