الإعداد

شخصيات الوكلاء

أنشئ ملفات شخصيات قابلة لإعادة الاستخدام لتحديد دور الوكيل الفرعي وتركيزه وصلاحية أدواته. حدّد ما الذي يبحث عنه، وكيف ينسّق مخرجاته، وما الذي لا يُسمح له به.

ملفات شخصيات الوكلاء هي ملفات Markdown تضبط دور الوكيل الفرعي الذي ينشئه Bob وسلوكه. بينما يضبط الوضع المخصص أسلوب عمل المهمة الرئيسية، تضبط الشخصية أسلوب عمل وكيل فرعي مساعد. وهي تحدد هويته وقائمة تحققه وتنسيق مخرجاته وقيوده.

كيفية عمل الشخصيات

عندما ينشئ Bob وكيلاً فرعياً، يتحقق من .bob/agents/ بحثاً عن ملف شخصية يطابق وصفه المهمة. عند العثور عليه، تُحمّل الشخصية بوصفها وضع الوكيل الفرعي: يُضاف نص الدور إلى مطالبة النظام الخاصة به فوق تعليماته الأساسية.

لا تُحمّل الشخصيات تلقائياً في المحادثة الرئيسية. ولا تسري إلا عند إنشاء وكيل فرعي، سواء بادر Bob بذلك أو طلبت منه تفويض مهمة محددة.

تنسيق ملف الشخصية

تستخدم ملفات الشخصية واجهة YAML أمامية يتبعها نص دور حر:

---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
  - read
---

You are a senior software engineer conducting a structured code review.

Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic

Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.

Do not suggest fixes. Describe issues only.

حقول الواجهة الأمامية

الحقلمطلوبالنوعالغرض
nameنعمstringالمعرّف المستخدم في السجلات. ينبغي أن يطابق اسم الملف دون .md.
descriptionنعمstringيستخدمه Bob لمطابقة الشخصية مع المهمة. اكتبه كمهمة من سطر واحد.
toolsلاlistيقيّد مجموعات الأدوات التي يمكن للوكيل الفرعي استخدامها. احذفه لوراثة الإعدادات الافتراضية.

مجموعات الأدوات

يقبل الحقل tools المجموعات نفسها التي تقبلها الأوضاع المخصصة: read وedit وcommand وbrowser وmcp.

بالنسبة إلى الشخصيات للقراءة فقط، مثل المراجعين والمخططين والمُلخّصين، اضبط tools: [read] لمنع التعديلات غير المقصودة.

حقل tools حدّ أقصى وليس منحة صلاحيات. فتعيين tools: [edit] لا يؤثر إن لم تكن المهمة النشطة تملك صلاحية Edit. يمكن للشخصية تقييد الوصول إلى الأدوات فقط، ولا يمكنها توسيعه إلى ما يتجاوز ما تسمح به المهمة.

موضع الملفات

الموقعالنطاقحالة الاستخدام
<project>/.bob/agents/هذا المشروع فقطشخصيات مشتركة مع الفريق ومُلتزم بها في المستودع
~/.bob/agents/كل المشاريع على هذا الجهازشخصيات شخصية تنطبق على جميع المشاريع

إذا احتوى الموقعان على شخصية بالاسم نفسه، تكون الأولوية للشخصية الموجودة على مستوى المشروع.

يمكن أن يحتوي مجلد .bob/ على شخصيات إلى جانب إعداداتك الأخرى:

code-reviewer.md
pr-summariser.md
custom_modes.yaml

إنشاء شخصيتك الأولى

أنشئ مجلد الوكلاء في جذر مشروعك:

mkdir -p .bob/agents

أنشئ ملف شخصية. ينبغي أن يطابق اسم الملف، من دون .md، حقل name في الواجهة الأمامية.

touch .bob/agents/code-reviewer.md

أضف الواجهة الأمامية ونص الدور. راجع تنسيق ملف الشخصية أعلاه لمعرفة البنية.

نفّذ الملف في مستودعك كي يشارك فريقك الشخصيات نفسها.

أمثلة على الشخصيات

code-reviewer.md

يراجع ملفات المصدر من حيث الصحة وقابلية القراءة وقابلية الصيانة. وينتج جدول نتائج مرتّباً بحسب الخطورة، ولا يقترح إصلاحات.

