web-development

كيفية إضافة الأعلام إلى أوامر Slash في Claude Code: 4 أنماط تعمل فعلاً

بقلم Techsy Editorial Team
May 3, 2026
13 قراءة
كيفية إضافة الأعلام إلى أوامر Slash في Claude Code: 4 أنماط تعمل فعلاً

كيفية إضافة الأعلام إلى أوامر Slash في Claude Code: 4 أنماط تعمل فعلاً

Claude Code لا يُحلل الأعلام --flags كما تتوقع في الأوامر المخصصة — لكن أربعة أنماط تمنحك نفس تجربة المستخدم تماماً، وثلاثة منها أنظف من أي مُحلل CLI على الإطلاق. إليك كيفية إضافة الأعلام لأوامر Slash في Claude Code بشكل صحيح، مع ملفات .md جاهزة يمكنك نسخها اليوم.

الإجابة السريعة:

  • Claude Code لا يُحلل أعلام CLI مثل (--json، --verbose) للأوامر المخصصة — الإطار الداخلي لا يمتلك مُحلل أعلام.
  • لتجربة مشابهة لواجهة CLI، اكتب الأعلام داخل $ARGUMENTS ودع LLM يفسرها كنص طبيعي.
  • للوسيطات المُحددة النوع، استخدم الوسيطات الموضعية $1/$2 أو الوسيطات المسماة المُعلَنة في حقل arguments: في frontmatter.
  • وثّق الأعلام المتوقعة في argument-hint: لكي تعرضها قائمة الإكمال التلقائي / للمستخدم.

كيف تعمل وسيطات أوامر Slash في Claude Code فعلاً؟

يستبدل إطار Claude Code ثلاثة أنواع من الرموز قبل إرسال أمرك إلى LLM: $ARGUMENTS (السلسلة الكاملة بعد اسم الأمر)، والوسيطات الموضعية $0/$1/$2 (شرائح مقتبسة بأسلوب shell)، والوسيطات المسماة $variableName المُعلَنة في frontmatter. لا يوجد مُحلل أعلام CLI مدمج — --dry-run تصل إلى $ARGUMENTS كنص حرفي.

هذا هو الجزء الذي يربك الجميع. عندما تكتب /deploy --staging --dry-run، فإن Claude Code لا يشغل argparse على --staging --dry-run. الإطار يلصق تلك السلسلة الكاملة في كل مكان يشير إليه ملف .md بواسطة $ARGUMENTS، ثم يرسل الموجه المُقدَّم إلى النموذج. النموذج يرى --staging --dry-run كنص إنجليزي عادي ويقرر ماذا يفعل.

هذا ليس خطأً — هذا هو التصميم. الإطار هو طبقة استبدال، وليس مُحللاً. الأوامر المدمجة مثل /clear و/help (انظر مرجع CLI الرسمي) تمتلك أعلاماً فعلية، لكن الأوامر المخصصة التي تكتبها تخضع لقواعد مختلفة.

إطار Claude Code يستبدل الرموز، ثم يسلّم الموجه المُقدَّم إلى LLM. لا يوجد مُحلل أعلام.

في عملنا مع Claude Code، الارتباك الأكثر شيوعاً هو هذا بالضبط — يقضي المطورون ساعة يحاولون معرفة سبب عدم "اكتشاف" --verbose قبل أن يدركوا أن النموذج هو المُحلل. اعتباراً من Claude Code v2.1.126 (مايو 2026)، هذا السلوك موثق في وثائق slash-commands الرسمية ولن يتغير قريباً. أوامر Slash هي أداة مكملة لـ Claude Code hooks — كلاهما يُوسّع الإطار، لكن الأوامر تُشغَّل بمدخلات المستخدم بينما تُشغَّل الـ hooks بأحداث الأدوات.

إليك أصغر أمر مخصص ممكن يُثبت نموذج الاستبدال:

markdown
---
description: Echo whatever the user types after the command
argument-hint: [anything]
---

The user passed these arguments: $ARGUMENTS

Repeat them back verbatim, then describe what the user probably meant.

