أوامر slash: اختصارات العمل السريع
📚 تنقل السلسلة: المقال السابق 35 أوضاع الصلاحيات والتحكم بالجلسة (Modes and Control) علمك كيفية ضبط الصلاحيات والتحكم بالجلسة برمز سريع. وينتقل this المقال لشرح أداة تفاعلية نستخدمها يومياً ولكن قد نغفل عن تفاصيلها - أوامر slash (الرموز المسبوقة بـ
/). فبمجرد كتابة الرمز/في المحادثة، تفتح أمامك قائمة خيارات سريعة: تبديل النماذج، وتنظيف الذاكرة، وتشغيل مهام وخطوات عمل مخصصة قمت ببنائها. سنشرح الأوامر المدمجة، ونوضح كيفية تصميم أوامر مخصصة لك.
يقع الكثير من المستخدمين في البداية في خطأ متكرر وممل.
ففي كل مرة يريد فيها مسح المحادثة وتصفير ذاكرة الجلسة للبدء بمهمة جديدة، يقوم بالخطوات التالية: يضغط Ctrl+C للخروج من Claude Code، ويعيد كتابة أمر claude لتشغيل جلسة جديدة، وينتظر قراءة المجلد وتحميل ملف CLAUDE.md - عملية تستغرق قرابة عشر ثوانٍ في كل مرة. ويستمر في تكرار هذه الخطوات لأيام معتقداً أنها الطريقة الوحيدة لبدء محادثة نظيفة. لتفاجأ لاحقاً بوجود أمر بسيط باسم /clear يختص بـ "مسح المحادثة وبدء جلسة جديدة بذاكرة نظيفة فوراً". لتكتشف أنك كنت تضيع وقتك في عمليات إعادة التشغيل غير المجدية، وكان يكفيك كتابة ثلاثة حروف فقط.
والقائمة تطول: أمر /compact لضغط المحادثات الطويلة واستمرار الحوار، وأمر /model للتبديل السريع للنماذج، وأمر /init لتوليد ملف CLAUDE.md تلقائياً. وهي خيارات نضطر لتنفيذها يدوياً أو نغفل عن وجودها برغم توفرها في قائمة الرمز / بمجرد ضغطه.
نشرح هذه الميزات لتفادي إضاعة الوقت: فأوامر slash لا تمثل ميزات اختيارية للمحترفين، بل هي لوحة التحكم والتحريك الأساسية لـ Claude Code. فغالبية العمليات التي تهدف لضبط وتوجيه الأداة (وليس كتابة الأكواد) تتوفر منافذها عبر الرمز /. وسنشرح الأوامر المدمجة، ونوضح كيفية كتابة أوامر مخصصة لحفظ تعليقاتك وتوجيهاتك المكررة واستدعائها برمز سريع.
بعد قراءة هذا المقال، ستحصل على:
- شرح مبسط لأوامر slash ولماذا تُقبل حصرياً في بداية سطر الإدخال.
- قائمة بأهم الأوامر المدمجة مصنفة حسب مسارات العمل (
/helpو/clearو/compactو/initو/modelو/agentsوغيرها). - خطوات تصميم وبناء أمر slash مخصص بالكامل: إنشاء ملف Markdown في المجلد
.claude/commands/وإعداد الـ frontmatter وتمرير المعلمات بـ$ARGUMENTS. - تمرير البيانات الحية (مثل
git diff) لـ Claude تلقائياً عند استدعاء الأمر. - فهم عزل أسماء الأوامر لمنع تعارض الأسماء المكررة بين ملحقاتك الخاصة.
- العلاقة الجوهرية بين أوامر slash والمهارات (Skills).
- تطبيق عملي متكامل لتصميم أمر مخصص تفاعلي باسم
/explainيستقبل الأكواد ويشرحها بالتفصيل.
01 ما هي أوامر slash ولماذا تُقبل في البداية فقط؟
لنبدأ بالخلاصة: أوامر slash هي عبارة عن تعليمات توجيهية تكتبها في محادثة Claude Code - ولا تهدف لمطالبة Claude بكتابة كود للمشروع، بل توجه الأداة نفسها مباشرة: لتبديل النماذج، ومسح الذاكرة، وتشغيل خطط، وعرض شاشات التهيئة.
تحدثنا في المقالات السابقة عن نوعين من العبارات في الجلسة. عبارات المهام والطلبات: "帮我把这个函数重构一下" أو "这段报错咋回事" - وهي نصوص موجهة لنموذج الذكاء الاصطناعي ليعالجها. وعبارات التوجيه والتحكم: "把对话清了重开" أو "换成更省的模型" أو "生成一份项目说明" - وهي مهام لا يصح معالجتها بالحوار التفاعلي بل تتطلب خيارات تشغيل مباشرة. وأوامر slash تمثل لوحة مفاتيح هذه التوجيهات.
تشبيه: أزرار التوجيه في جهاز التحكم (الريموت). عند مشاهدة التلفاز، لتغيير القناة أو ضبط الصوت أو الدخول للقائمة - لن توجه كلامك للشاشة "يرجى رفع الصوت"، بل تضغط الزر المخصص له في جهاز التحكم. الزر يقوم بمهمة برمجية محددة ويطبقها فوراً دون احتمال للخطأ في الفهم. أوامر slash تعمل كأزرار التحكم لـ Claude Code: أمر /clear يمثل زر مسح الشاشة، وأمر /model يمثل زر تغيير القناة والنموذج، وأمر /help يمثل زر فتح القائمة والمساعدة. وهي عمليات برمجية محددة تختلف تماماً عن "طلب مساعدة النموذج".
يعرف التوثيق دور أوامر slash كالتالي:
توجه الأوامر وتتحكم بسلوك Claude Code من داخل الجلسة. وتوفر وسيلة سريعة لتبديل النماذج، وإدارة الصلاحيات، ومسح الذاكرة، وتشغيل مسارات الأتمتة.
وهناك قاعدة هامة يجب تذكرها لتفادي تجاهل الأوامر:
تُقبل وتُفعل الأوامر حصرياً عند كتابتها في بداية سطر الإدخال. ويتم تمرير النصوص المكتوبة بعد اسم الأمر كمعلمات له.
بمعنى أن الرمز / يجب أن يكون الحرف الأول والبدء الصريح لسطر الإدخال ليتعرف عليه النظام كأمر. فإذا كتبت "شرح تفاصيل أمر /clear" في منتصف الجملة، فلن يُنفذ الأمر بل يعامله الوكيل كنص عادي في الحوار. وتضمن هذه القاعدة سلامة الحوار ومناقشة أسماء الأوامر دون تفعيلها بالخطأ. تذكر دائماً: يكتب الأمر في البداية، ويتبعه المعلمات.
تأمل اللحظات التالية لاستدعاء هذه الأزرار:
- أثناء الحوار، شعرت أن النموذج الحالي بطيء أو غير دقيق ← اكتب أمر
/modelوانتقل فوراً للنموذج الأنسب دون الحاجة لإغلاق الجلسة. - أنهيت مهمة التنسيق بالكامل وتريد الانتقال لبناء ميزة جديدة ← اكتب أمر
/clearلمسح ذاكرة الجولة السابقة وتصفير الذاكرة مع إمكانية استدعائها لاحقاً. - 刚 clone 了个陌生项目,想让 Claude 先懂它 ← اكتب أمر
/initليقوم Claude بقراءة الملفات وتوليد مسودة ملفCLAUDE.mdتلقائياً.
هذه المهام البرمجية تختلف تماماً عن كتابة الأكواد، وتمثل دور ومحور عمل أوامر slash.
ولمعرفة الأوامر المتاحة للجلسة الحالية، اكتب الرمز / بمفرده في صندوق الإدخال، لتظهر قائمة منسدلة تعرض أسماء وأوصاف كافة الأوامر؛ وبكتابة حروف إضافية تتم تصفية القائمة تلقائياً.
💡 خلاصة سريعة: أوامر slash هي مفاتيح توجيهية لضبط سلوك الأداة (تبديل النماذج، ومسح الذاكرة، وتهيئة المشاريع)؛ وتُقبل وتُفعل حصرياً عند كتابتها كحرف أول في سطر الإدخال، ويكفي كتابة
/لتصفح القائمة بالكامل.
02 قائمة الأوامر المدمجة مصنفة حسب مسارات العمل
تضم الأداة عشرات الأوامر المدمجة. وقام التوثيق الرسمي بتصنيفها لتسهيل الرجوع إليها بناءً على خطوة عملك الحالية:
يرجى العلم أن الأوامر تندرج برمجياً تحت ثلاثة تصنيفات: أوامر مدمجة (تنفذ مهاماً برمجية ثابتة في كود الأداة مثل /clear)، ومهارات Skills (توجيهات معقدة يعالجها Claude بالاستعانة بأدواته مثل /code-review و /debug)، ومسارات عمل Workflows (عمليات معقدة تعمل بالتوازي عبر وكلاء فرعيين متعددين مثل /deep-research). ومن زاوية الاستخدام والتفعيل، تُستدعى كافة التصنيفات بكتابة الرمز / والاسم مباشرة، ولا تختلف طريقة التفاعل معها.
المجموعة الأولى: تهيئة وبدء العمل في المشاريع
تُستخدم عند الدخول لأول مرة لمجلد أو مشروع جديد:
| الأمر | المهمة والدور | متى يُنصح باستدعائه |
|---|---|---|
/init | توليد وصياغة مسودة ملف القواعد الأساسية CLAUDE.md | عند الدخول للمستودع لأول مرة (المقال 12) |
/memory | تعديل مستند الذاكرة CLAUDE.md وضبط الذاكرة التلقائية | لمراجعة وتدقيق معايير المشروع وصياغتها بدقة (المقال 25) |
/mcp | إعداد وإدارة خوادم MCP وقنوات ربط الخدمات الخارجية | لربط خوادم وقواعد بيانات خارجية بالجلسة (المقال 22) |
/agents | تصفح وإدارة جلسات الوكلاء الفرعيين (subagents) | لعرض الوكلاء الخلفيين المعزولين وتتبع مهامهم (المقال 23) |
/permissions | مراجعة وضبط قواعد الصلاحيات (المنع والسماح) | لتهيئة وضمان حماية المجلدات والملفات للمشروع (المقال 20) |
يُنصح عند بدء مشروع جديد بتشغيل /init لتوليد ملف القواعد تلقائياً، واستخدام /memory لمراجعته وتصحيح تفاصيل الملف لتناسب أسلوب عملك، وتوفر هذه الخطوات وقت كتابة الملفات يدوياً من الصفر.
المجموعة الثانية: تسيير وضبط جلسات الحوار
تُستخدم أثناء الحوار لتعديل سياق وسلوك الأداة:
| الأمر | المهمة والدور | متى يُنصح باستدعائه |
|---|---|---|
/model | التبديل السريع لنموذج التشغيل وحفظه كخيار افتراضي | عند الحاجة للانتقال لنموذج Opus للمهام الصعبة، أو Sonnet للمهام العادية |
/clear | مسح محادثة الجلسة الحالية وتصفير الذاكرة (مع حفظ القديمة) | عند إتمام مهمة بالكامل والبدء بمهمة أخرى مستقلة لتفادي تشتيت الذاكرة |
/compact | ضغط نصوص المحادثة الطويلة وتلخيصها لتوفير مساحة الذاكرة | عند طول المحادثة وامتلاء مساحة السياق (المقال 19) |
/context | عرض تمثيل بصري لحجم ومكونات السياق المطبق للجلسة | لمعرفة الملفات والبيانات التي تستهلك ذاكرة المحادثة |
/plan | الانتقال الفوري لوضع التخطيط المسبق للجلسة | لطلب دراسة وصياغة خطط معقدة دون تعديل الكود الفعلي |
الفرق بين /clear و /compact: يُستدعى /clear لبدء مهمة جديدة مستقلة (تصفير كامل للذاكرة)، ويُستدعى /compact لمواصلة العمل على نفس المهمة مع ضغط النصوص وتوفير الذاكرة.
المجموعة الثالثة: فحص وتدقيق الكود قبل الرفع
خيارات التدقيق وفحص الجودة البرمجية للملفات:
| الأمر | المهمة والدور |
|---|---|
/diff | فتح واجهة تفاعلية لعرض التغييرات الحالية للملفات قبل الرفع |
/review | فحص ومراجعة طلبات الرفع (PRs) وتوضيح الملاحظات |
/security-review | فحص ومراجعة التعديلات البرمجية للبحث عن نقاط الضعف والثغرات الأمنية |
/code-review | مراجعة الكود للبحث عن الأخطاء البرمجية وإمكانية تبسيط الكود |
المجموعة الرابعة: خيارات عامة وإعادة التهيئة
أوامر الفحص والتهيئة العامة:
| الأمر | المهمة والدور |
|---|---|
/help | عرض المساعدة وقائمة الأوامر المتاحة للجلسة |
/config | فتح واجهة الإعدادات والتحكم (تعديل المظهر، والنموذج، والخطافات) |
/doctor | تشغيل فحص تشخيصي لسلامة تركيب وتكوين الأداة وتصحيح المشاكل تلقائياً |
/resume | استدعاء واستئناف جلسات المحادثة السابقة بالاسم أو المعرف |
/skills | عرض قائمة المهارات النشطة والمتاحة للمشروع |
/rewind | التراجع عن التعديلات والعودة لنقاط استعادة سابقة نظيفة (المقال القادم) |
تختلف قائمة الأوامر المعروضة لديك بناءً على جهازك ونوع الحساب المطبق ونظام التشغيل (مثال: يظهر أمر
/desktopعلى أنظمة macOS وويندوز فقط). وتمثل القائمة المعروضة عند كتابة/المرجع الفعلي المتاح لك.
💡 خلاصة سريعة: تصنيف الأوامر المدمجة - لتهيئة المشاريع (
/init/memory/mcp)، ولتسيير الحوار (/model/clear/compact)، وللتدقيق البرمجى (/diff/review/code-review)، وخيارات عامة (/help/config/resume).
03 تصميم وبناء أمر slash مخصص لك
لتسهيل أعمالك وتجنب تكرار كتابة نفس التوجيهات والنصائح يدوياً، يمكنك تصميم أمر slash مخصص بالكامل - فكتابة ملف Markdown بسيط وحفظه في مجلد الأوامر كافٍ لإنشاء أمر slash جديد.
يوضح التوثيق آلية عمل وتسمية الأوامر المخصصة:
تمثل ملفات Markdown المحفوظة في دليل
.claude/commands/deploy.mdمصدراً لإنشاء أمر slash باسم/deployتلقائياً.
بمعنى أن إنشاء ملف باسم .claude/commands/commit.md وكتابة تعليمات الالتزام بالتنسيق داخله، ينشئ أمراً تفاعلياً باسم /commit مباشرة دون حاجة لخطوات تهيئة معقدة. فاسم الملف (دون امتداد .md) يمثل الاسم المعتمد للأمر.
لنرى كيف نقوم بتهيئة ملف أمر مخصص باسم /review لفحص الأكواد:
أنشئ ملفاً باسم .claude/commands/review.md واكتب النص التالي:
يرجى فحص ومراجعة التغييرات الحالية للملفات، والتركيز على النقاط التالية:
1. التحقق من سلامة معالجة الأخطاء البرمجية وتجنب تجاهلها.
2. التحقق من عدم كتابة قيم الاعتماد والروابط الحساسة بشكل مكشوف.
3. التحقق من كتابة وتحديث ملفات الاختبارات للتعديلات الجديدة.
صغ الملاحظات باللغة العربية مع تحديد أسماء الملفات وأرقام الأسطر.بمجرد حفظ الملف، عند كتابة /review في الجلسة، يستقبل Claude كامل النص المكتوب في الملف كمدخل مباشر - مما يوفر عليك عناء كتابة هذه الشروط يدوياً في كل مرة.
وتتوزع مستويات حفظ الأوامر المخصصة لتحديد نطاق عملها كالتالي:
| مستوى الحفظ | مجلد الحفظ | نطاق عمل الأمر | رفعه لـ git |
|---|---|---|---|
| مستوى المشروع | .claude/commands/ (داخل مجلد المشروع) | يخص المشروع الحالي فقط | نعم، يرفع ويشارك مع الفريق |
| المستوى الشخصي | ~/.claude/commands/ (في دليلك الرئيسي) | يعمل في كافة مشاريعك البرمجية | لا، يخص جهازك فقط |
القاعدة الذهبية للاختيار: الأوامر الخاصة بمعايير النشر وخطوات عمل المشروع المشتركة للفريق تُحفظ في مستوى المشروع .claude/commands/ لتُرفع للمستودع؛ والأوامر الشخصية الخاصة بتفضيلاتك ونبرة حديثك المفضلة تُحفظ شخصياً في ~/.claude/commands/ لتعمل معك في كل مكان.
💡 خلاصة سريعة: تصميم أمر مخصص = ملف Markdown في مجلد commands؛ يمثل اسم الملف الاسم الفعلي للأمر؛ ويُحفظ شخصياً لكافة المشاريع أو في مستوى المشروع ليُرفع للمستودع العام للفريق.
04 معلمات الإعدادات (frontmatter) وتمرير القيم بـ $ARGUMENTS
لتطوير كفاءة الأوامر وجعلها تفاعلية تقبل استقبال معلمات وتغيير سلوكها بناءً على مدخلات المستخدم، نستعين بـ حقول frontmatter و متغيرات تمرير القيم.
استقبال المعلمات باستخدام متغير $ARGUMENTS
يوفر النظام متغيراً مخصصاً باسم $ARGUMENTS - حيث يتم تعويض واستبدال هذا المتغير بكافة النصوص التي تكتبها بعد اسم الأمر عند تشغيله. يوضح مثال التوثيق الرسمي الفكرة:
Fix GitHub issue $ARGUMENTS following our coding standards.
1. Read the issue description
2. Understand the requirements
3. Implement the fixويشرح التوثيق تأثير المتغير كالتالي:
عند كتابة أمر التشغيل
/fix-issue 123في المحادثة، يستقبل Claude النص بعد التعويض: "Fix GitHub issue 123 following our coding standards..."
يتحول الملف لقالب تفاعلي يستقبل المعرفات والأسماء ويعوضها في الموضع المحدد للتشغيل.
تفصيل أمان إضافي يوفره النظام: في حال قمت بتمرير معلمات بعد اسم الأمر مع خلو ملف التوجيه من متغير
$ARGUMENTS، يقوم النظام بإضافة نصARGUMENTS: <القيم الممررة>تلقائياً في نهاية التعليمات لضمان عدم ضياع مدخلات المستخدم وقراءتها من Claude.
استقبال معلمات متعددة بالترتيب باستخدام $0 و $1
إذا كان الأمر يتطلب استقبال معلمات متعددة ومستقلة (مثل: "نقل المكون X من لغة React للغة Vue")، يمكنك استدعاء القيم بترتيب مواضعها باستخدام $ARGUMENTS[N] أو بالصيغة المختصرة $N (تبدأ من الصفر):
Migrate the $0 component from $1 to $2.
Preserve all existing behavior and tests.وعند تشغيل الأمر كالتالي /migrate-component SearchBar React Vue، يتم تعويض $0 بـ SearchBar و $1 بـ React و $2 بـ Vue. تنبيه هام: يتم الفصل بين المعلمات بالمسافات، وإذا كانت قيمة المعلمة تحتوي على كلمات متعددة بينها مسافات، فيجب إحاطتها بعلامات الاقتباس لتعتمد كمعلمة واحدة (مثال: /my-cmd "hello world" second لتكون القيمة الأولى hello world كاملة).
إدارة سلوك الأمر باستخدام frontmatter
نستعين بقسم frontmatter (المغلق بـ --- في أعلى الملف) لضبط صلاحيات ومسار عمل الأمر. أهم الحقول المتاحة:
---
description: تسجيل وحفظ التغييرات الحالية للمستودع
disable-model-invocation: true
---
قم بصياغة رسالة الرفع للتعديلات الحالية باتباع المعايير التالية:
1. فحص التغييرات الحالية بـ git diff
2. صياغة الرسالة باللغة العربية مع بادئة مناسبة (feat/fix/docs)
3. تشغيل أمر git commitdescription: وصف مبسط لدور وظيفة الأمر. يساعد Claude في معرفة متى يُنصح باستدعائه تلقائياً، ويُنصح بكتابته دائماً.disable-model-invocation: true: خيار هام جداً. تعيين قيمته كـtrueيمنع Claude من تفعيل وتشغيل هذا الأمر تلقائياً، ويقتصر تشغيله على استدعائك اليدوي الصريح له. ويُنصح بتفعيله لكافة الأوامر ذات التأثير المباشر على الملفات والمستودعات (مثل أوامر النشر أو الحذف أو التسجيل) لحماية الكود من التشغيل التلقائي الخاطئ للوكيل.
تذكر أن الأوامر المخصصة تكون متاحة للاستدعاء التلقائي من Claude بتقديره للحاجة إليها بناءً على وصفها. ولمنع العمليات الحساسة من العمل التلقائي، فعل خيار الحظر الصارم disable-model-invocation: true لتنحصر الصلاحية في يدك أنت فقط.
| رغبتك البرمجية | التهيئة المناسبة في frontmatter |
|---|---|
| حظر التشغيل التلقائي وحصر الصلاحية بالاستدعاء اليدوي الصريح | تعيين حقل disable-model-invocation: true |
| تزويد الوكيل بوصف يساعده في التعرف على دور الأمر وتفعيله | كتابة وصف مبسط في حقل description |
| تحديد أدوات مسموحة وتخطي أسئلة الموافقة للجلسة | تعيين قواعد الصلاحيات في حقل allowed-tools |
💡 خلاصة سريعة: يستقبل
$ARGUMENTSكافة المدخلات بعد اسم الأمر، وتُفصل المعلمات المتعددة بالترتيب بـ$0و$1؛ واستعن بقسم frontmatter لضبط خيارات التفعيل وتعيين الحظر الصارم للتشغيل التلقائي بـdisable-model-invocation: true.
05 تمرير البيانات الحية وتضمين مخرجات الأوامر
من الميزات المتقدمة والقوية للأوامر المخصصة قدرتها على تشغيل أوامر سطر أوامر وقراءة مخرجاتها الحية ودمجها في نص التعليمات قبل إرسالها لـ Claude. وتسمى هذه العملية بالحقن الديناميكي للبيانات (dynamic context injection).
لماذا تفيد هذه الميزة؟ في مثال أمر الفحص السابق /review قمنا بكتابة "افحص التغييرات الحالية" - ويضطر Claude عند قراءتها لتشغيل أداة Bash في الجلسة لقراءة التغييرات أولاً مما يستهلك خطوة برمجية إضافية. وباستخدام الحقن الديناميكي، يتم تشغيل الأمر وقراءة التغييرات ودمجها مباشرة في نص السؤال.
تتم الصياغة بكتابة الأمر بين علامتي اقتباس مسبوقاً بعلامة تعجب كالتالي !`الأمر`. يوضح التوثيق دور الميزة:
تقوم الصياغة
!`<الأمر>`بتشغيل أمر shell وقراءة مخرجاته ودمجها في نص التعليمات قبل تمريرها لـ Claude. ويستقبل Claude البيانات الفعلية مباشرة بدلاً من سطر الأمر.
تأمل إعادة صياغة أمر الفحص المخصص .claude/commands/review.md باستخدام الميزة:
## التغييرات الحالية للمستودع:
!`git diff HEAD`
## التعليمات:
يرجى فحص ومراجعة التعديلات الموضحة أعلاه، والتركيز على معالجة الأخطاء والرموز الحساسة والاختبارات وصياغة التقرير باللغة العربية.عند كتابة /review في الجلسة، تتم العمليات بالترتيب التالي:
- يقوم النظام تلقائياً بتشغيل أمر
git diff HEADعلى جهازك. - يتم قراءة مخرجات الأمر (التغييرات الفعلية للكود) وتعويضها بدلاً من سطر الأمر.
- يستقبل Claude رسالة متكاملة تحتوي على التغييرات الفعلية مباشرة ويبدأ بمعالجتها فوراً دون حاجة لتشغيل أدوات إضافية.
تساعدك الميزة في تسريع الاستجابة وتوفير خطوات عمل الوكيل بشكل كبير.
تنبيهات هامة عند استخدام الحقن الديناميكي:
- يجب كتابة علامة التعجب في بداية السطر أو بعد مسافة صريحة ليتعرف عليها النظام. وكتابتها ملتصقة بحروف أخرى سيتم تجاهلها ومعاملتها كنص عادي.
- للعمليات والأوامر المتعددة الأسطر، تجنب الكتابة السطرية واستعن بصياغة كتل التعليمات البرمجية المسبوقة بـ
```!(حيث تُكتب الأوامر سطر بسطر داخل الكتلة). - يمكن لإدارة الشركة إلغاء وتوقيف تشغيل أوامر shell للحقن الديناميكي لدواعي الحماية والأمان بتفعيل خيار
disableSkillShellExecution: trueفي إعدادات النظام الموحدة.
ويمكنك تعيين دليل ومؤشر للمدخلات في frontmatter باستخدام حقل argument-hint (مثل argument-hint: [رقم_التعديل]) ليعرض النظام تلميحاً للمدخلات المطلوبة عند كتابة اسم الأمر في المحادثة لتسهيل استدعائه.
💡 خلاصة سريعة: تتيح الصياغة
!`الأمر`تشغيل أوامر shell (مثلgit diff) ودمج مخرجاتها الحية في نص التعليمات قبل إرسالها لـ Claude؛ واكتب علامة التعجب في بداية السطر واستعن بالكتل البرمجية للأوامر الطويلة.
06 عزل أسماء الأوامر ومنع تعارض الأسماء المكررة
مع زيادة أعداد الأوامر المخصصة وتركيب ملحقات (Plugins) متعددة، يطرح السؤال: كيف يمنع النظام تداخل وتعارض الأوامر المكررة المتشابهة في الأسماء؟
يتبع النظام القواعد الصارمة التالية للفصل وتحديد الأولويات:
أولاً: ترتيب أولويات الأوامر والمهارات المحلية
عند تكرار نفس الاسم لملف أمر محلي .claude/commands/deploy.md وملف مهارة محلية .claude/skills/deploy/SKILL.md في نفس المشروع، يتبع النظام القاعدة التالية:
عند تشابه الأسماء بين أمر مخصص ومهارة محلية، تفوز وتُفعل المهارة (Skill) وتُلغى صلاحية ملف الأمر.
تذكر دائماً أن "المهارة تفوز عند التعارض"، ويُنصح بتجنب كتابة أسماء مكررة لتفادي المشاكل.
ثانياً: عزل أسماء أوامر الملحقات (Plugins) باستخدام namespaces
تعتمد الملحقات البرمجية على آلية عزل صارمة تمنع تعارض أسمائها مع أوامرك المحلية:
تستخدم مهارات الملحقات صياغة عزل تعتمد على اسم الملحق كبادئة كالتالي
plugin-name:skill-name، مما يمنع تعارضها مع أي مستويات أخرى.
تشبيه: تسجيل جهات الاتصال بأسماء الشركات. لتفادي اللبس عند وجود شخصين باسم "أحمد" في هاتفك، تقوم بحفظ أحدهما باسم "أحمد (الشركة أ)" والآخر باسم "أحمد (الشركة ب)". آلية عزل الملحقات تعمل بنفس الطريقة: فالأمر review التابع لملحق مخصص يظهر باسم /plugin-name:review حيث يمثل اسم الملحق البادئة العازلة له. وبذلك يمكنك كتابة أمر محلي خاص بك باسم /review وتثبيت ملحقات متعددة تحتوي على أوامر مراجعة أيضاً، ويعمل كل منها بشكل مستقل ودون أي تداخل برمجى.
أما الرموز المسبوقة بشرطتين سفليتين مكررتين فتخص أوامر خوادم الـ MCP النشطة وتظهر بصيغة /mcp__<server>__<prompt> (مثل /mcp__github__search_code) وتُعرض تلقائياً للجلسة عند ربط الخادم (المقال 22).
💡 خلاصة سريعة: عند تعارض الأسماء المحلية تفوز المهارة (Skill) على ملف الأمر المخصص؛ وتُعزل أوامر الملحقات تلقائياً باستخدام البادئة العازلة
اسم_الملحق:اسم_الأمرلمنع أي تداخل أو تعارض في الأسماء.
07 العلاقة الجوهرية بين أوامر slash والمهارات (Skills)
يكثر اللبس والتساؤل عند البدء بالعمل حول الفروق بين كتابة ملف أمر مخصص في مجلد .claude/commands/ وكتابة مهارة في مجلد .claude/skills/. والسر يكمن في قاعدة دمج الأنظمة التالية:
تم دمج نظام الأوامر المخصصة بالكامل ضمن بنية المهارات (Skills) الحديثة. فكتابة ملف أمر مخصص
.claude/commands/deploy.mdأو كتابة ملف مهارة.claude/skills/deploy/SKILL.mdيؤدي في النهاية لإنشاء وتفعيل نفس أمر slash التفاعلي/deployويعملان بنفس الطريقة في الجلسة.
ويمثل ملف الأمر المخصص البسيط النسخة الخفيفة للمهارة. نوضح متى يُنصح بكتابة ملف أمر مخصص ومتى يفضل الترقية لمهارة كاملة:
| حاجتك البرمجية | استخدام ملف أمر مخصص (.md) | استخدام مهارة كاملة (Skill) |
|---|---|---|
| كتابة توجيهات وشروط نصية بسيطة يدوياً | ✅ نعم، يمثل الخيار الأسهل والأسرع للتهيئة | خيار معقد ولا يتطلبه العمل البسيط |
| إرفاق ملفات إضافية (أكواد اختبار، قوالب بناء) | ❌ لا يدعم الملف الفردي إرفاق ملفات إضافية | ✅ نعم، يُحفظ كمجلد يدعم ملفات إضافية متعددة |
| تفعيل وتشغيل الخيار تلقائياً بتقدير Claude | يدعم تفعيل الوصف ولكنه غير مصمم له | ✅ نعم، يمثل الخيار الأساسي للتشغيل التلقائي |
| تزويد الوكيل بمستندات مرجعية طويلة دون حجز الذاكرة | ❌ لا يدعم، ويُحمل كامل الملف عند التشغيل | ✅ نعم، تدعم المهارات التحميل التدريجي للمستندات المرفقة |
القاعدة الذهبية للاختيار: للتوجيهات والشروط النصية البسيطة التي تستدعيها يدوياً استخدم ملف أمر مخصص في مجلد commands؛ وعند الحاجة لإرفاق ملفات اختبار أو قوالب بناء أو مستندات طويلة رقِ التهيئة لتكون مهارة كاملة (Skill) (راجع المقالات 26 و 27 و 28 لتفاصيل بناء المهارات). ويدعم النظام عمل الملفات القديمة دون مشاكل.
💡 خلاصة سريعة: يمثل ملف الأمر المخصص البسيط البوابة الخفيفة لبنية المهارات (Skills)؛ ويُنصح بالملف البسيط للتوجيهات النصية السريعة والترقية لمهارة كاملة عند الحاجة لملفات مرافقة أو تفعيل تلقائي معقد.
08 تطبيق عملي: تصميم أمر مخصص باسم /explain
سنقوم الآن بتجربة عملية لتصميم أمر مخصص تفاعلي باسم /explain يستقبل الأكواد ويقوم بشرحها بلغة بسيطة، والتحقق من عمله وتمرير المعلمات.
الخطوة الأولى: إنشاء المجلد المخصص للأوامر
سنقوم بحفظ الملف في المستوى الشخصي ليعمل في كافة مشاريعنا البرمجية. أنشئ المجلد في دليلك الرئيسي:
mkdir -p ~/.claude/commandsالخطوة الثانية: كتابة ملف التوجيه للأمر
أنشئ ملفاً باسم explain.md داخل مجلد ~/.claude/commands/ واكتب المحتوى التالي:
---
description: 用大白话解释一段代码或一个报错。当用户想搞懂某段代码或某个报错时使用。
---
请用初学者能懂的大白话,解释下面这个东西:
$ARGUMENTS
要求:
1. 先一句话说它整体在干啥
2. 再逐行 / 逐段拆开说清楚
3. 如果是报错,指出最可能的原因和怎么改
4. 少堆术语,能用生活类比就用نلاحظ حقول frontmatter في الأعلى لتحديد الوصف، وتوظيف متغير التمرير $ARGUMENTS لاستقبال الأكواد والمصطلحات.
الخطوة الثالثة: تشغيل الجلسة والتحقق من ظهور الأمر
شغل Claude Code:
claudeبمجرد الدخول، اكتب الرمز / بمفرده وراقب القائمة المنسدلة:
النتيجة المتوقعة: ستلاحظ ظهور أمرك الجديد /explain مضافاً لقائمة الخيارات مع الوصف المخصص له بنجاح. وهذا يؤكد سلامة العثور على الملف وقراءته.
الخطوة الرابعة: فحص تمرير المعلمات للأمر
اكتب اسم الأمر ومُرّر له كوداً برمجياً بسيطاً ليقوم بشرحه:
/explain print(sum([1,2,3]) / len([1,2,3]))النتيجة المتوقعة: يقوم Claude باستبدال $ARGUMENTS بالكود الممرر وتفعيل الشروط الأربعة المكتوبة في الملف - حيث يعرض خلاصة عمل الكود (حساب المتوسط الحسابي للأرقام الثلاثة) ثم يفصل الأجزاء بلغة بسيطة خالية من التعقيد. نجاح الشرح يثبت سلامة تمرير المعلمات برمجياً.
الخطوة الخامسة: تجربة تمرير معلمات مختلفة
جرب تمرير رسالة خطأ برمجى لنفس الأمر:
/explain ZeroDivisionError: division by zeroالنتيجة المتوقعة: يقوم Claude بشرح رسالة الخطأ وتوضيح أسباب حدوثها (محاولة القسمة على الصفر) وكيفية معالجتها في الكود وفق الشرط الثالث المكتوب في الملف.
الخطوة السادسة: حذف الملف للتنظيف (اختياري)
يمكنك إزالة وتفكيك الأمر بحذف الملف النصي من مجلد الأوامر الشخصي:
rm ~/.claude/commands/explain.mdبإتمام هذه الخطوات، تكون قد قمت بتصميم وتفعيل وتجربة أمر مخصص تفاعلي بنجاح.
💡 خلاصة سريعة: خطوات التطبيق - إنشاء ملف Markdown في مجلد commands الشخصي مع تحديد الوصف والمتغير
$ARGUMENTS← تشغيل الجلسة وفحص ظهور الأمر بكتابة/← تمرير كود برمجى والتحقق من دقة الشرح ← حذف الملف للتنظيف.
09 ملخص
شرحنا في هذا المقال آليات عمل أوامر slash وكيفية أتمتة وحفظ التوجيهات المكررة في أوامر مخصصة سريعة.
لنراجع النقاط الأساسية معاً:
| الهدف | الأداة والخطوات | نقاط هامة |
|---|---|---|
| إدارة وضبط سلوك الأداة | استخدام أوامر slash (الرمز /) | مفاتيح تحكم برمجية صريحة لضبط الأداة وتعمل حصرياً عند كتابتها في بداية سطر الإدخال. |
| الأوامر المدمجة | تصنيف الأوامر حسب خطوات العمل | تسهل تسيير الجلسة وتتوزع لمهام التأسيس والتحوير والتدقيق والإعدادات العامة. |
| بناء اختصاراتك المكررة | تصميم أوامر مخصصة (ملفات Markdown) | يُنشأ الأمر تلقائياً باسم ملف Markdown المحفوظ في دليل commands المحلي أو الشخصي. |
| استقبال وتغيير معلمات التشغيل | توظيف متغير $ARGUMENTS | يتم استبدال المتغير بكافة النصوص المكتوبة بعد اسم الأمر لتسهيل صياغة القوالب التفاعلية. |
| تمرير البيانات الحية مباشرة | الصياغة الديناميكية !`الأمر` | تشغيل أوامر shell (مثل git diff) ودمج نتائجها في نص التعليمات لتسريع العمل وتوفير الخطوات. |
| ضبط وحظر التشغيل التلقائي | حقول frontmatter في الملف | تعيين disable-model-invocation: true يمنع الوكيل من تشغيل الأمر تلقائياً ويحصر الصلاحية في يدك. |
| تفادي تعارض الأسماء | آليات عزل namespaces | تُعزل أوامر الملحقات تلقائياً باستخدام البادئة plugin-name:command-name لتفادي التداخل. |
| الارتباط مع المهارات | دمج الأنظمة وتكاملها | تمثل الأوامر البوابة الخفيفة لبنية المهارات (Skills) وتتكامل معها بنجاح. |
يمكنك الآن: تصفح واستدعاء الأوامر المدمجة لـ Claude Code وتجنب الأخطاء الكتابية المسببة لإعادة التشغيل الطويلة، وتصميم وبناء أمر slash مخصص بالكامل وتحديد مستوى حفظه (شخصي أم للمشروع)، وتمرير المعلمات الفردية والمتعددة بالترتيب للأوامر، وتضمين وقراءة مخرجات أوامر shell الحية وتمريرها تلقائياً، وإدارة خيارات الحماية والمنع للتشغيل التلقائي. هذا الفهم يمنحك لوحة اختصارات مخصصة لإنجاز مهامك البرمجية المكررة بنقرة واحدة وتوفير الوقت والجهد.
تذكر دائماً مراجعة الصلاحيات وحظر التشغيل التلقائي للأوامر الحساسة لحماية الكود.
المقال القادم سنشرح 37 "نقاط الاستعادة والتراجع (Checkpoints)" - فبينما تفيد الأوامر في توجيه وسلوك العمل، يطرح السؤال: ماذا لو أجرى Claude تعديلات برمجية خاطئة وتداخلت الملفات وتوقفت الاختبارات عن العمل؟ سنشرح في المقال القادم بالتفصيل كيفية استخدام ميزة نقاط الاستعادة المدمجة للرجوع والتراجع عن التعديلات وإعادة الكود والمحادثة بالكامل لنقطة سابقة نظيفة وسليمة بسهولة كأنك تلعب لعبة الكترونية وتستدعي نقاط حفظك السابقة. سنشرح ذلك بالتفصيل في المقال القادم.