---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
  - read
---

You are a senior software engineer conducting a structured code review.

Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic

Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.

Do not suggest fixes. Describe issues only.
If a file has no findings, list it explicitly as clean.

pr-summarizer.md

يقرأ مجموعة من الملفات المتغيرة وينتج وصفاً منظماً لطلب السحب يشمل ما تغير، والنية المحتملة، والجوانب التي ينبغي أن يركز عليها المراجع.

---
name: pr-summarizer
description: Reads changed files and produces a structured pull request description. Read-only.
tools:
  - read
---

You are a developer writing a pull request description for a teammate.

Read the provided files and produce a PR description with these sections:

**Summary**: One or two sentences describing what this change does.
**Why**: The likely motivation, inferred from the code changes.
**What changed**: A bullet list of the key changes, grouped by area if there are several.
**Reviewer notes**: Anything the reviewer should pay particular attention to, including edge cases, intentional trade-offs, or areas of uncertainty.

Write in plain, direct language. Do not pad the description.
Do not list every file changed. Focus on what matters to the reviewer.

استخدام شخصية

أشِر إلى الشخصية باسمها عندما تطلب من Bob تفويض مهمة:

Use the code-reviewer persona to review the files in src/auth/.
Spawn a subagent using the pr-summarizer persona.
Read the changed files and produce a PR description.

سيحمّل Bob الشخصية المطابقة من .bob/agents/ ويطبقها على الوكيل الفرعي المنشأ.

الشخصيات المضمنة

لمهمة لمرة واحدة، يمكنك وصف الدور مباشرة في طلبك من دون إنشاء ملف:

Spawn an Explore subagent with this role:
You are a naming auditor. Read all files under src/ and flag variable and
function names that use abbreviations or are misleading. Return a table:
File, Line, Current Name, Issue.

تؤدي الأدوار المضمنة الغرض نفسه الذي تؤديه الشخصيات القائمة على الملفات للمهمة الواحدة. وتكون ملفات الشخصية جديرة بالإنشاء عندما تريد إعادة استخدام الدور نفسه أو مشاركته مع فريقك.

تمرير سجل المحادثة

يتلقى الوكيل الفرعي افتراضياً وصف المهمة فقط، ولا يرى الأدوار السابقة في محادثتك. وهذا يحافظ على سياقه صغيراً ومركزاً.

عندما يحتاج الوكيل الفرعي إلى مراعاة قرارات أو قيود من وقت سابق في المحادثة، صغ طلبك بحيث يشير إلى السياق السابق:

Use the code-reviewer persona to review src/payments/.
Take into account what we discussed about the error handling approach.

يستنتج Bob fork_context: true من عبارات مثل “what we discussed” أو “our earlier decision”، ويمرر سجل المحادثة إلى الوكيل الفرعي.

ملاحظة:

يؤدي تمرير سجل المحادثة إلى نسخ محادثتك كاملةً إلى نافذة سياق الوكيل الفرعي. وقد يضيف ذلك تكلفة رموز ملحوظة إلى المحادثات الطويلة. فضّل الإعداد الافتراضي، أي عدم تمرير السياق، ما لم يحتج الوكيل الفرعي فعلاً إلى السياق السابق لإنجاز مهمته.

الشخصيات والأوضاع والقواعد

الآليةالنطاقما الذي تضبطهمتى تستخدمها
الوضعالمهمة كاملةالحد الأقصى للأدوات وتعريف دور المهمة الرئيسيةعندما تحتاج المهمة الرئيسية إلى أسلوب مختلف، مثل القراءة فقط أو كتابة الوثائق أو مراجعة الأمان
القاعدةالمهمة أو الوضعتعليمات دائمة تُحمّل في مطالبة النظاماتفاقيات الفريق ومعايير التنسيق والضوابط التي تنطبق دائماً
الشخصيةوكيل فرعي واحدالدور والتركيز وتنسيق المخرجات وقيود الأدوات لوكيل فرعي منشأعندما يحتاج مساعد إلى تركيز في مجال محدد، مثل مراجعة الكود أو تلخيص التغييرات أو تخطيط الاختبارات
ما رأيك في هذا الموضوع؟