احفظه باسم .claude/commands/echo-args.md، اكتب /echo-args hello world --foo، وسيرى النموذج السلسلة الحرفية hello world --foo مُدرجة في الموجه. هذا هو النموذج الذهني بالكامل. للاطلاع على شرح أعمق حول كيفية ارتباط ملفات الأوامر بنظام Skills الأشمل، راجع مقدمة Skills لدينا.

بناء أول أمر Slash ذو معاملات في 5 دقائق

أنشئ .claude/commands/greet.md بثلاثة أسطر من frontmatter وسطر موجه واحد يشير إلى $ARGUMENTS. أعد تشغيل Claude Code، اكتب /greet World، وشاهد World يُدرَج في الموجه قبل أن يراه النموذج. هذه هي الخطوات الكاملة — خمس خطوات، بلا أدوات بناء.

إليك الوصفة من البداية إلى النهاية:

  1. أنشئ المجلد. من جذر مشروعك، شغّل mkdir -p .claude/commands. مجلد .claude/ يعيش جنباً إلى جنب مع الكود؛ الأوامر بداخله تُكتشف تلقائياً عند بدء جلسة Claude Code.
  2. اكتب ملف الأمر. احفظ المقطع أدناه باسم .claude/commands/greet.md.
  3. أعد تحميل الجلسة. أغلق وأعد تشغيل Claude Code (أو شغّل /reload إذا كان إصدارك يدعمه). تُقرأ الأوامر مرة واحدة عند بدء الجلسة.
  4. استدعه. اكتب /greet World في المحادثة.
  5. تحقق من الاستبدال. افتح النص وتأكد أن النموذج رأى World مُدرجاً في نص الموجه، وليس الرمز الحرفي $ARGUMENTS.

إليك الملف الكامل:

markdown
---
description: Greet someone enthusiastically
argument-hint: <name>
---

You are a friendly assistant. Greet the person named "$ARGUMENTS" with one short, warm sentence. Then ask them what they're working on today.

وتفاعل الطرفية:

bash
> /greet World
Hey World, great to see you! What are you working on today?

هذا كل شيء. لديك الآن أمر Slash ذو معاملات. حقل argument-hint هو ما يجعل قائمة الإكمال التلقائي / تعرض <name> بجانب أمرك — لمسة بسيطة في تجربة المستخدم، لكن أثرها كبير.

إذا لم يُستبدل $ARGUMENTS، في 9 من كل 10 حالات يكون السبب أنك كتبت $args أو $ARGS — الرمز حرفي بالأحرف الكبيرة.

الرمز حساس لحالة الأحرف وهو رمز محدد. $ARGUMENTS يعمل. كل من $arguments و$args و$ARGS و${ARGUMENTS} تفشل بصمت — تصل إلى النموذج كنص حرفي والنموذج يرى هراءً. تحقق من الهجاء ثلاث مرات قبل افتراض وجود خلل أعمق.

ما حقول frontmatter التي تتحكم في معالجة الوسيطات؟

خمسة حقول في frontmatter تشكّل طريقة تعامل أمر Slash مع الوسيطات: argument-hint (ما يعرضه الإكمال التلقائي)، وallowed-tools (ما يمكن للأمر استدعاؤه)، وarguments (إعلان الوسيطات المسماة)، وmodel (متغير Claude الذي يشغّله)، وdisable-model-invocation (يقيّد الأمر للاستدعاء البشري فقط). معاً تغطي تقريباً كل نمط ذي معاملات ستحتاجه.

إليك مرجع frontmatter الكامل للأوامر المخصصة في Claude Code v2.1.x:

الحقلالغرضمثالمطلوب؟
description:ملخص في قائمة /Run staging deployموصى به
argument-hint:تلميح الإكمال التلقائي[--dry-run] [--region us]موصى به
allowed-tools:قائمة أدوات مسموحةBash(git:*) Read Editاختياري
arguments:إعلان الوسيطات المسماة[issue, branch]اختياري
model:تجاوز النموذج لهذا الأمرclaude-opus-4-7اختياري
disable-model-invocation:منع الوكلاء من استدعاء هذا الأمرtrueاختياري
context: forkتشغيل في سياق معزولforkاختياري

