تحديث 21 أبريل 2026 من Visual Studio 2026 فتح باب Copilot Agent Skills المخصصة من جوّا الـ IDE. الفايدة المباشرة: تكتب 20 سطر YAML بدل مئات الأسطر من scripts خارجية علشان تخلّي Copilot ينفّذ مهمة متكررة على كودك، ويتنفّذ لوحده كل ما تفتح الـ solution.
Copilot Agent Skills في Visual Studio 2026: الدليل التنفيذي
المشكلة باختصار
المطوّر اللي شغّال على enterprise solution متوسطها 150 مشروع بيضيع 40-60 دقيقة يوميًا في مهام متكررة: فحص TODOs جديدة، تأكّد إن كل PR عليه test coverage كافي، مراجعة الـ imports اللي بقت مش مستخدمة بعد refactor. قبل VS 2026، الحل كان شوية PowerShell scripts، hooks في git، أو إضافة منفصلة. كلها بتتكسر كل ما يحصل breaking change في المشروع.
مثال قبل الشرح العلمي
تخيّل إنك كل يوم اثنين الصبح، قبل الـ standup، بتفتح 8 مشاريع على الـ solution بتاعك، وبتسأل نفسك ثلاث أسئلة: فيه TODO جديد اتحط الأسبوع اللي فات؟ فيه method دخل من غير unit test؟ فيه تغيير على schema قاعدة البيانات لسه مش متطبّق محلي؟ المهمة دي بتاخد 25 دقيقة أسبوعيًا، ومنها بتكتشف 2-3 مشاكل حقيقية بشكل متأخر بعد ما تتعمل في الكود.
Agent Skill في VS 2026 هو ملف YAML صغير بتحطّه جوه المشروع، بيقول لـ Copilot: "كل ما أفتح الـ solution يوم اثنين، افحص الحاجات دي وادّيني تقرير جاهز للـ standup". بيشتغل في الخلفية خلال 35-50 ثانية، وبيدّيك Markdown مرتّب فيه كل الملاحظات حسب الأولوية. انت بس بتقرأ.
المفهوم العلمي
Agent Skill هو إعلان declarative (YAML أو JSON) بيصف لـ Copilot ثلاث حاجات:
- المُحفِّز (trigger): على حدث معيّن - solution_open, file_save, pre_commit, أو زرار يدوي من الـ IDE.
- الأدوات (tools): find_symbol للبحث في الـ AST، run_tests لتنفيذ اختبارات، analyze_perf للتشخيص، أو أدوات custom بتعرّفها بنفسك.
- الـ prompt التنفيذي: النص اللي بيوصف المطلوب بالظبط، مع format الإخراج.
الفكرة الأساسية إن الـ skill بيتحزّم مع الكود (جوّا .vs/skills/)، فبيتنقل مع الـ repo ويتطبّق على كل مطوّر في الفريق من غير إعداد يدوي.
مثال تنفيذي كامل
حطّ الملف ده في .vs/skills/pre-standup.yaml داخل الـ solution بتاعك:
name: pre-standup-review
description: فحص TODOs و test coverage قبل standup يوم الاثنين
trigger:
on: solution_open
filter:
day_of_week: monday
before_hour: 10
tools:
- find_symbol
- analyze_todos
- git_diff_since
- test_coverage
prompt: |
افحص الحاجات دي في الـ solution الحالية:
1. TODOs جديدة اتحطت في آخر 7 أيام
2. Methods اتضافت من غير unit tests
3. Schema migrations لسه pending
رتّب النتائج حسب file path، ولكل واحدة اكتب:
- file:line
- السطر نفسه
- الأولوية (high/medium/low) بناءً على عدد الـ references
output:
format: markdown
file: reports/standup-{date}.md
cache: 15m