بعد كام صفحة، هتلاحظ إن الـ feature بتتغير، لكن الخطوات ثابتة. في كل صفحة جديدة بتبقى عايز Claude:
- يبص على الكود الموجود الأول.
- يدوّر على components موجودة يقدر يستخدمها تاني.
- يستخدم الـ design system.
- يخلي الصفحة responsive.
- ميلمسش حاجات مالهاش علاقة بالمهمة.
- يتأكد من شغله في الآخر.
يا إما تكتب الكلام ده في كل برومبت، يا إما تعلّمه لـ Claude مرة واحدة.
الـ skill هي خطوات أو معلومات بتكررها، و Claude بيحمّلها بس لما تبقى محتاجها. أبسط شكل ليها فولدر جواه ملف اسمه SKILL.md.
تقدر تشغّلها بنفسك بـ / زي /build-ui. أو Claude يشغّلها لوحده لما يلاقي طلبك شبه الحاجة اللي الـ skill معمولة لها.
إيه الفرق بينها وبين CLAUDE.md؟
CLAUDE.md بيتحمّل في كل محادثة. أما الـ skill، فـ Claude بيشوف اسمها ووصفها بس، وبيحمّل التعليمات كلها لما يحتاجها. يعني خطوات بناء الـ UI مش هتاخد مكان في الـ context وإنت بتصلّح migration.
اسأل نفسك: دي معلومة ولا خطوات؟
- “استخدم pnpm”، “استخدم Drizzle”، “استخدم الـ design system الموجود”: دي معلومات، مكانها
CLAUDE.md. - “افحص الموجود، دوّر على components، ابني، اتأكد من الـ responsive، شغّل، اعمل typecheck، لخّص”: دي خطوات، مكانها skill.
- مهمة هتعملها مرة واحدة: اطلبها في الشات وخلاص.
و Anthropic نفسها بتنصح بالـ skill لما تلاقي نفسك بتكرر نفس التعليمات، أو لما جزء من CLAUDE.md يبقى عبارة عن خطوات مش معلومات.
يلا نعمل skill
.claude/skills/build-ui/SKILL.md # skill للمشروع ده، وبتتعمل commit~/.claude/skills/build-ui/SKILL.md # skill لكل مشاريعكاسم الفولدر هو اسم الأمر، فالفولدر build-ui بيبقى أمره /build-ui. ولأن الـ skill دي جوه المشروع، بتتعمل commit مع الكود وكل الفريق بياخدها. لو عايزها في كل مشاريعك، حطها في ~/.claude/skills.
---name: build-uidescription: > تبني أو تعدّل صفحات المتجر اللي العميل بيشوفها، باستخدام الـ design system والـ components الموجودة. استخدمها لما تعمل أو تغيّر صفحة أو section أو component ظاهر للعميل.---ابني أو عدّل الـ UI ده: $ARGUMENTS1. بص على الكود الحالي والـ components القريبة منه.2. دوّر على component موجود قبل ما تعمل واحد جديد.3. استخدم الـ design system الموجود من غير ألوان جديدة.4. خلّي الصفحة responsive.5. متلمسش حاجات مالهاش علاقة بالمهمة.6. شغّل الـ typecheck، ولخّص الملفات اللي اتغيرت.الملف فيه جزئين: الجزء اللي فوق بين التلات شرط اسمه frontmatter، وفيه الاسم والوصف. وتحته التعليمات نفسها.
$ARGUMENTS بيتبدل باللي تكتبه بعد الأمر. يعني الـ skill شايلة الطريقة، وإنت بتوصف الـ feature بس:
/build-ui اعمل صفحة New Arrivals بأحدث المنتجات من الداتابيز
وخلّي الـ skill مركزة. لو احتاجت مراجع كبيرة أو scripts، حطها في ملفات جنبها في نفس الفولدر.
في الكورس، الـ skill دي عملت صفحة New Arrivals، وبعدها صفحة الـ categories، كل واحدة في حوالي دقيقتين. وفي المرتين، Claude حمّل الـ skill، وقرا الكود الموجود الأول، وبعدين بدأ ينفذ.
الـ description أهم سطر في الملف
الوصف مش documentation ليك إنت. Claude بيقارن أسامي ووصف كل الـ skills بالطلب بتاعك، عشان يقرر يحمّل أنهي واحدة.
وصف زي “workflow مفيد للـ UI” مش بيقول أي حاجة. الوصف لازم يقول الـ skill بتعمل إيه، وامتى تستخدمها. والوصف الضعيف هو أشهر سبب إن الـ skill متشتغلش لما تكون مستنيها.
ولو الوصف كويس، مش لازم تكتب /build-ui أصلًا. لو قلت “ضيف صفحة New Arrivals بالـ design system الحالي”، Claude هيلاقي الـ skill لوحده.
skills متشتغلش لوحدها
ده فرق مهم بين الـ skills والـ slash commands القديمة: الـ skill ممكن إنت تشغّلها، وممكن Claude يشغّلها لوحده. بس مش دايمًا عايز الاتنين.
skill زي deploy أو commit ليها آثار حقيقية، ومش عايز Claude يقول لنفسه “شكل الشغل جاهز، هعمل deploy”. عشان كده ضيف السطر ده في الـ frontmatter:
disable-model-invocation: true
كده الـ skill متشتغلش غير لما إنت تطلبها بنفسك.
الـ skill بتتحمّل على 3 مراحل
Anthropic بتسمي ده progressive disclosure. يعني SKILL.md مش لازم يبقى جواه الـ design system كله. يكفي يشاور على ملف زي references/design-system.md، و Claude يقراه بس لما يحتاجه.
نصايح
- مش لازم تكتب الـ skill بإيدك: فيه skill من Anthropic اسمها skill-creator، بتعمل الـ skill وتحسّنها من خلال الكلام معاك. وتقدر تجرّب بيها الـ skill وتقارن أداء Claude بيها ومن غيرها. الـ skill اللي شكلها حلو مش شرط تكون شغالة كويس، فجرّبها.
- متكترش منها: كل skill بتضيف اسم ووصف Claude لازم يبص عليهم. 10 skills مفيدة كويس، لكن 100 skill عشوائية مش كويس. فيه skill اسمها skill doctor بتوريك الـ skills اللي مش بتستخدمها وبتاكل context، عشان تمسحها.
- خلّي بالك من اللي بتنزّله: الـ skill ممكن يبقى فيها scripts وأوامر وصلاحيات على أدوات. اقرا
SKILL.mdوالـ scripts قبل ما تسطّبها، وبص على تقييم الخطر اللي بيظهر وقت التسطيب. - متحاولش تعمل skill مثالية من أول يوم: استخدمها، وشوف Claude لسه بيغلط فين، وصلّحها. ضيف rule ناقصة، أو وضّح خطوة التأكد، أو ظبّط الوصف عشان تشتغل في الوقت الصح.