شفت الـ slash commands الأساسية. الموديول ده بيغطي الأوامر اللي المستخدمين المتمرسين بيعتمدوا عليها بعد ما يكون الـ workflow الأولي شغّال — إدارة الـ context، أدوات الجلسات، الـ skills المدمجة، واختصارات الكيبورد اللي بتسرّع كل حاجة.
إدارة الـ Context والجلسات
كل جلسة Claude Code عندها context window. أمر /context بيعرضه كـ grid ملوّن — أخضر لما فيه مساحة، أصفر لما قرّب يتملي، أحمر لما كاد ينتهي. لما الـ context يطول، /compact بيضغط المحادثة. مرّر تعليمات تركيز عشان تحافظ على اللي يهمّك: /compact focus on the database migration plan.
الـ auto-compaction بيشتغل تلقائيًا لما الـ context window يقرّب يتملي. عشان تتحكم في إمتى بيتفعّل، اضبط الـ auto-compact window: /autocompact 500k بيحدّد window بـ 500K توكن وبيحفظها تحت الموديل الحالي في إعدادات الـ user بتاعتك (modelSettings)، ولو عايز window واحدة لكل الـ models استخدم إعداد autoCompactWindow في settings.json، و/autocompact auto بيرجّعك للـ window المضبوطة لموديلك. مرّر --autocompact عند التشغيل عشان تتخطّى القيمة المحفوظة لجلسة واحدة من غير ما تغيّرها، أو اعمل set للـ env var CLAUDE_CODE_AUTO_COMPACT_WINDOW في السكربتات وبيئات الـ cloud، وهناك بتاخد أولوية على الأمر والـ flag والإعداد. الـ window بتقبل من 100K لـ 1M توكن — رقم صريح (200000)، أو لاحقة k/M (500k، 1M)، أو رقم مجرّد من 100 لـ 1000 بمعنى الآلاف (200 = 200,000)؛ والـ env var من v2.1.304 بيقبل لاحقة k/M كمان. بيتطلّب Claude Code v2.1.221 أو أحدث.
الـ idle compaction شغال افتراضيًا للمحادثات اللي بتستوفى شروطه. الـ CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS بيحدّد حجم الـ context، بالـ tokens، اللي عنده الـ idle compaction بيتطبّق على المحادثة (الافتراضي 200000). بيقبل رقم صحيح موجب، وأي حاجة تانية بتتجاهل. والقيم اللي أقل من 100000 بتترفع لـ 100000، وهي أقل عتبة مسموحة — يعني CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS=300000 claude بيرفع العتبة عن قيمتها الافتراضية. بيتطلّب Claude Code v2.1.290 أو أحدث.
عشان توقّف الـ idle compaction، خلّي idleCompaction يساوي false في ملف settings.json. بيتطلّب Claude Code v2.1.290 أو أحدث.
CLAUDE_CODE_DISABLE_FILE_MENTIONS=1 بيوقّف Claude Code من توسيع إشارات @ للملفات والمجلدات. Claude بيستقبل المسارات المذكورة بس، مع ملاحظة إنه يقراها بأدوات الملفات بتاعته، فبيقرّر بنفسه أنهي واحدة منهم تستاهل تدخل في الـ context. المتغير ده بيتجاهَل في إعدادات المشروع وفي الإعدادات المحلية، فخلّيه في إعدادات الـ user أو في الـ environment. بيتطلّب Claude Code v2.1.299 أو أحدث.
أمر /branch بيعمل محادثة موازية من النقطة الحالية، يعني تقدر تستكشف طريقتين جنب بعض. /rewind بيرجعك لنقطة أبكر — مفيد لما Claude مشي في اتجاه غلط. كمان ممكن يرجع التغييرات في الملفات، يعني بيشتغل كـ undo للمحادثة والكود مع بعض.
استئناف الجلسات بيخلّي الشغل الطويل ممكن. /rename my-feature بيحفظ الجلسة الحالية باسم واضح. /resume my-feature بيرجعك ليها بعدين بالـ context كامل. اعمل export للجلسة في ملف أو الـ clipboard بـ /export للمشاركة أو الأرشفة.
/context
/compact focus on the auth refactor
/autocompact 500k
/branch
/rename auth-refactor-v2
/export auth-refactor-v2.md
الـ Skills المدمجة
Claude Code بييجي معاه skills مدمجة بتشتغل زي الأوامر. دي متاحة دايمًا من غير ما تحتاج تعمل install لأي حاجة.
أمر /code-review بيراجع الـ diff الحالي عشان يلاقي bugs في الصحة (correctness bugs) ويعرض النتايج من غير ما يعدّل ملفات؛ وأمر /simplify مراجعة منفصلة للـ cleanup بتطبّق إصلاحات من غير ما تبحث عن bugs. الاتنين بيشاركوا بنية المراجعة التحتية بس نطاقاتهم متداخلة: /code-review بيدوّر على bugs في الصحة، و— حسب الموديل ومستوى الـ effort — بيغطي كمان cleanups زي إعادة الاستخدام والتبسيط والكفاءة؛ /simplify مراجعة cleanup بس وبتطبّق إصلاحاتها — مرّر --fix أو --comment لـ /code-review عشان تطبّق النتايج أو تعلّقها على الـ GitHub PR الحالي. من v2.1.218، /code-review بشتغل كـ background subagent عشان شغل المراجعة ميبقاش بيملي المحادثة. الـ effort levels الأقل (/code-review low) بترجّع نتايج أقل بثقة أعلى؛ ومن medium لـ max بتدّي تغطية أوسع، و/code-review ultra بيشغّل مراجعة أعمق متعددة الـ agents في الـ cloud. مرّر --comment عشان يعلّق النتايج كـ inline comments على الـ GitHub PR الحالي، أو مرّر path أو PR reference عشان تستهدف تغيير معيّن. /batch <instruction> مخصص للتغييرات الكبيرة على ملفات كتير — بيخطّط الشغل، بيستخدم git worktrees معزولة، ويقدر ينسّق التحقق والمتابعة على مستوى الـ PR. /loop 5m check deploy status بيشغّل prompt بشكل متكرر على فترات، مفيد لمتابعة العمليات الطويلة. /proactive هو alias لـ /loop — نفس السلوك بالظبط، بس الاسم بيقرأ أحسن لما الفكرة هي “فضل راقب وتصرّف على اللي بتشوفه” بدل “شغّل ده على timer”. كلمة ultracode بتفعّل dynamic workflow run.
أمر /debug بيفعّل الـ verbose logging عشان يساعدك تشخّص مشاكل في سلوك Claude أو استخدام الأدوات. /claude-api بيحمّل مرجع الـ Anthropic SDK للغة المشروع — بيتفعّل تلقائيًا لما يكتشف imports من @anthropic-ai/sdk أو package الـ anthropic في Python.
/code-review
/code-review high --comment
/batch add JSDoc comments to all public functions in src/
/loop 2m check if the build finished
/debug
الوضع السريع (Fast Mode)
الوضع السريع هو configuration عالي السرعة بيدّيك نفس جودة الموديل بسرعة أعلى تصل لـ 2.5x، مقابل تكلفة tokens أعلى. وهو مدعوم على Fable 5.2 و Opus 5.5 و Opus 5 و Opus 4.8 — والوضع السريع على Fable 5.2 محتاج Claude Code v2.1.321 أو أحدث، ومش متاح على Sonnet أو Haiku أو أي موديل تاني. Opus 5.5 هو الافتراضي من v2.1.280 (كان Opus 5 من v2.1.219)، والـ fast mode على Opus 5 و Opus 4.8 لسه research preview. Opus 4.7 و 4.6 مش بيدعموا fast mode: التحويل لأي واحد فيهم بيقفل الـ fast mode. متاح عن طريق /fast أو عن طريق ضبط fastMode: true في إعدادات المستخدم — بس على Fable 5.2 الإعداد لوحده مالوش أي تأثير لحد ما تشغّل /fast وأنت على Fable 5.2. لما يتفعّل، أيقونة ↯ بتظهر جنب الـ prompt.
الـ fast mode على Opus 4.8 اتوقف (deprecated) في 30 أكتوبر 2026، وهيتشال في 30 نوفمبر 2026. بعد التاريخ ده، الـ API هيرفض طلباتك لو Opus 4.8 لسه الموديل بتاعك والـ fast mode مفعّل. عشان تحافظ على السرعة، اتحوّل لـ Opus 5.5 بأمر /model — الـ fast mode بيفضل شغّال بعد التحويل؛ وعشان تفضل على Opus 4.8، شغّل /fast off وكمّل بالسرعة العادية. (الـ fast mode على Opus 4.7 اتوقف قبل كده، في 25 يونيو 2026، واتشال في 24 يوليو 2026.)
/fast # فعّل/اقفل
/fast on # فعّل صراحة
/fast off # اقفل صراحة
الوضع السريع بيحوّلك لـ Opus تلقائي لو الموديل الحالي مش بيدعم الوضع السريع — Opus 5.5 بشكل افتراضي — ومبيحوّلكش من Fable 5.2 لأن Fable 5.2 بيدعم الوضع السريع. لما تقفل الوضع السريع، بتفضل على الموديل الحالي — استخدم /model عشان تغيّر.
الوضع السريع ومستوى الـ effort حاجتين منفصلتين. /fast بيقلل الـ latency من غير ما يأثر على الجودة. /effort low بيقلل وقت التفكير واللي ممكن يقلل الجودة في المهام المعقدة. ادمجهم مع بعض لأقصى سرعة في الشغل البسيط:
/fast
/effort low
لما rate limit الوضع السريع يخلص، بيرجع تلقائي للسرعة العادية (أيقونة ↯ بتبقى رمادية) وبيرجع يتفعّل لما الـ cooldown يخلص. الـ rate-limit pool بتاع الوضع السريع مشترك بين كل موديلات Opus المدعومة (Opus 5.5 و Opus 5 و Opus 4.8). الوضع السريع محتاج usage credits يكون متفعّل على حسابك — أدِرهم بـ /usage-credits (الاسم الجديد من v2.1.144، اتغيّر من /extra-usage، والاسم القديم لسه شغّال) — ومش متاح على Bedrock أو Google Cloud’s Agent Platform أو Foundry أو Claude Platform on AWS. إضافة الـ VS Code بتدعمه كمان، وبتوفّر أمر Toggle fast mode لما الموديل المختار يدعم الـ fast mode. مسؤولي المؤسسات يقدروا يتحكموا في إتاحته من خلال الإعدادات المُدارة.
اضبط الموديل اللي الجلسات الجديدة تبدأ عليه افتراضيًا عن طريق ANTHROPIC_DEFAULT_MODEL (أُضيف في v2.1.236). الاتنين ANTHROPIC_MODEL و ANTHROPIC_DEFAULT_MODEL متغيرات بيئة مستمرّة بتأثر على كل عملية Claude بتتشغّل بيهم، فتصدير أي واحد فيهم في الـ shell أو ضبطه في بيئة المستخدم بيطبَّق عبر الـ restarts. الفرق بينهم في أولوية اختيار الموديل وفي الـ default semantics، مش في فترة الحياة: ANTHROPIC_MODEL هو الـ model override الصريح وبيتفوّق على إعداد model العادي في الـ user أو project (بما فيهم القيمة اللي اختيار /model بيكتبها)، بينما ANTHROPIC_DEFAULT_MODEL هو الـ default الأقل أولوية واللي إعداد model العادي يقدر يعمله override — يعني اختيار /model بيكسب على ANTHROPIC_DEFAULT_MODEL بس ANTHROPIC_MODEL بيكسب على نفس الاختيار ده في الـ launch اللي بعده. الإعدادات المُدارة المفروضة بتـ override على الاتنين:
export ANTHROPIC_DEFAULT_MODEL=sonnet
المتغير بيتم تجاهله لما قيمته تكون واحدة من الـ special tokens اللي Claude Code بيعاملها كـ “استخدم الـ default العادي” — default وinherit وopusplan وhaiku. اختار alias واضح أو model ID، وراجع مرجع إعدادات الموديل الرسمي عشان تشوف ترتيب الأولوية بين ANTHROPIC_DEFAULT_MODEL وANTHROPIC_MODEL والـ --model flag وإعداد model.
الـ alias المسمّى fable بقى بيشاور على Fable 5.2 من v2.1.321 — من v2.1.257 كان بيشاور على Fable 5.1، وقبل كده على Fable 5. اضبط ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5 لو عايز الـ alias المسمّى fable يفضل مشاور على Fable 5 — لازم المتغيّر يشيل الـ model ID بتاع Fable 5، مش بس يكون موجود. على Anthropic API، لو عندك قيمة claude-fable-5 أو claude-fable-5[1m] محفوظة في إعدادات المستخدم بتاعتك — مثلًا من اختيارك Fable في مُنتقي /model قبل v2.1.257 — بيتعملها auto-update للـ alias fable أو fable[1m] أول مرة تشغّل فيها v2.1.257 أو أحدث، وسطر الموديل عند البدء بيوضّح (auto-updated) مرة واحدة. نفس القيمة في إعدادات الـ project أو local أو managed بتتساب زي ما هي. في جلسات Claude apps gateway، الـ alias fable بيفضل بيشاور على Fable 5 ما لم تعمل له override بـ ANTHROPIC_DEFAULT_FABLE_MODEL؛ الـ alias best مش متأثر بالمتغيّر ده.
على Anthropic API، الموديل الافتراضي لـ Sonnet من v2.1.284 هو Claude Sonnet 5.5 (claude-sonnet-5-5)، وله نافذة سياق (context window) بحجم مليون توكن — يعني اختيار sonnet في منتقي /model أو ANTHROPIC_DEFAULT_MODEL=sonnet بيبدأ الجلسات الجديدة عليه هناك.
موديلات Fable (Fable Models)
موديلات Claude Fable هي أقوى موديلات Claude Code، ومناسبة للمهام الأكبر من جلسة واحدة. مفيش أي موديل Fable هو الـ default بتاع نوع الحساب على أي plan أو provider، فأنت بتختاره بنفسك.
Fable 5.2 (claude-fable-5-2) محتاج Claude Code v2.1.321 أو أحدث. شغّل /model fable، أو ابدأ بـ claude --model fable. الـ alias المسمّى fable بيشاور على Fable 5.2 في كل حاجة غير جلسات Claude apps gateway، وهناك بيفضل بيشاور على Fable 5 — في جلسة gateway شغّل /model claude-fable-5-2 بدل كده، وخد بالك إن أي gateway مش مضبوط يقدّم الموديل ده بيرفض طلباته.
Fable 5.1 و Fable 5 بيتختاروا بالـ model ID: على Anthropic API شغّل /model claude-fable-5-1 أو /model claude-fable-5، أو ابدأ بـ claude --model claude-fable-5-1. على الـ providers التانية، استخدم الـ model ID بتاع الـ provider بتاعك، أو ثبّته بـ ANTHROPIC_DEFAULT_FABLE_MODEL. و Fable 5.1 محتاج Claude Code v2.1.257 أو أحدث.
موديل claude-fable-5-1 محفوظ في إعدادات المستخدم بتاعك بيتحوّل للـ alias fable على plans الـ Pro و Max و Team و Enterprise. على Pro و Max التحويل بيحصل أول مرة تشغّل فيها v2.1.321 أو أحدث، وسطر الموديل عند البدء ممكن يوضّح (auto-updated) مرة واحدة. على Team و Enterprise التحويل بيستنى إعدادات مؤسستك، فممكن ييجي في بداية جلسة بعدين، أو مايحصلش خالص — وبيبدأ من الجلسة اللي بعده، من غير سطر (auto-updated). عايز تتأكد أنت على أنهي موديل؟ شغّل /model. وبعد التحويل، الجلسات بتبدأ عند مستوى الـ effort الافتراضي بتاع Fable 5.2 إلا لو انت مضبط مستوى لنفسك. حسابات Console، والـ providers الخارجية، وإعدادات الـ project أو local أو managed، بتخلي claude-fable-5-1 زي ما هو.
/model fable
/model claude-fable-5-1
اختصارات الكيبورد والـ Power Features
Shift+Tab بيتنقل default → acceptEdits → plan. باقي الأوضاع مش في الدورة الافتراضية دي: auto بيظهر لما حسابك يستوفي متطلبات auto mode؛ وbypassPermissions بيظهر بعد ما تبدأ بـ --permission-mode bypassPermissions أو --dangerously-skip-permissions أو --allow-dangerously-skip-permissions (نسخة --allow- بتضيفه للدورة من غير ما تفعّله)؛ وdontAsk مش بيظهر خالص — تضبطه بـ --permission-mode dontAsk. الأوضاع الاختيارية المفعّلة بتيجي بعد plan، بترتيب bypassPermissions الأول وauto آخر واحد. Shift+Tab هو أسرع طريقة تتحوّل لوضع plan لمهمة معقدة وترجع بعدها.
Option+T (macOS) أو Alt+T بيفعّل الـ extended thinking — Claude بياخد وقت أطول في التفكير قبل ما يرد. استخدم /effort عشان تحدد عمق التفكير: low، medium، high، xhigh، أو max لما يكون الموديل بيدعمها — و/effort auto مش عمق تفكير، هو بيمسح المستوى المحفوظ للموديل الحالي. max بيتطبّق على الجلسة الحالية بس ومش بيتحفظ بين الجلسات. Ctrl+O بيفتح ويقفل عارض الـ transcript، اللي بيعرض تفاصيل استخدام وتنفيذ الأدوات — وقت كل رسالة والموديل المستخدم فيها — وبيفكّ الـ MCP calls اللي بتتطوي لسطر واحد.
/btw your question بيسأل سؤال جانبي من غير ما يتضاف لتاريخ المحادثة — مفيد عشان تتأكد من حاجة أو تسأل عن syntax من غير ما تزحّم الـ context. Ctrl+B بيحط bash commands و agents شغّالة في الخلفية عشان تقدر تدي Claude تعليمات تانية وهي لسه شغّالة. لو عايز توقف كل الـ background agents، الاختصار الرسمي هو Ctrl+X Ctrl+K.
Ctrl+U بيمسح من مكان الـ cursor لبداية السطر — دوسه تاني لو الـ input فيه أكتر من سطر عشان يمسح كله — وCtrl+Y بيعمل paste للنص اللي آخر مرة مسحته باحد من اختصارات الحذف زي Ctrl+K أو Ctrl+U أو Ctrl+W، فprompt طويل لسه ينفع ترجّعه. Ctrl+L بيعمل full terminal redraw مع الحفاظ على الـ prompt input وتاريخ المحادثة في مكانهم، ومفيد لما الـ terminal يعمل drift أو tearing. في footer عارض الـ transcript، [ بيصدّر الـ transcript لـ scrollback وv بيفتحه في الـ $EDITOR بتاعك.
أمر /diff بيفتح عارض diff تفاعلي للتغييرات اللي لسه ما اتعملش لها commit — أحسن من قراءة output الـ git الخام لما تحب تراجع اللي Claude عمله قبل ما تعمل commit. /insights بيولّد تقرير تحليل الجلسة بإحصائيات عن اللي اتحقق.
# Toggle to plan mode, then back
Shift+Tab
Shift+Tab
/effort high
/btw what's the difference between async and defer on script tags?
وضع Vim المرئي (Visual Mode)
مستخدمي Vim بيحصلوا على visual selection في محرر الإدخال. اضغط v للتحديد بالحروف وV للتحديد بالأسطر. بمجرد ما تكون في الـ visual mode، مفاتيح التنقل (h، j، k، l، w، e، b، f، F، t، T) بتمدد التحديد. بعدين طبّق operator:
d/x بيحذف، y بينسخ، c/s بيغيّر، p بيستبدل بمحتويات الـ register، r{char} بيستبدل كل حرف محدد، ~/u/U بيبدّل أو يفرض حالة الأحرف، >/< بيعمل indent أو dedent، J بيدمج الأسطر، وo بيبدّل بين الـ cursor والـ anchor. الـ text objects زي iw، aw، i"، a"، i(، a( بتشتغل للتحديد الدقيق. الـ block-wise visual mode (Ctrl+V) مش مدعوم.
قراءة ملفات ضخمة — الـ Partial View
أداة Read بقت بترجّع صفحة أولى مقتطعة مع إشعار PARTIAL view بدل ما ترمي خطأ مانع لما قراءة الملف كامل تتجاوز حد الـ tokens. قبل كده، طلب من Claude يقرأ JSON dump حجمه 500 كيلوبايت أو bundle متولّد كان بيفشل تمامًا؛ دلوقتي بيرجّع الصفحة الأولى مع علامة واضحة بتقوله جاب قد إيه وإزاي يقرا الباقي بـ offset/limit — طالما الملف أصغر من 256 كيلوبايت. قراءة أي ملف كامل أكبر من 256 كيلوبايت لسه بترجّع خطأ بيقول لـ Claude يقسّمه بـ offset/limit أو يبحث في المحتوى اللي محتاجه بـ grep، يعني الـ 500 كيلوبايت لسه بيفشل خالص. ولو حددت limit صريح أكبر من اللي القراءة الواحدة تقدر تستوعبه، Read بيرجّع خطأ بيطلب limit أصغر (أو grep للمحتوى المطلوب) بدل ما يحمّل الباقي. تقدر ترفع ميزانية الـ tokens للقراءة الواحدة من غير pagination: الـ env var CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS بيلغي الحد الافتراضي (25,000 توكن)، والقراءة اللي بتعملها بـ parameter اسمها allow_large تقدر تتجاوزه لو الـ context window فيه مساحة. بس التقسيم بـ pagination لسه الطريقة المدعومة للملفات الكبيرة.
عمليًا مش محتاج تعمل أي حاجة عشان تفعّلها — لما Claude يشوف إشعار الـ partial view، بيعرف إنه إما يضيّق بـ grep الأول أو يقسّم القراءة بـ offset لحد ما يجمع اللي محتاجه. السلوك ده مهم بالذات في الـ migrations، logs الكبيرة، وأدوات زي /init اللي بتمسح ملفات كتير.
/usage — إحصائيات الجلسة الموحّدة
أمر /usage بيعرض لوحة موحّدة بتحلّ محلّ اللي كان /cost و/stats بيعرضوه كل واحد لوحده — تقدير التكلفة الإجمالية، ومدة الـ API والـ wall-clock، والأسطر اللي اتضافت أو اتشالت. من v2.1.149، كمان بيعرض breakdown حسب الفئة بيوضّح اللي بيستهلك من حدودك: الـ skills والـ subagents والـ plugins وتكلفة كل MCP server على حدة. لمستخدمي الـ API بيعرض إحصائيات tokens مفصّلة؛ للمشتركين بيعرض شريط استخدام الخطة والنشاط. /cost و/stats لسه شغّالين كاختصارات بتفتح التاب المناسب. الأرقام بالدولار تقديرات محسوبة محليًا — راجع الـ Claude Console للفوترة الرسمية.
بعد أول استجابة API للمحادثة، /usage بيضيف سطر Prompt cache (main) لبلوك الجلسة بيلخّص استخدامك لـ الـ prompt cache: عدد الـ requests، ونسبة الـ input tokens اللي اتخدمت من الكاش، والـ cache misses (مع وقت آخر miss وكام token اتعمله re-cache)، وأي expected rebuilds من الـ compaction أو مسح نتايج الأدوات، وهل الكاش دافي (warm) دلوقتي مع الـ TTL المُفعّل. السطر ده بيغطّي المحادثة الرئيسية بس — مش الـ subagents — و scripts الـ status line تقدر تقرا نفس الأرقام من object الـ prompt_cache. بيحتاج Claude Code v2.1.251 أو أحدث.
لما الـ Claude apps gateway يشتغل بإصدار v2.1.284 أو أحدث، /usage والـ status line بيعرضوا حدّ الإنفاق (spend limit) بتاع الـ gateway كأرقام بالدولار — مثلًا $271.40 / $500.00 spent this month — وobject الـ rate_limits.spend_limit في الـ status line بيكتسب الحقول used_usd وlimit_usd وperiod للـ scripts اللي بتعرضه. وللمشتركين في claude.ai، v2.1.284 كمان بيضيف /rate-limit-options لـ /help وقايمة الأوامر، فإشعارات حدّ الاستخدام اللي بتشاور عليه بقت بتشاور على أمر تقدر فعلًا تلاقيه وتفتحه.
/goal — الجلسات الموجّهة بهدف
أمر /goal بيحدد شرط إتمام Claude بيشتغل عليه عبر عدة أدوار. لما الهدف يبقى نشط، Claude بيفضل يشتغل بشكل مستقل لحد ما الشرط يتحقق. overlay حية بتعرض الوقت المنقضي وعدد الأدوار واستهلاك الـ tokens عشان تتابع التقدم من غير ما تقاطعه.
/goal migrate all API endpoints from REST to GraphQL
/goal all tests pass and coverage is above 80%
الأهداف بتتماشي كويس مع /effort high للمهام المعقدة متعددة الخطوات. عشان تحدد عدد الأدوار اللي Claude ياخدها، اضبط CLAUDE_CODE_MAX_TURNS كمتغير بيئة:
export CLAUDE_CODE_MAX_TURNS=50
ملخص الجلسة (Session Recap)
لما ترجع للتيرمنال بعد ما تبعد شوية، Claude Code بيعرض ملخص من سطر واحد عن اللي حصل وأنت مش موجود. الملخص بيتولّد في الخلفية بعد ما يمر على الأقل تلات دقايق من آخر دور مكتمل والتيرمنال مش متركّز عليه، يعني بيكون جاهز لما ترجع. الملخصات بتظهر بس لما الجلسة فيها على الأقل تلات أدوار، ومش بتتكرر مرتين ورا بعض.
شغّل /recap عشان تولّد ملخص في أي وقت. عشان تقفل الملخصات التلقائية، افتح /config واقفل Session recap. الملخص التلقائي مفعّل بشكل افتراضي على كل الخطط والـ providers. بيتم تخطيه دايمًا في الوضع غير التفاعلي.
تاريخ الأوامر والبحث العكسي
Claude Code بيحفظ تاريخ الإدخال حسب مجلد العمل. إرسال نفس الـ prompt مرتين ورا بعض بيسجّل إدخال واحد بس، يعني الضغط على Up بيروح للـ prompt المختلف السابق. لما تشغّل /clear بتبدأ جلسة جديدة — الـ recall بيعرض أولًا prompts الجلسة الجديدة وبعدها prompts الجلسات الأقدم، ومحادثة الجلسة السابقة محفوظة وتقدر ترجعلها بـ /resume.
اضغط Ctrl+R عشان تبحث تفاعليًا في تاريخ الأوامر. اكتب نص البحث واضغط Ctrl+R تاني عشان تتنقل في النتايج الأقدم. البحث الـ inline عن طريق Ctrl+R بيغطّي prompts من كل المشاريع افتراضيًا. في fullscreen rendering، Ctrl+R بيفتح مربع بحث بدلًا من الـ inline، وCtrl+S بيتنقل في نطاق مربع البحث بين الجلسة الحالية، المشروع الحالي، وكل المشاريع — لكن في الـ classic renderer الاختصار Ctrl+S هو اختصار stash-or-restore-prompt، مش أداة لتغيير النطاق. اضغط Tab أو Esc عشان تقبل النتيجة وتكمل تعديل، Enter عشان تقبل وتنفّذ فورًا، أو Ctrl+C عشان تلغي.
Ctrl+R → اكتب "migration" → Ctrl+R (نتايج أقدم) → Tab (قبول)
الـ Themes المخصصة
أمر /theme بيخلّيك تنشئ وتتنقل بين themes ألوان مسمّاة. الـ themes بتتخزن كملفات JSON في ~/.claude/themes/ وممكن تعدّلها يدويًا. الـ plugins كمان ممكن توفّر themes عن طريق مجلد themes/ في حزمة الـ plugin.
أنماط الـ Output
أنماط الـ Output بتغيّر طريقة رد Claude من غير ما تغيّر اللي يعرفه. بتعدّل الـ system prompt عشان تحدد الدور والنبرة والصيغة. خمس أنماط مدمجة متاحة: Default (مساعد هندسة برمجيات عادي)، Proactive (بينفّذ فورًا وبياخد قرارات معقولة بدل ما يوقف — توجيه أقوى من auto mode، بيشتغل مستقل عن وضع الصلاحيات)، Concise (بيبدأ بالنتيجة على طول، بيتخطى المقدمات والسرد، وبيخلي الردود قصيرة افتراضيًا مع إنه بيعمل شغل الهندسة بنفس دقة نمط Default — لسه بيرد بالتفصيل لما تطلب، ودايمًا بيحتفظ بالنص الكامل لتقارير الأخطاء وتحذيرات الأمان وتأكيدات الإجراءات المدمّرة؛ محتاج Claude Code v2.1.237 أو أحدث)، Explanatory (بيضيف “Insights” تعليمية بين خطوات الكود)، وLearning (وضع تعاوني Claude بيحط علامات TODO(human) على أجزاء استراتيجية عشان أنت تنفّذها).
غيّر الأنماط من /config → Output style. الاختيار بيتحفظ في .claude/settings.local.json. التغييرات بتتطبق من رسالتك الجاية — قبل v2.1.251، النمط الجديد كان بيتطبق بس بعد ما تشغّل /clear أو تبدأ جلسة جديدة.
أنماط الـ output المخصصة هي ملفات Markdown بـ frontmatter. احفظها في ~/.claude/output-styles/ (user)، أو .claude/output-styles/ (project)، أو مجلد الإعدادات المُدارة (policy). اسم الملف بيبقى اسم النمط إلا لو حددت name: في الـ frontmatter. اضبط keep-coding-instructions: true عشان تحافظ على تعليمات هندسة البرمجيات المدمجة جنب تعليماتك — سيبها من غير ما تحطها لما Claude مش بيعمل هندسة برمجيات خالص، زي مساعد كتابة أو محلل بيانات:
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---
When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.
الـ plugins ممكن توفّر output styles في مجلد output-styles/، وأنماط الـ plugin ممكن تضبط force-for-plugin: true عشان تتطبق تلقائيًا لما الـ plugin يتفعّل.
أعلام الـ CLI للأوامر
--eval-dir <dir> مش flag على مستوى الـ CLI بتاع claude — هو option بتاع claude plugin eval و claude plugin eval init، وبياخد المسار اللي فيه ملفات الـ eval. أمر claude plugin eval بيتطلّب Claude Code v2.1.269 أو أحدث:
claude plugin eval --eval-dir quality/evals
للـ runs اللي مفيش حد يقدر يرد على prompts الصلاحيات — scheduled jobs أو agent hosts من غير canUseTool callback — استخدم --permission-prompts none (Claude Code v2.1.259 أو أحدث). أي حاجة كانت هتعمل prompt بتتـ deny تلقائيًا، بينما وضع الصلاحيات الفعّال (بما في ذلك auto mode) بيستمر يقرر كل call. مع --output-format stream-json، الـ prompts المرفوضة بتيجي كرسائل permission_denied والرسالة النهائية بتجمعها تحت permission_denials:
claude -p "Update the dependency pins and run the tests" --permission-mode auto --permission-prompts none