خطأان يستحق تثبيتهما أمامك. أولاً، allowed-tools يفصل بـ مسافات، وليس فواصل. كتابة Bash(git:*), Read, Edit ستفشل بصمت في إدراج أي شيء في القائمة البيضاء — المُحلل يعامل السلسلة كلها كإدخال واحد مشوّه. استخدم Bash(git:*) Read Edit. تعلمنا هذا بالطريقة الصعبة؛ لمزيد من الأنماط المشابهة، انظر أفضل ممارسات CLAUDE.md لدينا حول اتفاقيات ملفات الإعداد.

ثانياً، حقل model: يتجاوز النموذج الذي اختاره المستخدم للجلسة الحالية. مفيد عندما يكون الأمر رخيص الحوسبة وتريد إجباره على متغير أصغر — راجع دليلنا حول اختيار النموذج للاختيار بين Opus 4.7 وSonnet لأنواع أوامر مختلفة.

حقل disable-model-invocation: true هو شبكة أمانك للأوامر التدميرية. ضعه على /deploy-prod أو /drop-database ولن تتمكن الوكلاء الأخرى من استدعاء هذه الأوامر برمجياً — فقط إنسان يكتب في المحادثة يمكنه تشغيلها.

ما الأنماط الأربعة للوسيطات التي ستستخدمها فعلاً؟

أربعة أنماط تغطي ما يقرب من 95% من أوامر Claude Code الحقيقية: (1) علم منطقي مثل /deploy --dry-run يُحلله النموذج من $ARGUMENTS، (2) علم ذو قيمة مثل /test --filter auth يُستخرج من $ARGUMENTS، (3) وسيطة موضعية مطلوبة + علم اختياري مثل /fix-issue 123 --priority high يمزج $1 و$ARGUMENTS، و**(4) وسيطة موضعية صارمة** مثل /migrate-component SearchBar React Vue تستخدم $0/$1/$2.

اختر ما يناسب شكل أمرك. إليك ملف .md عامل لكل منها.

أربعة أنماط وسيطات لأوامر Slash في Claude Code: العلم المنطقي، وعلم القيمة، والموضعية مع العلم، والموضعية الصارمة، مع مثال صيغة لكل منها

النمط 1: علم منطقي (--dry-run)

عندما تريد تجربة أعلام CLI والعلم مجرد تشغيل/إيقاف، اعتمد على النموذج لاكتشافه داخل $ARGUMENTS. لا منطق تحليل، لا تلاعب موضعي — فقط صِف القاعدة في الموجه.

markdown
---
description: Deploy to staging or production
argument-hint: [--dry-run]
allowed-tools: Bash(git:*) Bash(npm:*) Read
---

Deploy the current branch to staging.

Arguments passed: $ARGUMENTS

If "$ARGUMENTS" contains "--dry-run", DO NOT actually deploy. Instead, print the deployment plan: which files would change, which env vars would be set, and which commands would run. Stop after printing the plan.

Otherwise, proceed with the real deployment using `git push staging main` and `npm run deploy:staging`.

اكتب /deploy --dry-run ويرى النموذج العلم، يطبع الخطة، ويتوقف. اكتب /deploy وسيُنفّذ النشر. الإطار لم يُحلل شيئاً — النموذج قام بكل العمل، وهذا تحديداً ما يجيده.

النمط 2: علم ذو قيمة (--filter <pattern>)

نفس الفكرة، لكن الآن العلم يحمل قيمة. النموذج يقرأ --filter auth من $ARGUMENTS ويستخدم السلسلة الفرعية بعده.

markdown
---
description: Run the test suite, optionally filtered
argument-hint: [--filter <pattern>]
allowed-tools: Bash(npm:*) Read
---

Run the project's test suite.

Arguments: $ARGUMENTS

If "$ARGUMENTS" contains "--filter <pattern>", run only tests matching <pattern>. Use `npm test -- --grep <pattern>` for the actual command.

If no `--filter` is present, run the full suite with `npm test`.

Report pass/fail counts at the end.

/test --filter auth يُشغّل فقط اختبارات auth. /test يُشغّل الكل. النموذج يستخرج النمط بعد --filter بموثوقية لأن Claude جيد فعلاً في استخراج هذا النوع من النصوص المنظمة — أكثر موثوقية مما يتوقعه الناس.

