TL;DR
مهارات Claude Code هي قدرات مخصصة توسع وظائف Claude لسير عمل معين. نظام Skill Creator (منشئ المهارات) يقوم بأتمتة إنشاء المهارات من خلال عملية منظمة: حدد الغرض من مهارتك، قم بصياغة ملف SKILL.md، أنشئ حالات اختبار، قم بتشغيل التقييمات بمعايير كمية، وحسّن تكرارًا بناءً على الملاحظات.
مقدمة
أنت تستخدم Claude Code يوميًا. تلاحظ أنك تكرر نفس التسلسلات: إعداد هياكل المشروع، تشغيل أوامر اختبار محددة، تنسيق المخرجات بطريقة معينة. في كل مرة، تشرح سير العمل من الصفر. ماذا لو تذكر Claude؟ ماذا لو كان بإمكانك التقاط سير العمل هذا مرة واحدة، وجعله متاحًا إلى الأبد؟ هذا ما تفعله مهارات Claude Code. إنها قدرات مخصصة تنشئها لتوسيع وظائف Claude لسير عملك المحدد. ومع Skill Creator، تكون العملية مؤتمتة ومنهجية.
يشرح لك هذا الدليل العملية بأكملها. ستتعلم تشريح المهارة، وسير عمل الإنشاء، ونظام التقييم، وكيفية التحسين من أجل تشغيل موثوق. سترى أمثلة عملية من مستودع مهارات Anthropic الرسمي.
ما هي مهارات Claude Code؟
مهارات Claude Code هي مجموعات تعليمات متخصصة توسع قدرات Claude لمجالات أو سير عمل محددة. فكر فيها كإضافات مخصصة تعيش في ملفات markdown.
هندسة نظام المهارة
تستخدم المهارات نظام تحميل من ثلاثة مستويات:
- البيانات الوصفية (Metadata) (~100 كلمة) - الاسم والوصف، دائمًا في السياق.
- جسم SKILL.md (<500 سطر) - التعليمات الأساسية، يتم تحميلها عند تشغيل المهارة.
- الموارد المجمعة (Bundled resources) (غير محدودة) - البرامج النصية، المراجع، الأصول التي يتم تحميلها عند الطلب.
skill-name/
├── SKILL.md (مطلوب)
│ ├── YAML frontmatter (الاسم، الوصف)
│ └── تعليمات Markdown
└── موارد مجمعة (اختياري)
├── scripts/ - تعليمات برمجية قابلة للتنفيذ للمهام المتكررة
├── references/ - وثائق يتم تحميلها حسب الحاجة
└── assets/ - قوالب، أيقونات، خطوط
متى يتم تشغيل المهارات
تظهر المهارات في قائمة available_skills لدى Claude مع اسمها ووصفها. يقرر Claude ما إذا كان سيستشير مهارة بناءً على هذا الوصف.
هام: لا يتم تشغيل المهارات إلا للمهام التي لا يستطيع Claude التعامل معها مباشرة. الاستعلامات البسيطة مثل "اقرأ هذا الملف" لن تؤدي إلى تشغيل مهارة حتى مع وصف مطابق. سير العمل المعقد متعدد الخطوات يتم تشغيله بشكل موثوق عندما يتطابق الوصف.
أمثلة واقعية من مستودع Anthropic
| المهارة | الغرض | الميزات الرئيسية |
|---|---|---|
| skill-creator | إنشاء مهارات جديدة | توليد حالات الاختبار، تقييم المعايير، تحسين الوصف |
| mcp-builder | إنشاء خوادم MCP | قوالب Python/Node، إطار عمل التقييم، أفضل الممارسات |
| docx | توليد مستندات Word | برامج python-docx النصية، نظام القوالب، دليل التنسيق |
| استخراج ومعالجة ملفات PDF | معالجة النماذج، استخراج النص، وثائق مرجعية | |
| frontend-design | بناء واجهات الويب | مكتبة المكونات، أنماط Tailwind، فحوصات إمكانية الوصول |
سير عمل إنشاء المهارة
تتبع عملية إنشاء المهارة حلقة منهجية:
- التقاط النية - ماذا يجب أن تفعل المهارة؟
- كتابة مسودة - إنشاء ملف SKILL.md
- إنشاء حالات اختبار - تحديد مطالبات واقعية
- تشغيل التقييمات - التنفيذ مع وبدون المهارة
- مراجعة النتائج - ملاحظات نوعية + مقاييس كمية
- التكرار - التحسين بناءً على النتائج
- تحسين الوصف - زيادة دقة التشغيل
- التعبئة - التوزيع كملف .skill
دعنا ننتقل إلى كل خطوة.
الخطوة 1: التقاط النية
ابدأ بفهم ما تريد أن تنجزه المهارة. إذا كنت تلتقط سير عمل كنت تقوم به بالفعل، فاستخرج النمط من سجل محادثاتك.
اطرح هذه الأسئلة الأربعة:
- ما الذي يجب أن تمكّن هذه المهارة Claude من فعله؟ كن محددًا بشأن النتيجة.
- متى يجب أن يتم تشغيل هذه المهارة؟ ما هي العبارات أو السياقات التي يستخدمها المستخدم؟
- ما هو تنسيق الإخراج المتوقع؟ ملفات، رمز، تقارير؟
- هل يجب علينا إعداد حالات اختبار؟ المهارات ذات المخرجات القابلة للتحقق (توليد التعليمات البرمجية، استخراج البيانات، تحويلات الملفات) تستفيد من حالات الاختبار. المهارات ذات المخرجات الذاتية (أسلوب الكتابة، جودة التصميم) غالبًا لا تحتاج إليها.
مثال: مهارة اختبار API
النية: مساعدة المطورين على اختبار واجهات برمجة التطبيقات REST بشكل منهجي
الزناد: عندما يذكر المستخدم اختبار API، أو نقاط النهاية، أو REST، أو GraphQL، أو يريد التحقق من صحة الاستجابات
الإخراج: تقارير اختبار مع حالة النجاح/الفشل، أوامر curl، مقارنات الاستجابة
حالات الاختبار: نعم - المخرجات قابلة للتحقق بشكل موضوعي
الخطوة 2: كتابة ملف SKILL.md
تبدأ كل مهارة بملف SKILL.md يحتوي على YAML frontmatter وتعليمات markdown.
تشريح المهارة
---
name: api-tester
description: كيفية اختبار واجهات برمجة التطبيقات REST بشكل منهجي. استخدمها عندما يذكر المستخدمون اختبار API، أو نقاط النهاية، أو REST، أو GraphQL، أو يريدون التحقق من صحة استجابات API. تأكد من اقتراح هذه المهارة كلما كان هناك اختبار.
compatibility: تتطلب curl أو أدوات عميل HTTP
---
# مهارة اختبار API
## سير العمل الأساسي
عند اختبار API، اتبع الخطوات التالية:
1. **فهم نقطة النهاية** - اقرأ المواصفات أو اطلب المخطط
2. **تصميم حالات الاختبار** - المسار السعيد، الحالات الهامشية، ظروف الخطأ
3. **تنفيذ الاختبارات** - استخدم curl أو Apidog للطلبات
4. **التحقق من صحة الاستجابات** - تحقق من رموز الحالة، الرؤوس، بنية الجسم
5. **الإبلاغ عن النتائج** - تلخيص النجاح/الفشل مع الأدلة
## قالب حالة الاختبار
لكل نقطة نهاية، اختبر:
- مصادقة صحيحة مع حمولة صحيحة
- مصادقة صحيحة مع حقول مطلوبة مفقودة
- مصادقة غير صالحة (متوقع 401)
- سلوك تحديد المعدل
- وقت الاستجابة تحت الحمل
## تنسيق الإخراج
قم دائمًا بتنسيق التقارير هكذا:
# تقرير اختبار API
## ملخص
- الاختبارات التي تم تشغيلها: X
- ناجح: Y
- فاشل: Z
## الاختبارات الفاشلة
### اسم الاختبار
**المتوقع:** 200 OK
**الفعلي:** 400 Bad Request
**الاستجابة:** {...}
## التوصيات
...
أفضل ممارسات الكتابة
استخدم الكشف التدريجي: حافظ على ملف SKILL.md أقل من 500 سطر. انقل المراجع التفصيلية إلى ملفات منفصلة.
api-tester/
├── SKILL.md (نظرة عامة على سير العمل)
└── references/
├── authentication.md
├── rate-limiting.md
└── response-codes.md
اشرح السبب: لا تكتفِ بسرد القواعد. اشرح سبب أهميتها.
## لماذا نختبر حالات الخطأ أولاً
اختبار حالات الخطأ قبل المسارات السعيدة يكتشف 80% من المشاكل بشكل أسرع.
عندما تفشل المصادقة بصمت، تصبح اختبارات المسار السعيد بلا معنى.
ابدأ بفحص 401.
استخدم صيغة الأمر: "تحقق دائمًا من رمز الحالة أولاً" وليس "يجب عليك التحقق..."
تضمين أمثلة: اعرض الإدخال والإخراج المتوقع.
## تنسيق رسالة الالتزام
**مثال:**
الإدخال: تمت إضافة مصادقة المستخدم باستخدام رموز JWT
الإخراج: feat(auth): implement JWT-based authentication
الخطوة 3: إنشاء حالات الاختبار
بعد صياغة المهارة، أنشئ من 2 إلى 3 مطالبات اختبار واقعية. هذه هي أنواع الطلبات التي سيقدمها مستخدم حقيقي بالفعل.
تنسيق حالة الاختبار
احفظ حالات الاختبار في evals/evals.json:
{
"skill_name": "api-tester",
"evals": [
{
"id": 1,
"prompt": "اختبر نقطة النهاية /users على api.example.com - تتطلب رمز Bearer وتعيد قائمة بالمستخدمين مع حقول id و name و email",
"expected_output": "تقرير اختبار يتضمن ما لا يقل عن 5 حالات اختبار بما في ذلك فشل المصادقة، والنجاح، واختبارات الترحيل",
"files": []
},
{
"id": 2,
"prompt": "أحتاج إلى التحقق من أن نقطة النهاية الجديدة POST /orders تتعامل مع الكميات غير الصالحة بشكل صحيح",
"expected_output": "حالات اختبار ترسل كميات سالبة، صفر، وغير رقمية مع استجابات خطأ مناسبة",
"files": ["openapi.yaml"]
}
]
}
ما الذي يجعل مطالبة الاختبار جيدة
سيء: "اختبر هذا الـ API"
جيد: "حسنًا، لقد قام فريقي للتو بنشر نقطة النهاية الجديدة للدفعات على https://api.stripe.com/v1/charges وأحتاج إلى التحقق من أنها تتعامل مع الحالات الهامشية - وبالتحديد ماذا يحدث عندما ترسل مبلغًا سالبًا أو رمز عملة غير موجود. تقول الوثائق أنه يجب أن يعيد 400 ولكنني أريد رؤية رسائل الخطأ الفعلية"
تتضمن مطالبة الاختبار الجيدة ما يلي:
- عنوان URL محدد
- سيناريو ملموس
- سلوك متوقع
- سياق واقعي
شارك حالات الاختبار الخاصة بك مع المستخدم قبل التشغيل: "إليك بعض سيناريوهات الاختبار التي أود تجربتها. هل تبدو هذه صحيحة، أم تريد إضافة المزيد؟"
الخطوة 4: تشغيل التقييمات
هنا تبرز قوة Skill Creator. ستشغل كل حالة اختبار مرتين: مرة مع المهارة، ومرة بدونها (أو مع الإصدار القديم إذا كنت تقوم بتحسين مهارة موجودة).
هيكل مساحة العمل
توضع النتائج في <skill-name>-workspace/ كمجلد شقيق لمجلد المهارة:
api-tester-workspace/
├── iteration-1/
│ ├── eval-0-auth-failure/
│ │ ├── with_skill/
│ │ │ ├── outputs/
│ │ │ └── timing.json
│ │ ├── without_skill/
│ │ │ ├── outputs/
│ │ │ └── timing.json
│ │ └── eval_metadata.json
│ ├── eval-1-pagination/
│ │ └── ...
│ ├── benchmark.json
│ └── benchmark.md
├── iteration-2/
└── feedback.json
إطلاق تشغيلات متوازية
لكل حالة اختبار، قم بإنشاء وكيلين فرعيين في نفس الدور:
التشغيل مع المهارة:
نفّذ هذه المهمة:
- مسار المهارة: /path/to/api-tester
- المهمة: اختبر نقطة النهاية /users على api.example.com
- ملفات الإدخال: لا يوجد
- حفظ المخرجات إلى: api-tester-workspace/iteration-1/eval-0/with_skill/outputs/
التشغيل الأساسي:
نفّذ هذه المهمة:
- مسار المهارة: (لا يوجد)
- المهمة: اختبر نقطة النهاية /users على api.example.com
- ملفات الإدخال: لا يوجد
- حفظ المخرجات إلى: api-tester-workspace/iteration-1/eval-0/without_skill/outputs/
التقاط بيانات التوقيت
عندما يكتمل كل وكيل فرعي، تتلقى total_tokens و duration_ms. احفظها فورًا في timing.json:
{
"total_tokens": 84852,
"duration_ms": 23332,
"total_duration_seconds": 23.3
}
تأتي هذه البيانات فقط عبر إشعار المهمة. عالج كل منها فور وصولها.
الخطوة 5: صياغة التأكيدات بينما تكتمل عمليات التشغيل
لا تنتظر فقط حتى تنتهي عمليات التشغيل. استخدم هذا الوقت بشكل منتج من خلال صياغة تأكيدات كمية.
ما الذي يجعل التأكيد جيداً
التأكيدات الجيدة هي:
- قابلة للتحقق بشكل موضوعي - النجاح/الفشل لا لبس فيه
- مسمّاة وصفياً - واضحة فيما يتم فحصه
- قابلة لإعادة الاستخدام - تعمل عبر التكرارات
أمثلة على التأكيدات لمهارة اختبار API:
{
"assertions": [
{
"name": "includes_auth_failure_test",
"description": "يتضمن تقرير الاختبار على الأقل حالة اختبار واحدة لفشل المصادقة",
"type": "contains",
"value": "401"
},
{
"name": "includes_success_test",
"description": "يتضمن تقرير الاختبار على الأقل حالة اختبار طلب ناجحة واحدة",
"type": "contains",
"value": "200"
},
{
"name": "includes_curl_commands",
"description": "تتضمن كل حالة اختبار أوامر curl قابلة للتنفيذ",
"type": "regex",
"value": "curl -"
},
{
"name": "includes_response_validation",
"description": "التقرير يتحقق من صحة بنية الاستجابة مقابل المخطط",
"type": "contains",
"value": "schema"
}
]
}
قم بتحديث eval_metadata.json و evals/evals.json بالتأكيدات بمجرد صياغتها.
الخطوة 6: التقييم والتجميع
بمجرد اكتمال جميع عمليات التشغيل:
تقييم كل تشغيل
قم بتشغيل وكيل فرعي للمُقيّم (grader subagent) يقرأ agents/grader.md ويقيّم كل تأكيد مقابل المخرجات. احفظ النتائج في grading.json في كل دليل تشغيل:
{
"eval_id": 0,
"grading": [
{
"text": "includes_auth_failure_test",
"passed": true,
"evidence": "تم العثور على رمز حالة 401 في حالة الاختبار 3"
},
{
"text": "includes_curl_commands",
"passed": true,
"evidence": "تم العثور على 'curl -X POST' في حالة الاختبار 1"
}
]
}
هام: يجب أن تستخدم مصفوفة التوقعات في grading.json أسماء الحقول text و passed و evidence. تعتمد العارضة على هذه الأسماء بالضبط.
التجميع في معيار
قم بتشغيل النص البرمجي للتجميع من دليل skill-creator:
python -m scripts.aggregate_benchmark api-tester-workspace/iteration-1 --skill-name api-tester
ينتج هذا benchmark.json و benchmark.md مع معدل النجاح (pass_rate) والوقت (time) والرموز (tokens) لكل تهيئة، بما في ذلك المتوسط ± الانحراف المعياري (stddev) والفرق (delta).
القيام بمرور المحلل
اقرأ بيانات المعيار واكتشف الأنماط:
- تأكيدات غير مميزة - تمر دائمًا بغض النظر عن المهارة (غير مفيدة)
- تقييمات عالية التباين - قد تكون متقطعة، تحتاج إلى تحقيق
- مقايضات الوقت/الرمز - هل تحسن المهارة الجودة بتكلفة معقولة؟
راجع agents/analyzer.md للحصول على إرشادات مفصلة.
الخطوة 7: إطلاق عارضة التقييم
تعرض عارضة التقييم المخرجات النوعية والمقاييس الكمية في واجهة المتصفح.
توليد العارضة
nohup python /path/to/skill-creator/eval-viewer/generate_review.py \
api-tester-workspace/iteration-1 \
--skill-name "api-tester" \
--benchmark api-tester-workspace/iteration-1/benchmark.json \
> /dev/null 2>&1 &
VIEWER_PID=$!
للتكرار 2+، قم أيضًا بتمرير --previous-workspace:
--previous-workspace api-tester-workspace/iteration-1
ما يراه المستخدم
تعرض علامة التبويب المخرجات (Outputs) حالة اختبار واحدة في كل مرة:
- المطالبة (Prompt) - المهمة المعطاة
- المخرج (Output) - الملفات المنتجة، معروضة مباشرة
- المخرج السابق (Previous Output) (التكرار 2+) - قسم مطوي يحتوي على مخرج التكرار الأخير
- الدرجات الرسمية (Formal Grades) - نجاح/فشل التأكيد مطوي
- الملاحظات (Feedback) - مربع نص يحفظ تلقائيًا أثناء الكتابة
- الملاحظات السابقة (Previous Feedback) (التكرار 2+) - تعليقات من التكرار الأخير
تعرض علامة التبويب المعيار (Benchmark):
- معدلات النجاح لكل تكوين
- مقارنات التوقيت
- استخدام الرموز (token usage)
- تقسيمات لكل تقييم
- ملاحظات المحلل
أخبر المستخدم: "لقد فتحت النتائج في متصفحك. توجد علامتا تبويب - 'المخرجات' تتيح لك النقر عبر كل حالة اختبار وترك الملاحظات، و 'المعيار' يعرض المقارنة الكمية. عندما تنتهي، عد إلى هنا وأخبرني."
بيئات العمل المشترك / بدون واجهة رسومية
إذا لم يكن webbrowser.open() متاحًا، استخدم --static لكتابة ملف HTML مستقل:
--static /path/to/output/review.html
يتم تنزيل الملاحظات كـ feedback.json عندما ينقر المستخدم على "Submit All Reviews".
الخطوة 8: قراءة الملاحظات والتكرار
عندما ينتهي المستخدم، اقرأ feedback.json:
{
"reviews": [
{
"run_id": "eval-0-with_skill",
"feedback": "الرسم البياني يفتقد تسميات المحاور",
"timestamp": "2026-03-23T10:30:00Z"
},
{
"run_id": "eval-1-with_skill",
"feedback": "",
"timestamp": "2026-03-23T10:31:00Z"
},
{
"run_id": "eval-2-with_skill",
"feedback": "مثالي، أحب هذا",
"timestamp": "2026-03-23T10:32:00Z"
}
],
"status": "complete"
}
الملاحظات الفارغة تعني أن المستخدم اعتقد أنها جيدة. ركز التحسينات على حالات الاختبار التي تتلقى شكاوى محددة.
كيف تفكر في التحسينات
التعميم من الملاحظات: أنت تنشئ مهارات تُستخدم آلاف المرات عبر العديد من المطالبات. لا تفرط في التخصيص لحالات اختبار محددة. إذا كانت هناك مشكلة عنيدة، جرب استعارات أو أنماطًا مختلفة بدلاً من عبارات "يجب أن" المقيدة.
حافظ على المطالبة مختصرة: أزل ما لا يحقق غايته. اقرأ النصوص الكاملة، وليس فقط المخرجات النهائية. إذا كانت المهارة تجعل النموذج يهدر الوقت في خطوات غير منتجة، فأزل تلك الأجزاء.
اشرح السبب: نماذج اللغة الكبيرة لديها نظرية ذهن جيدة. عندما تُعطى إطارًا جيدًا، فإنها تتجاوز التعليمات الروتينية. اشرح لماذا كل متطلب مهم. إذا وجدت نفسك تكتب "دائمًا" أو "أبدًا" بأحرف كبيرة، أعد صياغة السبب واشرحه بدلاً من ذلك.
ابحث عن العمل المتكرر: هل كتبت جميع حالات الاختبار بشكل مستقل برامج مساعدة مماثلة؟ هذه إشارة إلى أن المهارة يجب أن تجمع هذا النص البرمجي. اكتبه مرة واحدة، ضعه في scripts/، واطلب من المهارة استخدامه.
حلقة التكرار
- طبق التحسينات على المهارة
- أعد تشغيل جميع حالات الاختبار في
iteration-<N+1>/مع تشغيلات الأساس - شغّل العارضة مع توجيه
--previous-workspaceإلى التكرار السابق - انتظر مراجعة المستخدم
- اقرأ الملاحظات الجديدة، وحسّن مرة أخرى، وكرر
استمر حتى:
- يقول المستخدم إنه راضٍ
- تكون جميع الملاحظات فارغة (كل شيء يبدو جيدًا)
- لم تعد تحرز تقدمًا ذا معنى
أغلق العارضة عند الانتهاء:
kill $VIEWER_PID 2>/dev/null
الخطوة 9: تحسين وصف المهارة
حقل الوصف في مقدمة ملف SKILL.md هو الآلية الرئيسية للتشغيل. بعد إنشاء أو تحسين مهارة، قم بتحسين وصفها لتحقيق دقة أفضل في التشغيل.
توليد استعلامات تقييم المشغل
أنشئ 20 استعلام تقييم - مزيجًا من ما يجب أن يتم تشغيله وما لا يجب أن يتم تشغيله:
[
{
"query": "حسنًا، لقد أرسلت لي مديري هذا الملف xlsx (إنه في تنزيلاتي، يسمى شيئًا مثل 'Q4 sales final FINAL v2.xlsx') وتريد مني إضافة عمود يوضح هامش الربح كنسبة مئوية. الإيرادات في العمود C والتكاليف في العمود D على ما أعتقد",
"should_trigger": true
},
{
"query": "أحتاج إلى إنشاء جدول محوري من هذا CSV وإرساله بالبريد الإلكتروني إلى الفريق",
"should_trigger": false
}
]
للاستعلامات التي يجب أن تؤدي إلى التشغيل (8-10):
- صيغ مختلفة لنفس النية
- لغة رسمية وغير رسمية
- حالات لا يذكر فيها المستخدمون المهارة صراحةً ولكنهم يحتاجون إليها بوضوح
- الحالات الهامشية وحالات الاستخدام غير الشائعة
للاستعلامات التي لا يجب أن تؤدي إلى التشغيل (8-10):
- قرب التشابه الذي يشارك الكلمات المفتاحية ولكنه يحتاج إلى شيء مختلف
- مجالات مجاورة حيث تكون أداة أخرى أكثر ملاءمة
- صياغة غامضة حيث قد يؤدي تطابق الكلمات المفتاحية الساذج إلى تشغيل غير صحيح
اختبارات سلبية سيئة: "اكتب دالة فيبوناتشي" كاختبار سلبي لمهارة PDF أمر سهل للغاية. يجب أن تكون الحالات السلبية صعبة حقًا.
المراجعة مع المستخدم
قدم مجموعة التقييم باستخدام قالب HTML:
- اقرأ
assets/eval_review.html - استبدل العناصر النائبة ببيانات التقييم واسم المهارة ووصفها
- اكتب في ملف مؤقت وافتحه:
open /tmp/eval_review_api-tester.html - يمكن للمستخدم تحرير الاستعلامات، وتبديل "يجب أن يؤدي إلى التشغيل"، وإضافة/إزالة الإدخالات
- ينقر المستخدم على "تصدير مجموعة التقييم"
- يتم تنزيل الملف إلى
~/Downloads/eval_set.json
هذه الخطوة مهمة. استعلامات التقييم السيئة تؤدي إلى أوصاف سيئة.
تشغيل حلقة التحسين
python -m scripts.run_loop \
--eval-set /path/to/trigger-eval.json \
--skill-path /path/to/api-tester \
--model claude-sonnet-4-6 \
--max-iterations 5 \
--verbose
استخدم معرف النموذج الذي يشغل جلستك الحالية بحيث تتطابق اختبارات التشغيل مع ما يختبره المستخدمون.
النص البرمجي:
- يقسم مجموعة التقييم إلى 60% تدريب، 40% اختبار محجوز
- يقيم الوصف الحالي (3 تشغيلات لكل منها للموثوقية)
- يطلب من Claude اقتراح تحسينات بناءً على الإخفاقات
- يعيد التقييم على مجموعة التدريب والاختبار
- يكرر ما يصل إلى 5 مرات
- يعيد
best_descriptionالمختار حسب درجة الاختبار (وليس درجة التدريب لتجنب التخصيص الزائد)
تطبيق النتيجة
خذ best_description من مخرج JSON وحدث مقدمة ملف SKILL.md الخاص بالمهارة. اعرض على المستخدم قبل/بعد مع الدرجات.
قبل:
description: كيفية اختبار واجهات برمجة التطبيقات REST بشكل منهجي
بعد:
description: كيفية اختبار واجهات برمجة التطبيقات REST بشكل منهجي. استخدمها عندما يذكر المستخدمون اختبار API، أو نقاط النهاية، أو REST، أو GraphQL، أو يريدون التحقق من صحة استجابات API. تأكد من اقتراح هذه المهارة كلما كان هناك اختبار، حتى لو لم يذكروا صراحةً 'الاختبار'.
الخطوة 10: التعبئة والتوزيع
بمجرد اكتمال المهارة، قم بتعبئتها للتوزيع:
python -m scripts.package_skill /path/to/api-tester
ينشئ هذا ملف .skill يمكن للمستخدمين تثبيته. وجه المستخدمين إلى مسار الملف الناتج.
التثبيت
يقوم المستخدمون بتثبيت المهارات عن طريق وضع ملف .skill في دليل مهاراتهم أو باستخدام أمر تثبيت مهارات Claude Code.
أخطاء شائعة في إنشاء المهارات
الخطأ 1: وصف غامض
سيء:
description: مهارة للعمل مع واجهات برمجة التطبيقات
جيد:
description: كيفية اختبار واجهات برمجة التطبيقات REST بشكل منهجي. استخدمها عندما يذكر المستخدمون اختبار API، أو نقاط النهاية، أو REST، أو GraphQL، أو يريدون التحقق من صحة استجابات API. تأكد من اقتراح هذه المهارة كلما كان هناك اختبار، حتى لو لم يذكروا صراحةً 'الاختبار'.
الخطأ 2: تعليمات مقيدة بشكل مفرط
سيء:
استخدم دائمًا هذا التنسيق بالضبط. لا تنحرف أبدًا. يجب أن تتضمن هذه الأقسام.
جيد:
استخدم هذا التنسيق لأنه يضمن قدرة أصحاب المصلحة على العثور بسرعة على المعلومات التي يحتاجونها. إذا كان جمهورك لديه احتياجات مختلفة، فقم بتكييف الهيكل وفقًا لذلك.
الخطأ 3: تخطي حالات الاختبار
تكتشف حالات الاختبار المشكلات قبل أن يواجهها المستخدمون. حتى بالنسبة للمهارات الذاتية، قم بتشغيل 2-3 أمثلة للتحقق من جودة الإخراج.
الخطأ 4: تجاهل بيانات التوقيت
المهارات التي تستغرق وقتًا أطول بـ 10 أضعاف ليست مستدامة. التقط بيانات التوقيت وحسّن الكفاءة جنبًا إلى جنب مع الجودة.
الخطأ 5: عدم تجميع البرامج النصية المتكررة
إذا كانت كل عملية تشغيل اختبار تكتب بشكل مستقل ملف generate_report.py، فقم بتجميعها في المهارة. يوفر الوقت ويضمن الاتساق.
أمثلة لمهارات واقعية
مهارة بناء MCP
أنشأتها Anthropic لبناء خوادم MCP (بروتوكول سياق النموذج).
الميزات الرئيسية:
- قوالب Python و Node.js
- إطار عمل للتقييم لخوادم MCP
- وثائق مرجعية لأفضل الممارسات
الهيكل:
mcp-builder/
├── SKILL.md
├── reference/
│ ├── mcp_best_practices.md
│ ├── python_mcp_server.md
│ └── node_mcp_server.md
└── evaluation/
└── evaluation.md
مهارة Docx
توليد مستندات Word برمجياً.
الميزات الرئيسية:
- برامج python-docx النصية مجمعة
- نظام قوالب للمستندات الشائعة
- دليل تنسيق للتنسيق المتسق
سير العمل:
- فهم متطلبات المستند
- تحديد أو إنشاء قالب
- التوليد عبر نص python-docx البرمجي
- التحقق من بنية الإخراج
مهارة تصميم الواجهة الأمامية
بناء واجهات الويب بأنماط حديثة.
الميزات الرئيسية:
- مكتبة المكونات
- أنماط Tailwind CSS
- فحوصات إمكانية الوصول
الكشف التدريجي: سير العمل الأساسي في SKILL.md، وثائق المكونات في references/.
اختبار مهارتك باستخدام Apidog
إذا كنت تقوم بإنشاء مهارات متعلقة بـ API، فإن Apidog يندمج بشكل طبيعي في سير العمل.

