سيناريو مألوف لمن يستخدم Claude يوميًا: نسخ نفس التعليمات، ونفس قوائم التحقق، ونفس الإجراءات متعددة الخطوات إلى المحادثة مرارًا وتكرارًا. بعد فترة، يكلفك هذا التكرار الوقت والاتساق معًا. لحل هذه المشكلة، طوّرت Anthropic ميزة Claude Skills: بنية قابلة للمشاركة والإصدار تتيح لك منح Claude قدرات جديدة من خلال ملف Markdown واحد.
في هذا المقال نشرح ما هي Skills، وكيف تعمل، وكيف تختلف عن MCP و Hooks، ونرشدك خطوة بخطوة لإنشاء أول skill خاص بك.
ما هي Claude Skills؟#
Claude Skills هي نظام توسعة مصمم لإعطاء Claude تعليمات وإجراءات طويلة الأمد. يُعرَّف كل skill بملف SKILL.md داخل مجلد. يتكون هذا الملف من جزأين: YAML frontmatter (هوية الـskill وسلوكه) ومحتوى Markdown (التعليمات التي يتبعها Claude).
قد يساعد هذا التشبيه: فكّر فيها كـدليل إجراءات تعطيه لمساعد في العمل. "عند كتابة منشور مدونة، اتّبع هذه الخطوات، وطبّق هذه القواعد، ثم أبلغني." يقوم الـskill بنفس المهمة لـClaude — وبشكل دائم.
NOTE
تستند Skills إلى المعيار المفتوح Agent Skills. هذا يعني أنها يمكن أن تعمل مع أدوات الذكاء الاصطناعي خارج Claude Code. أضافت Anthropic إلى هذا المعيار ميزات مثل تنفيذ الوكيل الفرعي وحقن السياق الديناميكي والتحكم في الاستدعاء.
متى يكون Skill مفيدًا؟#
إذا كنت تواجه أيًا مما يلي، فقد حان وقت كتابة skill:
- تنسخ نفس التعليمات الطويلة مرارًا وتكرارًا
- تضخّم إجراء في ملف
CLAUDE.mdوأصبح "سير عمل" بدلاً من "حقائق" - تريد أن يعمل كل فرد في فريقك بنفس القواعد
- تريد جعل مهمة قابلة للتشغيل كأمر
/command
أقوى جانب في skills هو هذا: يتم تحميل محتواها فقط عند الاستدعاء. لذا فإن المواد المرجعية الطويلة لا تشغل مساحة في نافذة السياق — تنشط عند الحاجة إليها.
Skills و MCP و Hooks: من يفعل ماذا؟#
يحتوي نظام Claude البيئي على ثلاث آليات توسعة مختلفة، وغالبًا ما يتم الخلط بينها. لنوضح الفروق:
| الميزة | ماذا تفعل | متى تستخدم |
|---|---|---|
| Skills | تحمّل حزم تعليمات وإجراءات إلى Claude | المهام المتكررة، سير العمل، قوائم التحقق |
| MCP | تتصل بأدوات ومصادر بيانات خارجية | بيانات حية (API، قاعدة بيانات)، تكامل مع نظام خارجي |
| Hooks | تُعدّ أتمتة مُحفّزة بالأحداث | قبل/بعد استخدام الأداة، أحداث دورة الحياة |
ببساطة:
- Skill ← "علّم Claude ماذا يفعل"
- MCP ← "أعط Claude ما يمكنه الوصول إليه"
- Hook ← "عندما يفعل Claude شيئًا، شغّل شيئًا آخر تلقائيًا"
تُستخدم MCP لفتح الذكاء الاصطناعي على العالم الخارجي. أما Skills فتُشكّل سلوك Claude الداخلي. هذه الميزات الثلاث ليست بدائل لبعضها البعض في الواقع، بل أدوات مكمّلة.
TIP
في Çelenk Yazılım، نستخدم أدوات MCP و Skills معًا في نفس المشروع. على سبيل المثال، قد نستخدم أداة MCP لأسعار الصرف كمصدر بيانات بينما نُشغّل Skill لإنشاء التقارير المالية.
كيف يعمل Skill؟#
سير عمل Skill كالتالي:
توجد طريقتان للاستدعاء:
- استدعاء يدوي: تشغّله مباشرة بكتابة
/skill-name - التشغيل التلقائي: يقرأ Claude حقل
descriptionويُحمّل skill إذا قرر أنه ذو صلة
يتم تحميل محتوى skill مرة واحدة فقط في الجلسة ويبقى في السياق طوال الوقت. لهذا فإن أفضل ممارسة هي كتابة التعليمات كـ"قواعد دائمة التطبيق" بدلاً من "خطوات لمرة واحدة".
أين تقيم Skills؟#
المكان الذي تضع فيه skill يحدد من يمكنه الوصول إليه:
| الموقع | المسار | لمن |
|---|---|---|
| Enterprise | الإعدادات المُدارة | المؤسسة بأكملها |
| Personal | ~/.claude/skills/<name>/SKILL.md | جميع مشاريعك |
| Project | .claude/skills/<name>/SKILL.md | هذا المشروع فقط |
| Plugin | <plugin>/skills/<name>/SKILL.md | حيث تم تفعيل الإضافة |
إذا وُجدت skills متعددة بنفس الاسم، تعمل الأولوية بهذا الترتيب: Enterprise > Personal > Project. تستخدم Plugin skills فضاء الأسماء plugin-name:skill-name، لذا فهي لا تتعارض.
IMPORTANT
تقيم skills على مستوى المشروع في مجلد .claude/skills/ ويمكن إصدارها باستخدام git. يضمن هذا أن يعمل كل مطور في الفريق بنفس المعايير. في Çelenk Yazılım، نحتفظ بجميع skills المشروع داخل المستودع، ونُصدرها مثل الكود.
بنية SKILL.md#
يُنظَّم مجلد skill على النحو التالي:
my-skill/
├── SKILL.md # مطلوب — التعليمات الرئيسية
├── template.md # اختياري — ملف قالب
├── examples/ # اختياري — مخرجات نموذجية
│ └── sample.md
└── scripts/ # اختياري — نصوص قابلة للتنفيذ
└── helper.shSKILL.md مطلوب وله البنية التالية:
---
name: my-skill
description: ماذا يفعل هذا الـskill ومتى تستخدمه
---
تعليمات skill الخاصة بك تأتي هنا.
## الخطوات
1. الخطوة الأولى
2. الخطوة الثانية
3. الخطوة الثالثةحقول Frontmatter#
تُدير حقول YAML frontmatter سلوك skill. وفيما يلي الحقول الأكثر استخدامًا:
| الحقل | مطلوب | الوصف |
|---|---|---|
name | لا | اسم أمر slash. الافتراضي اسم المجلد إذا كان فارغًا. |
description | يُوصى به | ماذا يفعل skill. حاسم للتشغيل التلقائي. |
disable-model-invocation | لا | إذا كان true، يمكن للمستخدم فقط تشغيله. |
user-invocable | لا | إذا كان false، يستخدمه Claude تلقائيًا فقط؛ لا يظهر في قائمة /. |
allowed-tools | لا | الأدوات التي يمكن لـClaude استخدامها دون طلب إذن أثناء نشاط skill. |
argument-hint | لا | تلميح وسيطة معروض في الإكمال التلقائي. |
context | لا | fork يعمل في وكيل فرعي معزول. |
paths | لا | أنماط Glob — نشط فقط عند العمل مع الملفات المطابقة. |
حقل description ذو أهمية حاسمة لأن Claude يقرأه ليقرر متى يستخدم skill. تُقصَّر الـ250 حرفًا الأولى في الإكمال التلقائي، لذا ضع أهم الكلمات المفتاحية في المقدمة.
WARNING
إذا كان حقل description ضعيفًا، فلن يتم تشغيل skill تلقائيًا. بدلاً من "هذا skill يراجع الكود"، اكتب وصفًا غنيًا بالكلمات المفتاحية مثل "يراجع pull requests، يتحقق من نمط الكود، ويساعد في اكتشاف الأخطاء — استخدم لمراجعة الكود."
أنشئ أول Skill خطوة بخطوة#
لنفعل مثالاً عمليًا: skill لتوحيد رسائل git commit. نستخدم هذا skill في Çelenk Yazılım — يُولّد رسائل commit وفقًا لتنسيق Conventional Commits.
الخطوة 1: أنشئ المجلد#
نُنشئ skill على مستوى المشروع:
mkdir -p .claude/skills/commit-messageالخطوة 2: اكتب ملف SKILL.md#
---
name: commit-message
description: يُولّد رسائل git commit وفقًا لمعيار Conventional Commits. يختار النوع (feat، fix، refactor، إلخ) بناءً على التغييرات ويكتب عنوانًا وصفيًا. استخدم عند الالتزام بـgit.
disable-model-invocation: false
allowed-tools: Bash(git diff *) Bash(git status *)
---
أنشئ رسالة commit بتنسيق Conventional Commits:
## الخطوات
1. افحص مخرجات `git status` و `git diff --staged`
2. حدد نوع التغيير:
- **feat:** ميزة جديدة
- **fix:** إصلاح خطأ
- **refactor:** إعادة هيكلة الكود دون تغيير السلوك
- **docs:** تغيير الوثائق
- **style:** التنسيق، علامات الترقيم
- **test:** إضافة/تحديث الاختبارات
- **chore:** البناء، تغييرات التكوين
3. اكتب عنوانًا قصيرًا وواضحًا (الحد الأقصى 72 حرفًا)
4. أضف نصًا توضيحيًا إذا لزم الأمر
5. أنشئ رسالة commit واعرضها على المستخدم للموافقة
## القواعد
- اكتب مع التركيز على "لماذا"، وليس "ماذا"
- استخدم صيغة الأمر: "Add" وليس "Added"
- إذا كان هناك breaking change، حدّده بملاحظة `BREAKING CHANGE:`الخطوة 3: اختبر Skill#
يمكنك اختباره بطريقتين:
باستدعائه مباشرة:
/commit-messageبمحاولة تشغيله تلقائيًا:
سأقوم بعمل commit، هل يمكنك تحضير الرسالة؟في كلتا الحالتين، سيقرأ Claude مخرجات git diff، ويحلل التغييرات، ويقترح رسالة commit مناسبة.
TIP
أثناء تشغيل skill، لن تطلب أوامر Bash المُدرجة في allowed-tools إذنًا. هذا يجعل سير العمل المُستخدم بكثرة سلسًا. ومع ذلك، للأمان، اعتمد مسبقًا فقط عمليات القراءة (git diff، git status)، ولا تعتمد أبدًا أوامر لا رجعة فيها مثل git push أو rm.
أمثلة Skills العملية#
إليك بعض أفكار skills التي نستخدمها في مشاريع حقيقية ويمكنك تكييفها أيضًا:
1. Skill مراجعة الكود#
يراجع pull requests، ويتحقق من نمط الكود والأخطاء ومشكلات الأمان. يحلل مخرجات git diff ويُنتج تقريرًا منظمًا.
2. Skill كتابة منشور المدونة#
يُنشئ skill blog-yaz الذي استخدمناه لإنشاء هذا المنشور منشورات مدونة MDX متوافقة مع SEO. يتضمن البحث عن الكلمات المفتاحية والربط الداخلي وتوحيد frontmatter. يتم تشغيل العملية بأكملها بأمر /blog-yaz واحد.
3. Skill إنشاء PR#
يحلل التغييرات من الفرع الحالي مقابل main، ويُنشئ عنوانًا ووصفًا، ويُشغّل gh pr create.
4. Skill إنشاء الاختبار#
يقرأ دالة، ويحلل حالات الحافة، ويُنشئ ملف اختبار في إطار اختبار مناسب (Jest، Pytest، إلخ).
5. Skill الوثائق#
يقرأ ملف كود، ويستخرج واجهات API العامة، ويُنشئ وثائق بتنسيق JSDoc/Docstring/Markdown.
الميزات المتقدمة#
تقدم Skills ميزات قوية تتجاوز الاستخدام الأساسي.
تمرير الوسائط#
يمكنك تمرير وسائط إلى skills واستخدامها بداخلها:
---
name: fix-issue
description: إصلاح GitHub issue
---
أصلح GitHub issue رقم #$ARGUMENTS:
1. اقرأ وصف issue
2. افهم المتطلبات
3. نفّذ الحل
4. اكتب الاختبارات
5. أنشئ commitاستدعاء /fix-issue 123 يستبدل $ARGUMENTS بـ123.
للوصول المُفهرس، استخدم اختصارات مثل $0، $1، $2.
حقن السياق الديناميكي#
تُشغّل بنية !`command` أمر shell قبل إرسال محتوى skill إلى Claude. يتم لصق المخرجات في مكانها:
---
name: pr-summary
description: تلخيص pull request
allowed-tools: Bash(gh *)
---
## سياق PR
- Diff: !`gh pr diff`
- التعليقات: !`gh pr view --comments`
## المهمة
لخّص هذا PR وحدّد مناطق المخاطر.بهذه الطريقة، عند استدعاء skill، يعمل Claude مع بيانات حية بدلاً من تعليمات ثابتة.
التشغيل في وكيل فرعي#
عند إضافة context: fork، يعمل skill في وكيل فرعي معزول. يحصل على سياق منفصل عن محادثتك الرئيسية:
---
name: deep-research
description: ابحث في موضوع بعمق
context: fork
agent: Explore
---
ابحث في $ARGUMENTS بشكل شامل:
1. ابحث عن الملفات ذات الصلة باستخدام Glob و Grep
2. اقرأ وحلل الكود
3. لخّص النتائج مع مراجع الملفاتيتيح لك هذا النهج تفويض مهام البحث الثقيلة دون تلويث سياقك الرئيسي.
مشاركة Skills وإصدارها#
أحد أقوى جوانب Skills هو قابليتها للمشاركة. توجد ثلاثة نماذج مشاركة رئيسية:
- Project Skills: التزم بمجلد
.claude/skills/في git. يحصل أي شخص يستنسخ المستودع تلقائيًا على نفس skills. - Plugins: وزّع skills الخاصة بك للآخرين بإنشاء مجلد
skills/في إضافة. - Managed Settings: انشر على مستوى المؤسسة عبر الإعدادات المُدارة.
TIP
في Çelenk Yazılım، نحتفظ دائمًا بـskills على مستوى المشروع في مشاريع العملاء. عندما ينضم مطور جديد إلى الفريق، يكفي استنساخ المستودع — يتم نقل جميع معايير المشروع وقواعد رسائل commit وسير العمل تلقائيًا عبر skills.
أفضل الممارسات والمزالق#
بعض الأشياء التي يجب مراعاتها عند كتابة skills:
ما يجب فعله#
- احتفظ بـ
SKILL.mdتحت 500 سطر. انقل المواد المرجعية الأطول إلى ملفات منفصلة وأشر إليها منSKILL.md. - اكتب حقل
descriptionبكلمات مفتاحية غنية. يعتمد التشغيل التلقائي على هذا الحقل. - ضع أهم الكلمات أولاً. الـ250 حرفًا الأولى حاسمة.
- أضف ملفات داعمة (قوالب، أمثلة) إلى مجلدك. أشر إليها من داخل skill.
- اختبره. تحقق من صحة skill باستدعائه يدويًا وتلقائيًا.
ما يجب تجنبه#
- لا تُضِف عمليات خطيرة دون
disable-model-invocation: true. عمليات مثل deploy أو push يجب ألا يُشغّلها Claude تلقائيًا. - لا تمنح إذن
allowed-toolsواسعًا جدًا. اسمح فقط بالأوامر التي يحتاجها skill. - اكتب قواعد دائمة بدلاً من تعليمات مهام مؤقتة. محتوى skill صالح طوال الجلسة.
- لا تنسَ كلمة "استخدم" في
description. "يراجع الكود" أضعف من "استخدم لمراجعة الكود" للتشغيل.
الخلاصة#
Claude Skills ميزة قوية تجعل سير العمل المدعوم بالذكاء الاصطناعي مستدامًا وقابلاً للمشاركة. بملف SKILL.md واحد، يمكنك ضمان أن يعمل كل فرد في فريقك بنفس المعايير، وتقليل المهام المتكررة إلى أمر واحد، وتخصيص Claude لسير عملك الخاص.
تظهر القوة الحقيقية لـskills عند دمجها مع الأدوات المُطوَّرة عبر MCP و Hooks. تخبر Skills ماذا تفعل، وتوفر MCP ما يمكن الوصول إليه، وتُدير Hooks متى يتم التشغيل. هذا الثلاثي هو أساس عمليات التطوير الحديثة المعتمدة على الذكاء الاصطناعي.
في Çelenk Yazılım، نقدم خدمات في إعداد عمليات التطوير المدعومة بالذكاء الاصطناعي ودمج ميزات مثل Claude Skills و MCP و Hooks في مشاريع العملاء. إذا كنت ترغب في الحصول على استشارة لمشروعك، تواصل معنا عبر صفحة الاتصال.

