يأتي Claude Code مزوداً بمساعد ذكاء اصطناعي للأغراض العامة. تتيح لك المهارات (Skills) تخصيصه. المهارة هي ملف markdown يعلم Claude Code كيفية التعامل مع نوع معين من المهام: النشر في Kubernetes، كتابة هجرات قواعد البيانات (database migrations)، مراجعة طلبات السحب (pull requests)، أو اتباع اتفاقيات البرمجة الخاصة بفريقك.
الفرق بين "اكتب لي مكون React" و"اكتب لي مكون React يتبع نظام التصميم الخاص بنا، باستخدام الـ custom hooks الخاصة بنا، مع حدود خطأ (error boundaries) مناسبة وسمات إمكانية الوصول (accessibility attributes)" هو المهارة.
توضح وثائق Claude Code الرسمية الآن أمراً واحداً بشكل صريح: تم دمج الأوامر المخصصة (custom commands) في المهارات. الملفات الموجودة في .claude/commands/ لا تزال تعمل، لكن المهارات هي التجريد الموصى به لأنها تدعم بيانات وصفية (metadata) أغنى، وملفات داعمة، وتحميلاً تلقائياً. إذا كنت تقوم بتوحيد سير عمل الفريق اليوم، فقم ببنائه كمهارة أولاً وعامل الأوامر القديمة كمسار توافق.
ما هي المهارات في الواقع
تعيش المهارة في دليل يحتوي على نقطة إدخال SKILL.md. يمكن لـ Claude تحميلها تلقائياً عندما يتطابق الوصف مع المهمة الحالية، أو يمكنك استدعاؤها مباشرة باستخدام /skill-name.
.claude/
skills/
deploy/
SKILL.md # /deploy
review-pr/
SKILL.md # /review-pr
write-test/
SKILL.md # /write-test
لا يزال Claude يدعم .claude/commands/deploy.md، وسيظل أمر الشرطة المائلة (slash command) يعمل. لكن الإصدار الحديث هو .claude/skills/deploy/SKILL.md.
قد يبدو هذا تغييراً بسيطاً في التسمية، لكنه مهم لأن المهارات يمكن أن تحمل ملفات داعمة، و frontmatter، وعناصر تحكم في الاستدعاء، وتلميحات للعملاء الفرعيين (subagent hints). يمكن لملف أمر بسيط أن يخبر Claude بما يجب فعله، أما المهارة فيمكنها إخبار Claude بكيفية توقع الفريق لإنجاز العمل.
كتابة مهارتك الأولى
إليك مثال عملي: مهارة تفرض اتفاقيات رسائل الالتزام (commit messages) الخاصة بفريقك.
قم بإنشاء .claude/skills/commit/SKILL.md:
---
name: commit
description: Generate and validate conventional commits for this repo.
---
# Commit Workflow
## Steps
1. Run `git diff --staged` to see what's being committed
2. Analyze the changes and categorize: feat, fix, refactor, docs, test, chore
3. Write a commit message following our convention:
- Format: `type(scope): description`
- Scope is the package or module name
- Description is imperative mood, lowercase, no period
- Body explains WHY, not WHAT
4. If changes touch multiple scopes, create separate commits
5. Run `git commit -m "message"` with the generated message
## Rules
- Never use `--no-verify` to skip hooks
- Never amend published commits
- If tests fail in pre-commit, fix the issue first
## Examples
- `feat(billing): add stripe webhook handler`
- `fix(auth): handle expired refresh tokens`
- `refactor(api): extract rate limiter to shared package`
الآن يمنح /commit لـ Claude Code سير عمل منظماً بدلاً من تعليمات غامضة مثل "التزم بتغييراتي".
إذا كان لديك بالفعل ملفات أوامر قديمة، فاحتفظ بها تعمل أثناء الانتقال، ولكن لا تستمر في الاستثمار في التخطيط القديم. الوثائق الرسمية واضحة في أن المهارات هي المسار المستقبلي.
أين تعيش المهارات الآن
يكتشف Claude Code حالياً المهارات من أربعة أماكن:
- المهارات الشخصية:
~/.claude/skills/<skill-name>/SKILL.md - مهارات المشروع:
.claude/skills/<skill-name>/SKILL.md - مهارات المشروع المتداخلة في monorepos
- المهارات التي توفرها الإضافات (plugins)
يمنحك هذا تقسيماً واضحاً:
- المهارات الشخصية لأسلوب عملك الخاص
- مهارات المشروع لاتفاقيات المستودع (repo)
- مهارات الإضافات لسير العمل المعبأ القابل لإعادة الاستخدام
لاعتماد الفريق، قم بإضافة مهارات المشروع إلى المستودع. هذا هو الفرق بين "لدي برومبت جيد على جهازي المحمول" و "الفريق لديه الآن سير عمل قابل للتكرار".
أنماط تصميم المهارات
نمط قائمة التحقق (The Checklist Pattern)
الأفضل للمهام التي تتطلب خطوات تحقق متعددة.
# Pre-Deploy Checklist
Before deploying, verify each item:
- [ ] `pnpm typecheck` passes
- [ ] `pnpm test` passes
- [ ] No console.log statements in production code
- [ ] Environment variables documented in .env.example
- [ ] Database migrations are reversible
- [ ] API changes are backward compatible
If any check fails, stop and report the issue. Do not proceed with deployment.
نمط شجرة القرار (The Decision Tree Pattern)
الأفضل للمهام التي يعتمد فيها النهج على السياق.
# Bug Fix Workflow
1. Reproduce the bug (find or write a failing test)
2. Identify the root cause:
- If it's a type error → fix the type definition at the source
- If it's a race condition → add proper locking/sequencing
- If it's a missing validation → add schema validation at the boundary
- If it's a logic error → fix and add regression test
3. Verify the fix doesn't break existing tests
4. Write a test that would have caught this bug
نمط القالب (The Template Pattern)
الأفضل لإنشاء مخرجات متسقة.
# New API Endpoint
Create a new API endpoint following our conventions:
## File Structure
- Route handler: `apps/api/src/routes/{resource}/{action}.ts`
- Schema: `apps/api/src/schemas/{resource}.ts`
- Test: `apps/api/src/routes/{resource}/__tests__/{action}.test.ts`
## Required Elements
- Zod schema for request validation
- Authentication middleware
- Rate limiting
- Structured error responses using errorResponse()
- Success responses using successResponse()
- OpenAPI documentation comments
تثبيت مهارات المجتمع
يمتلك نظام Claude Code البيئي مكتبة متنامية من مهارات المجتمع. قم بتثبيتها باستخدام:
npx add-skill username/repo-name -y
مجموعات المهارات الشائعة:
coreyhaines31/marketingskills(29 مهارة تسويق/SEO)hedging8563/lemondata-api-skill(تكامل LemonData API)
تظهر المهارات المثبتة في ~/.claude/commands/ وتعمل عبر جميع المشاريع.
تكشف حزم المهارات المثبتة بشكل متزايد عن مهارات حقيقية بدلاً من مجرد markdown لأوامر الشرطة المائلة. إذا كنت تدير المستودع الخاص بك، فإن النمط من OpenCode + LemonData ينطبق هنا أيضاً: حافظ على المهارة قريبة من سير العمل، وليس مخفية في ملفات برومبت عشوائية.
مهارات المشروع مقابل المهارات العالمية
| الموقع | النطاق | حالة الاستخدام |
|---|---|---|
.claude/skills/ |
هذا المشروع فقط | اتفاقيات المشروع، سير عمل النشر |
~/.claude/skills/ |
جميع المشاريع | التفضيلات الشخصية، العادات القابلة لإعادة الاستخدام |
.claude/commands/ |
التوافق مع الأنظمة القديمة | ملفات أوامر الشرطة المائلة القديمة التي لا تزال تعمل |
يجب إضافة مهارات المشروع إلى المستودع الخاص بك حتى يستفيد الفريق بأكمله. المهارات العالمية مخصصة لتفضيلات سير العمل الشخصية.
متقدم: مهارات مع Hooks
يمكن للمهارات الرجوع إلى hooks (أوامر shell تعمل عند أحداث معينة) للتنفيذ التلقائي:
# Pre-Commit Check
Before any commit, the following hooks run automatically:
- `pre-commit`: runs typecheck + lint
- `post-commit`: updates changelog
If a hook fails, investigate the error output and fix the issue.
Do not use --no-verify to bypass hooks.
يتم تكوين الـ hooks نفسها في .claude/settings.json:
{
"hooks": {
"pre-commit": "pnpm typecheck && pnpm lint-staged"
}
}
هنا تصبح المهارات أكثر من مجرد مقتطفات برومبت. غالباً ما يتكون إعداد الفريق المفيد من ثلاث طبقات:
- مهارة تخبر Claude بسير العمل
- hooks تفرض سير العمل
- وثائق المستودع التي تشرح سير العمل للبشر
إذا كانت إحدى هذه الطبقات مفقودة، يصبح النظام هشاً. المهارة بدون hooks تصبح مجرد نصيحة. والـ hooks بدون مهارات تصبح غامضة. والوثائق بدون أي منهما تصبح سياسة قديمة لا يتبعها أحد.
الملفات الداعمة هي الترقية الحقيقية
أهم سبب لتفضيل المهارات على ملفات markdown القديمة للأوامر هو الملفات الداعمة.
مع ملف الأمر، يجب أن يعيش كل شيء في كتلة واحدة. مع دليل المهارة، يمكنك الاحتفاظ بـ:
- القوالب (templates)
- الأمثلة
- مساعدي shell
- ملاحظات مرجعية أطول
- سكربتات التحقق (validator scripts)
يتيح لك ذلك إبقاء SKILL.md قصيراً ومركّزاً مع الاستمرار في تزويد Claude بمواد منظمة لسحبها عند الضرورة.
هذا مفيد بشكل خاص لـ:
- سير عمل النشر (deployment workflows)
- قوائم التحقق من هجرة المخطط (schema migration checklists)
- عمليات مراجعة الكود متعددة الخطوات
- كتيبات التكامل الخاصة بالمنتج
إذا كان فريقك يستخدم أيضاً نماذج متعددة أو أدوات برمجة متعددة، فقم بدمج هذه الصفحة مع مقارنة نماذج البرمجة ودليل إعداد Cursor / Cline / Windsurf. تزداد أهمية المهارات الجيدة عندما يتغير النموذج الأساسي أو المحرر.
نصائح لمهارات فعالة
كن محدداً بشأن مسارات الملفات واتفاقيات التسمية. "إنشاء مكون" أمر غامض. "إنشاء مكون في
src/components/ui/باستخدام تسمية PascalCase" هو أمر قابل للتنفيذ.قم بتضمين أمثلة للمخرجات الصحيحة. يتعلم Claude Code من الأمثلة بشكل أفضل من القواعد المجردة.
حدد ما لا يجب فعله. "لا تستخدم أبداً نوع
any" أكثر قابلية للتنفيذ من "استخدم أنواعاً مناسبة".حافظ على تركيز المهارات. مهارة واحدة لكل سير عمل. مهارة مكونة من 200 سطر تغطي كل شيء أقل فائدة من خمس مهارات مكونة من 40 سطراً تتعامل كل منها مع مهمة واحدة بشكل جيد.
قم بإصدار (Version) مهاراتك. مع تطور اتفاقياتك، قم بتحديث المهارات. المهارات القديمة أسوأ من عدم وجود مهارات لأنها تفرض أنماطاً قديمة.
قرر ما إذا كان يجب تحميل المهارة تلقائياً أو تشغيلها يدوياً فقط. تنسى العديد من الفرق هذا ثم يتساءلون لماذا يستدعي Claude مهارة نشر في محادثات غير ذات صلة.
التأثير في العالم الحقيقي
تُبلغ الفرق التي تتبنى المهارات عن تحسينات مستمرة:
- تنخفض دورات مراجعة الكود لأنه يتم فرض الاتفاقيات قبل المراجعة
- ينخفض وقت تهيئة الموظفين الجدد (Onboarding) لأن المطورين الجدد يحصلون على نفس التوجيه الذي يحصل عليه القدامى
- تتحسن جودة الكود المولد بالذكاء الاصطناعي لأن الذكاء الاصطناعي لديه سياق صريح حول معايير المشروع
الاستثمار صغير (30 دقيقة لكتابة مهاراتك القليلة الأولى) والعائد يتضاعف مع كل تفاعل.
النموذج الذهني الأكثر فائدة هو هذا: المهارة ليست اختصاراً لـ Claude. إنها أداة سير عمل ذات إصدارات لفريقك.
إذا كنت ستكتب مهارة واحدة فقط، فاجعلها تلك التي تشفر القرار المتكرر الأعلى تكلفة في قاعدة الكود الخاصة بك.
ابنِ باستخدام الذكاء الاصطناعي، مسترشداً بقواعدك الخاصة. تمنحك LemonData مفتاح API واحداً لنماذج البرمجة عبر مختلف المزودين، لذا بمجرد تشفير سير عملك كمهارات، يمكنك تبديل النماذج دون إعادة بناء سلسلة الأدوات بالكامل.