النمط 3: وسيطة موضعية مطلوبة + علم اختياري

هذا الهجين هو الأكثر استخداماً في مكتبة أوامرنا. $1 يحمل الوسيطة المطلوبة، و$ARGUMENTS يحمل كل شيء (لذا يمكن للنموذج أيضاً اكتشاف الأعلام الاختيارية). إنه أنظف مزيج عندما تكون إحدى الوسيطات غير قابلة للتفاوض والباقي سياق مفتوح.

markdown
---
description: Fix a GitHub issue
argument-hint: <issue-number> [--priority high|medium|low] [context...]
allowed-tools: Bash(gh:*) Bash(git:*) Read Edit
---

Fix GitHub issue #$1.

Full arguments: $ARGUMENTS

Steps:
1. Run `gh issue view $1` to load the issue body.
2. Read the codebase to locate the relevant file(s).
3. If "$ARGUMENTS" contains "--priority high", create a hotfix branch off main. Otherwise branch off develop.
4. Apply the fix, run tests, and open a PR linked to the issue.

Anything else in $ARGUMENTS after the issue number is freeform context — fold it into your understanding of the bug.

استدعه بـ /fix-issue 1234 --priority high login form blanks the email field after a failed attempt. $1 يُحلّ إلى 1234. $ARGUMENTS يُحلّ إلى السلسلة اللاحقة بالكامل، التي يُحلّلها النموذج بسعادة لكل من علم الأولوية والوصف المفتوح.

نستخدم هذا المزيج $1 + $ARGUMENTS بالضبط في أمر /fix-issue الخاص بنا — $1 لرقم المشكلة، والباقي كسياق مفتوح يُحلله النموذج. كان النمط الأعلى عائداً على الاستثمار عبر عام من الاستخدام اليومي لـ Claude Code.

النمط 4: وسيطة موضعية صارمة (محددة النوع)

عندما تكون كل وسيطة مطلوبة والترتيب مهم، تخلص من $ARGUMENTS كلياً. استخدم $0/$1/$2 (أو الوسيطات المسماة عبر حقل arguments: في frontmatter) لفتحات محددة لا غموض فيها.

markdown
---
description: Migrate a component between frameworks
argument-hint: <component> <from-framework> <to-framework>
arguments: [component, fromFramework, toFramework]
allowed-tools: Read Edit Write
---

Migrate the component named "$component" from $fromFramework to $toFramework.

1. Read the existing component file (search for `$component.{jsx,tsx,vue,svelte}`).
2. Translate the component idioms from $fromFramework to $toFramework: lifecycle methods, state handling, prop syntax, event binding.
3. Write the new file in the matching extension for $toFramework.
4. Print a diff summary at the end.

If $fromFramework or $toFramework is unsupported, abort and tell the user which frameworks ARE supported (React, Vue, Svelte, Solid).

استدعه بـ /migrate-component SearchBar React Vue. إعلان الوسيطات المسماة يجعل الإكمال التلقائي ونص الموجه موثقاً ذاتياً — أي شخص يقرأ migrate-component.md يعرف فوراً أي فتحة لأيٍّ. هذا النمط يتألق للأوامر ذات ثلاث وسيطات مطلوبة أو أكثر. يمكنك أيضاً رؤية هذا الأسلوب في مكتبات المجتمع مثل wshobson/commands على GitHub.

الأعلام المنطقية وأعلام القيمة تعمل لأن النموذج مُحلل مرن. الوسيطات الموضعية الصارمة تعمل لأن النموذج لا يحتاج إلى ذكاء. مزج الاثنين هو السر.

متى تستخدم $ARGUMENTS مقابل الموضعية مقابل المسماة؟

استخدم $ARGUMENTS عندما تكون الوسيطات بأسلوب أعلام CLI وتريد تحليلاً مرناً من النموذج. استخدم الموضعية $1/$2 عندما تكون الوسيطات محددة النوع ومرتبة وتريد تجنب أي غموض. استخدم المسماة arguments: عندما يكون هناك 3 وسيطات أو أكثر ووضوح الإكمال التلقائي أهم من الإيجاز. إليك مصفوفة القرار:

