# Teammate

## التعريف

Teammate هو agent تعاوني في وضع الفريق (Team Mode) الخاص بـ Claude Code Agent. عندما يقوم الـ agent الرئيسي بإنشاء فريق عبر `TeamCreate` واستخدام أداة `Agent` لإنشاء teammate، يعمل كل teammate كعملية agent مستقلة بسياقها الخاص ومجموعة أدواتها، ويتواصل مع أعضاء الفريق عبر `SendMessage`.

## الفرق بينه وبين SubAgent

| الخاصية | Teammate | SubAgent |
|---------|----------|----------|
| دورة الحياة | يستمر في العمل، يمكنه استقبال رسائل متعددة | مهمة لمرة واحدة، يُدمَّر عند الانتهاء |
| طريقة التواصل | رسائل ثنائية الاتجاه عبر SendMessage | استدعاء أحادي الاتجاه من الأب إلى الابن، مع إرجاع النتيجة |
| السياق | سياق مستقل وكامل، يُحتفظ به عبر الجولات | سياق مهمة معزول |
| نمط التعاون | تعاون جماعي، يمكن للأعضاء التواصل فيما بينهم | هيكل هرمي، يتفاعل فقط مع الـ agent الأب |
| نوع المهام | مهام معقدة متعددة الخطوات | مهام فردية كالبحث والاستكشاف |

## السلوك

- يُنشئه الـ agent الرئيسي (team lead) عبر أداة `Agent` مع تعيين `team_name`
- يشارك قائمة المهام عبر `TaskList` / `TaskGet` / `TaskUpdate`
- يدخل حالة الخمول (idle) بعد انتهاء كل جولة تنفيذ، وينتظر رسالة جديدة لإيقاظه
- يمكن إنهاؤه بشكل سلس عبر `shutdown_request`

## شرح لوحة الإحصائيات

تعرض لوحة إحصائيات Teammate عدد استدعاءات API لكل teammate. يُظهر عمود `Name` اسم الـ teammate (مثل `reviewer-security`، `reviewer-pipeline`)، ويُظهر عمود `العدد` إجمالي طلبات API التي أنتجها ذلك الـ teammate.