مثال: دمج مهارة اختبار API
## تشغيل اختبارات API
استخدم Apidog للاختبار المنهجي:
1. استورد مواصفات OpenAPI إلى Apidog
2. أنشئ حالات اختبار من المواصفات
3. شغّل الاختبارات وصدّر النتائج كـ JSON
4. تحقق من صحة الاستجابات مقابل المخططات المتوقعة
للتأكيدات المخصصة، استخدم ميزة البرمجة النصية في Apidog.
تجميع برامج Apidog النصية
api-tester/
├── SKILL.md
└── scripts/
├── run-apidog-tests.py
└── generate-report.py
هذا يوفر كل استدعاء مستقبلي من إعادة اختراع العجلة.
الخلاصة
توسع مهارات Claude Code قدرات Claude لسير عملك المحدد. يوفر نظام Skill Creator عملية منهجية:
- التقاط النية - تحديد ما يجب أن تفعله المهارة
- صياغة SKILL.md - كتابة تعليمات واضحة مع أمثلة
- إنشاء حالات اختبار - مطالبات واقعية سيقدمها المستخدمون بالفعل
- تشغيل التقييمات - تنفيذ متوازٍ مع وبدون المهارة
- مراجعة النتائج - ملاحظات نوعية + معايير كمية
- التكرار - التحسين بناءً على النتائج
- تحسين الوصف - زيادة دقة التشغيل
- التعبئة - التوزيع كملف .skill
الأسئلة الشائعة
كم من الوقت يستغرق إنشاء مهارة؟
تستغرق المهارات البسيطة من 15 إلى 30 دقيقة. يمكن أن تستغرق المهارات المعقدة ذات الملفات المرجعية المتعددة والبرامج النصية المجمعة من 2 إلى 3 ساعات بما في ذلك تكرارات التقييم.
هل أحتاج إلى كتابة حالات اختبار لكل مهارة؟
لا. تستفيد المهارات ذات المخرجات القابلة للتحقق بشكل موضوعي (توليد التعليمات البرمجية، تحويلات الملفات، استخراج البيانات) من حالات الاختبار. يتم تقييم المهارات ذات المخرجات الذاتية (أسلوب الكتابة، جودة التصميم) بشكل أفضل نوعياً.
ماذا لو لم يتم تشغيل مهارتي بشكل موثوق؟
قم بتحسين حقل الوصف. قم بتضمين عبارات وسياقات تشغيل محددة. اجعلها "تفاعلية" قليلاً - اذكر بوضوح متى تستخدم المهارة. قم بتشغيل حلقة تحسين الوصف مع 20 استعلام تقييم.
كيف أشارك المهارات مع فريقي؟
قم بتعبئة المهارة باستخدام python -m scripts.package_skill <path>، ثم قم بتوزيع ملف .skill. يضع أعضاء الفريق هذا الملف في دليل مهاراتهم.
هل يمكن للمهارات استدعاء واجهات برمجة التطبيقات الخارجية؟
نعم. قم بتجميع البرامج النصية التي تجري مكالمات API. تخبر تعليمات المهارة Claude متى وكيف يستخدمها. قم بتخزين مفاتيح API في متغيرات البيئة، وليس في المهارة نفسها.
ما هو حد حجم الملف للمهارات؟
لا يوجد حد صارم، ولكن حافظ على SKILL.md أقل من 500 سطر. انقل المراجع التفصيلية إلى ملفات منفصلة. لا تحتسب البرامج النصية والأصول ضمن حد السطر لأنها تُحمّل عند الطلب.
كيف أقوم بتحديث مهارة موجودة؟
انسخ المهارة المثبتة إلى موقع قابل للكتابة، وقم بتحريرها هناك، ثم أعد تعبئتها. احتفظ بالاسم الأصلي - لا تضف لاحقات إصدار إلا إذا كنت تنشئ متغيرًا مميزًا.