حالة الاستخدامالخيار الأفضلالصيغةالمزاياالعيوبمثال
تجربة أعلام CLI مع وسيطات اختيارية$ARGUMENTS$ARGUMENTS في النصمرن، يحاكي تجربة Unixتحليل جانب النموذج، لا تحقق/deploy --staging --dry-run
وسيطات مطلوبة محددة النوع ومرتبةالموضعية $0/$1$0 $1 $2 في النصلا غموض، سريعهشّ لترتيب الوسيطات/migrate Button React Vue
3+ وسيطات حيث الوضوح مهممسماة عبر arguments:arguments: [a, b, c] ثم $a $b $cموثق ذاتياًfrontmatter مطوّل/issue 123 main high
مطلوبة + اختيارية مختلطةهجين ($1 + $ARGUMENTS)$1 ثم $ARGUMENTSأفضل ما في الخياريننموذجان ذهنيان في ملف واحد/fix-issue 123 --priority high

شجرة قرار للاختيار بين $ARGUMENTS والوسيطات الموضعية والمسماة في أوامر Slash في Claude Code

الغريزة لدى معظم المطورين هي اللجوء إلى $ARGUMENTS أولاً لأنها تبدو أقرب لعالم bash الذي يعرفونه. هذا مقبول للنماذج الأولية، لكن الوسيطات الموضعية أفضل فعلاً عندما العقد مستقر. النموذج لا يحتاج إلى تحليل $1 — إنها سلسلة نظيفة جاهزة.

قاعدة أساسية تقريبية: إذا كنت تستطيع وصف توقيع الأمر في جملة إنجليزية واحدة دون استخدام كلمتي "أو" و"اختيارياً"، اذهب للموضعية. إذا احتجت هذه الكلمات، اذهب لـ $ARGUMENTS.

هل أوامر Slash هي نفسها Skills الآن؟

دمجت Anthropic الأوامر المخصصة في نظام Skills الأشمل في ربيع 2026، لكن ملفات .claude/commands/*.md لا تزال تعمل وتستخدم نفس frontmatter. Skill هي مجلد (.claude/skills/foo/SKILL.md مع ملفات داعمة) مع تحكم إضافي في الاستدعاء مثل disable-model-invocation. أمر هو ملف .md واحد. نفس قواعد الاستبدال، تعبئة مختلفة.

إليك الفرق العملي:

الجانب.claude/commands/foo.md.claude/skills/foo/
شكل الملفملف .md واحدمجلد مع SKILL.md + ملفات داعمة
الأفضل لـأوامر سريعة لمرة واحدة، أتمتة محلية للمشروعحزم قابلة لإعادة الاستخدام مع قوالب ومراجع وملفات فرعية
التحكم في الاستدعاءfrontmatter فقطfrontmatter + disable-model-invocation لكل ملف
معالجة الوسيطاتمتطابقة ($ARGUMENTS، $1، مسماة)متطابقة ($ARGUMENTS، $1، مسماة)

مقارنة شجرة الملفات: ملف .claude/commands/foo.md واحد مقابل مجلد .claude/skills/foo/ يحتوي SKILL.md وملفات داعمة

إذاً، .claude/commands/ ليس مُهملاً. Anthropic أبقت صراحةً على عمل شكل الملف عندما دمجت النظامين — عدد كبير جداً من المشاريع لديها مكتبات أوامر مثبتة في نظام التحكم بالإصدارات. إذا أردت ملفات داعمة (مثل مرجع CONTRIBUTING.md تحمّله مهارتك، أو template.json تنسخه)، اذهب للـ skills. وإلا بقِ مع الأوامر.

الدمج جزء من توجه أشمل نحو معيار agentskills.io المفتوح، وهو من بين عدة تغييرات في v2.1.x تستحق المعرفة — انظر ملخصنا لـ ميزات Claude Code v2.1 للصورة الكاملة ودليل skills لدينا للشرح الأعمق.

لماذا لا يُستبدل $ARGUMENTS؟ إصلاح الأخطاء الشائعة

خمسة أسباب شائعة لفشل استبدال $ARGUMENTS: (1) رمز بأحرف صغيرة أو مختصر ($args، $ARGS، $arguments — يجب أن يكون $ARGUMENTS حرفياً)، (2) وسيطات متعددة الكلمات بلا تعليمات اقتباس (/cmd hello world يُقسَّم؛ /cmd "hello world" يبقى معاً)، (3) allowed-tools مفصولة بفواصل عوضاً عن مسافات، (4) ملف الأمر ليس في .claude/commands/ أو .claude/skills/، (5) جلسة Claude Code تحتاج إعادة تحميل بعد تعديل الملف.

$ARGUMENTS يظهر حرفياً في موجه النموذج

الأعراض: يعرض موجهك $ARGUMENTS كنص عادي في رد النموذج، كأن الإطار تجاهله. السبب: حالة أحرف خاطئة أو هجاء خاطئ. الرمز هو $ARGUMENTS حرفياً — ثمانية أحرف، كلها كبيرة. الإصلاح: افتح ملف .md، ابحث عن $args أو $ARGS أو $arguments أو ${ARGUMENTS}، واستبدلها بـ $ARGUMENTS. خطأ $args وقع فيه كل مطور في فريقنا مرة على الأقل؛ إنه الخطأ الأعلى تكراراً في عائلة "أمر slash غير معروف".

الوسيطة المتعددة الكلمات تنقسم بشكل غير متوقع

الأعراض: شغّلت /migrate-component Search Bar React Vue وتجد $1 هو Search و$2 هو Bar. السبب: المسافات تُقسّم الوسيطات الموضعية. الإصلاح: أحِط الوسيطة متعددة الكلمات بعلامات اقتباس: /migrate-component "Search Bar" React Vue. الآن $1 هو Search Bar. هذا يتطابق مع سلوك shell، وهو النموذج الذهني الذي يحاكيه الإطار عمداً.

allowed-tools غير مُطبَّقة

الأعراض: يعمل الأمر لكن Claude يرفض استدعاء أدوات ظننت أنك أدرجتها في القائمة البيضاء، أو يستدعي أدوات لم تدرجها. السبب: مفصولة بفواصل عوضاً عن مسافات. الإصلاح: غيّر allowed-tools: Bash, Read, Edit إلى allowed-tools: Bash Read Edit. لأنماط الأدوات الفرعية، استخدم الصيغة Bash(git:*) Bash(npm:*) Read.

الأمر لا يظهر في الإكمال التلقائي /

الأعراض: تكتب / وأمرك ليس في القائمة. السبب: موقع الملف، أو frontmatter مفقود، أو disable-model-invocation مُعيَّن بشكل خاطئ. الإصلاح: تأكد أن الملف في .claude/commands/yourcmd.md (أو .claude/skills/yourcmd/SKILL.md) نسبة إلى جذر مشروعك. تأكد أن frontmatter يحتوي على الأقل حقل description:. إذا عيّنت disable-model-invocation: true، الأمر لن يظهر للوكلاء الأخرى لكنه سيظهر في قائمة / للمستخدم البشري.

عدّلت ملف .md لكن لا شيء تغيّر

الأعراض: أصلحت الخطأ، حفظت الملف، شغّلت الأمر مجدداً، نفس السلوك المعطوب. السبب: Claude Code يخزّن ملفات الأوامر مؤقتاً عند بدء الجلسة. الإصلاح: أغلق وأعد تشغيل Claude Code، أو شغّل /reload إذا كان إصدارك يدعمه.

Claude Code يقرأ ملفات .md عند بدء الجلسة. إذا عدّلت أمراً ولم يتغير شيء، أعد تشغيل جلستك قبل افتراض وجود خلل أعمق.

للحالات الحدية خارج هذه الأسباب الخمسة، مشكلات مستودع Claude Code هي أفضل مكان للبحث. معظم أخطاء الاستبدال الغريبة التي رأيناها هي أحد المشكلات أعلاه بشكل أو بآخر.

الأسئلة الشائعة: وسيطات أوامر Slash في Claude Code

كيف أُمرر وسيطات لأمر Slash في Claude Code؟

اكتب سلسلة الوسيطات بعد اسم الأمر: /greet World. داخل ملف .md الخاص بأمرك، أشر إلى القيمة بـ $ARGUMENTS (السلسلة بالكامل)، أو $1 (أول وسيطة موضعية)، أو $variableName (إذا أعلنت arguments: [variableName] في frontmatter). الإطار يستبدل الرمز قبل إرسال الموجه إلى النموذج.

ما هو $ARGUMENTS في Claude Code؟

$ARGUMENTS هو رمز استبدال في ملفات أوامر Slash المخصصة يستبدله إطار Claude Code بسلسلة الوسيطات الكاملة التي كتبها المستخدم بعد اسم الأمر. إذا شغّل المستخدم /deploy --staging --dry-run، فإن $ARGUMENTS يصبح السلسلة الحرفية --staging --dry-run داخل الموجه المُقدَّم قبل أن يراه النموذج.

هل يمكن لأوامر Slash في Claude Code قبول أعلام بأسلوب CLI مثل --json؟

ليس بشكل مدمج — الإطار لا يمتلك مُحلل أعلام للأوامر المخصصة. تكتب --json داخل $ARGUMENTS، وموجهك يوجه النموذج لاكتشافها والتصرف وفقاً لذلك. هذا يعمل لأن Claude مُحلل مرن للنصوص المنظمة. الأوامر المدمجة مثل /clear و/help تمتلك أعلاماً حقيقية، لكن الأوامر المخصصة التي تكتبها تخضع لقواعد الاستبدال فقط.

ما الفرق بين $1 و$ARGUMENTS و$name في Claude Code؟

$1 هي أول وسيطة موضعية مفصولة بمسافة ($2 هي الثانية، وهكذا). $ARGUMENTS هي سلسلة الوسيطات الكاملة حرفياً، بما فيها كل القطع الموضعية وأي أعلام. $name هي وسيطة مسماة مُعلنة في حقل frontmatter arguments: [name] — مفيدة عندما تريد فتحات موضعية موثقة ذاتياً بلا فهرسة رقمية.

كيف يعمل argument-hint في Claude Code؟

argument-hint هو حقل frontmatter يتحكم في ما تعرضه قائمة الإكمال التلقائي / بجانب اسم أمرك. تعيين argument-hint: <issue-number> [--priority high] يعرض ذلك القالب بالضبط بعد أن يكتب المستخدم /. إنه لتجربة المستخدم فقط — لا يتحقق من الوسيطات ولا يُحللها. لا يزال يستحق التعيين لأنه أرخص توثيق ستكتبه على الإطلاق.

كيف أنشئ أمر Slash مخصص بوسيطات متعددة؟

خياران نظيفان. للموضعية: أشر إلى $1 و$2 و$3 في نص موجهك. للمسماة: أعلن arguments: [first, second, third] في frontmatter وأشر إلى $first و$second و$third. المسماة أكثر قابلية للقراءة عند ثلاث وسيطات أو أكثر. استخدم $ARGUMENTS فقط عندما تريد من النموذج تحليل سلسلة حرة بعد الفتحات الموضعية المطلوبة.

هل .claude/commands/ مُهمل لصالح .claude/skills/؟

لا. دمجت Anthropic النظامين في ربيع 2026 لكنها أبقت صراحةً على عمل .claude/commands/*.md بقواعد استبدال متطابقة. استخدم الأوامر للأتمتة بملف واحد والـ skills لحزم متعددة الملفات (SKILL.md مع قوالب أو مراجع). نفس frontmatter، نفس سلوك $ARGUMENTS، تعبئة مختلفة. كلاهما من الفئة الأولى اعتباراً من v2.1.126.

لماذا لا يُستبدل $ARGUMENTS في أمري؟

ثلاثة أسباب رئيسية بترتيب التكرار: خطأ في حالة الأحرف (يجب أن يكون $ARGUMENTS بأحرف كبيرة، وليس $args أو $arguments)، موقع ملف خاطئ (يجب أن يكون في .claude/commands/ أو .claude/skills/)، أو جلسة قديمة (Claude Code يقرأ ملفات الأوامر عند بدء الجلسة، لذا أعد التشغيل بعد التعديل). إذا كانت الثلاثة صحيحة، شغّل /echo-args foo مع المثال الأدنى من H2 الأول لعزل المشكلة.

هل يمكنني جعل وسيطات معينة مطلوبة؟

ليس على مستوى الإطار — لا يوجد تحقق مدمج من الوسيطات المطلوبة. النمط هو توجيه النموذج في موجهك: "إذا كان $1 فارغاً، توقف وأخبر المستخدم بتقديم رقم مشكلة." النموذج يُطبّق العقد. ليس مضموناً بالكامل، لكنه في الممارسة موثوق بما يكفي للاستخدام اليومي، خاصة عند إقرانه بـ argument-hint واضح.

هل يتجاوز model: في frontmatter أعلام CLI؟

نعم — frontmatter يفوز. إذا أعلن ملف أمرك model: claude-haiku-4، فإن هذا الأمر يعمل على Haiku بغض النظر عن النموذج الذي اختاره المستخدم للجلسة. مفيد للأوامر الرخيصة التي تُستدعى كثيراً وتريد إبعادها عن Opus. راجع دليلنا حول تبديل نماذج Claude لاختيار المتغير المناسب لكل نوع أمر.

خلاصة

أربعة أنماط. اختر ما يناسب شكل أمرك:

  • علم منطقي (--dry-run) — اكتبه في $ARGUMENTS، دع النموذج يكتشفه.
  • علم ذو قيمة (--filter <pattern>) — نفس النهج، النموذج يستخرج القيمة.
  • وسيطة موضعية مطلوبة + علم اختياري$1 للأساسي، $ARGUMENTS للباقي.
  • وسيطة موضعية صارمة$0/$1/$2 (أو مسماة عبر arguments:) عندما كل فتحة مطلوبة ومرتبة.

الآن بعد أن أصبحت أوامرك ذات معاملات، الخطوة التالية هي ربطها بسير عمل الوكلاء — ابدأ بـ دليل Claude Skills لدينا للترقية إلى التعبئة متعددة الملفات، أو تصفح أدوات البرمجة البديلة بالذكاء الاصطناعي إذا كنت تقارن بين الأطر المختلفة. في كلتا الحالتين، مجلد .claude/commands/ الخاص بك أصبح أكثر فائدة بكثير.

الوسوم

claude-codeslash-commandsclaude-skillsdeveloper-toolsclaude-code-arguments

شارك هذا المقال

مقالات ذات صلة

المزيد في web-development

web-development
Jul 31, 2026

توريد البرمجيات المخصصة: دليل المشتري لعام 2026 في 7 خطوات

عملية توريد البرمجيات المخصصة في 7 خطوات، من دراسة الجدوى حتى التسليم المقبول، مع هيكل طلب تقديم العرض وبطاقة تقييم الموردين و9 بنود تعاقدية تحمي ميزانيتك. مكتوب من جانب المورّد على طاولة التفاوض.

قراءة 13 دقيقة قراءة
اقرأ
web-development
Jul 30, 2026

Block Buzz: مساحة عمل وكلاء الذكاء الاصطناعي حيث الوكلاء زملاء لا روبوتات

Buzz هي مساحة العمل المستضافة ذاتيًا من Block حيث يتشارك البشر ووكلاء الذكاء الاصطناعي الغرف نفسها، مبنية على مُرحِّل Nostr بحيث تكون كل رسالة وتصحيح وموافقة حدثًا موقّعًا واحدًا. إليك كيف تعمل فعليًا.

11 دقيقة قراءة قراءة
اقرأ
web-development
Jul 22, 2026

تكامل HubSpot API لأدوات داخلية مخصصة: دليل Node وPython (2026)

دليل عملي (أولاً بالكود) لبناء تكامل HubSpot API لأداة داخلية مخصصة: مصادقة بتوكن التطبيق الخاص، أول طلب لإنشاء جهة اتصال بلغتي Node وPython، مستقبل webhook موثّق التوقيع، معالجة أخطاء 429، وإطار عمل صادق للبناء مقابل الاستعانة بشريك.

12 دقيقة قراءة قراءة
اقرأ
ابدأ مشروعك

هل أنت مستعد لبناء شيء استثنائي؟

دعنا نحول رؤيتك إلى واقع. فريقنا جاهز لمساعدتك في إنشاء برمجيات تصنع الفرق.