ليش جملة وحدة بتفشل؟
Claude Code بيقرأ مشروعك، بس ما بيقرأ راسك. لما تكتب «صلّح صفحة الدخول»، هو بيخمّن: شو المشكلة؟ أي ملف؟ شو مسموح يغيّر؟ وكل تخمين غلط = جولة زيادة، ووقت وlimit رايحين.
بيدوّر بكل المشروع، بيغيّر إشي ما طلبته، وبترجع تشرح من الأول.
بيروح للملف الصح، بيحترم حدودك، وبيعطيك النتيجة بالشكل اللي بدك إياه.
انسخه مرة، واحفظه وين ما بتوصله بسرعة.
القالب جاهز للنسخ
انسخه، عبّي اللي بين القوسين، والصقه بـ Claude Code قبل أي مهمة:
الهدف: (شو بدك يطلع بالآخر؟)
السياق: (شو المشروع؟ وأي ملفات تقرأ أول؟)
شو جرّبت: (وشو صار معي؟ الخطأ بالحرف: ...)
شو ما بدي: (الحدود، مثلاً: لا تغيّر قاعدة البيانات، ولا مكتبات جديدة)
شكل النتيجة: (خطوات مرقّمة؟ كود كامل؟ جدول؟)
وإذا مش متأكد من شي، احكيلي وين.
بتحب تكتب بالإنجليزي؟ نفس القالب:
Goal: (what should exist when you're done?)
Context: (what's the project? which files should you read first?)
What I tried: (and what happened? the exact error: ...)
Don't: (boundaries, e.g. don't touch the database schema, no new libraries)
Output: (numbered steps? full code? a table?)
If you're unsure about anything, tell me where.
مش لازم تعبّي كل الخانات كل مرة. مهمة صغيرة وواضحة (rename، سؤال سريع) بتكفيها جملة. القالب للمهام اللي إلها أكثر من طريقة حل.
كل خانة: شو تكتب فيها
| الخانة | شو تكتب | مثال |
|---|---|---|
| 1 · الهدف | النتيجة النهائية، مش الخطوة. وإذا بتعرف كيف بتتأكد إنها خلصت، اكتبها.«الـ tests بتعدّي»، «الصفحة بتفتح عالموبايل بدون scroll أفقي». | صفحة تسجيل دخول بتشتغل عالموبايل |
| 2 · السياق | شو المشروع، وأي ملفات يبلّش منها.بـ Claude Code اكتب @ وبعدها المسار، وبيطلعلك اقتراح الملفات. | Next.js، الملفات: app/login |
| 3 · شو جرّبت | شو عملت وشو صار، والخطأ بالحرف، مش وصفه.شغّل الأمر من جوّا Claude Code بـ ! npm test وهو بيشوف الخطأ، أو الصق صورة الشاشة بـ Ctrl+V (على Windows: Alt+V)، أو اسحبها لجوّا النافذة. | جرّبت كذا… وطلع هاد الخطأ |
| 4 · شو ما بدك | الحدود اللي ما بدك يقرّب عليها.إذا الحد بيتكرر بكل مهمة، حطّه مرة وحدة بـ CLAUDE.md وبيقرأه بأول كل جلسة. | لا تغيّر قاعدة البيانات، ولا مكتبات جديدة |
| 5 · شكل النتيجة | كيف بدك الجواب: خطوات؟ كود كامل؟ جدول؟ خطة قبل التنفيذ؟للمهام الكبيرة اطلب خطة أول: Shift+Tab لحد ما يطلع plan mode on، أو ابدأ طلبك بـ /plan. ما بيعدّل ولا ملف قبل ما توافق. | خطوات مرقّمة + الكود كامل |
| + السطر الأخير | «وإذا مش متأكد من شي، احكيلي وين.»بيخلّيه يفصل اللي متأكد منه عن اللي بيخمّنه، بدل ما يعطيك كله بنفس الثقة. | دايمًا، بكل طلب |
نفس القالب، ثلاث مواقف.
مثال: مشكلة (bug)
الهدف: زر «تسجيل الدخول» يشتغل على الموبايل زي الكمبيوتر بالظبط.
السياق: مشروع Next.js. اقرأ أول @app/login/page.tsx و @components/LoginForm.tsx
شو جرّبت: على iPhone الزر ما بيستجيب أبدًا. غيّرت الـ z-index وما زبط. ما في ولا خطأ بالـ console.
شو ما بدي: لا تغيّر شكل الصفحة، ولا تضيف مكتبات جديدة.
شكل النتيجة: سبب المشكلة بسطرين، بعدها التعديل، وبعدها كيف أتأكد إنها انحلّت.
وإذا مش متأكد من شي، احكيلي وين.
لاحظ «كيف أتأكد إنها انحلّت»: لما يعرف شو يعني «خلص»، بيفحص شغله بدل ما يوقف عند أول تعديل.
مثال: ميزة جديدة
الهدف: صفحة «تواصل معنا» فيها فورم (اسم، إيميل، رسالة)، والرسالة توصل على إيميلي.
السياق: نفس المشروع. شوف كيف مبنية @app/about/page.tsx واتبع نفس الأسلوب والألوان.
شو جرّبت: لسا ما جرّبت شي، بدي اقتراحك.
شو ما بدي: لا قاعدة بيانات، ولا خدمة مدفوعة.
شكل النتيجة: خطة بخطوات أول، وما تعدّل ولا ملف قبل ما أوافق. بعد الموافقة نفّذ وأعطيني قائمة بالملفات اللي تغيّرت.
وإذا مش متأكد من شي، احكيلي وين.
«خطة أول» مهمة بالميزات الجديدة: إذا الاتجاه غلط بتكتشفه بالخطة، مش بعد 10 ملفات. وإذا الميزة كبيرة ومش واضحة براسك، خلّيه يقابلك هو أول: «اسألني بالتفصيل باستخدام أداة AskUserQuestion قبل ما تكتب الخطة».
مثال: ما بتعرف برمجة
الهدف: كل يوم الصبح بدي ملف واحد فيه طلبات أمس من 3 ملفات Excel، مرتّبة حسب المدينة.
السياق: الملفات بمجلد orders. أنا مش مبرمج، اشرحلي كأني موظف جديد: كل خطوة شو بتعمل وليش.
شو جرّبت: بنسخ وبلصق بإيدي كل يوم، بتاخد مني ساعة.
شو ما بدي: لا تعدّل الملفات الأصلية أبدًا، اعمل ملف جديد.
شكل النتيجة: إشي واحد بشغّله بأمر واحد، وتعليمات التشغيل بخطوات مرقّمة.
وإذا مش متأكد من شي، احكيلي وين.
هاد بالظبط الجواب الأول بالريل: ما بلّشت بالكود، بلّشت بمشكلة بتضيّع وقتك كل يوم.
القالب هو الجواب الثالث. هون الأول والثاني.
«واحد ما بيعرف برمجة… كيف يبدأ؟»
مش بالكود. بمشكلة بتضيّع وقتك كل يوم، وبتشرحها كأنه موظف جديد أول يوم بالشغل.
- اكتب 3 شغلات بتعيدها كل يوم أو كل أسبوع وبتاخد وقت: نسخ بين ملفات، تقارير، ترتيب صور، ردود متكررة.
- اختار الأصغر والأوضح فيهم. أول مهمة لازم تخلص بنفس اليوم، مش مشروع شهر.
- اشرحها خطوة خطوة زي ما بتعملها بإيدك: من وين بتجيب البيانات، شو بتعمل فيها، وشو النتيجة.
- عبّي القالب (مثال 5 فوق) واطلب منه يشرحلك كل خطوة قبل ما ينفّذها.
- جرّب النتيجة على نسخة من ملفاتك، مش على الأصل، لحد ما تثق فيها.
«كيف أعرف إنه متأكد؟»
الجواب الصريح: ما بتعرف، لأنه بيحكي بنفس الثقة لما يكون متأكد ولما يخمّن. الحل إنك تطلب منه يفصل بين الاثنين، وكل رقم تتحقق منه بنفسك.
الصق هاد بآخر أي طلب مهم:
قبل ما تجاوب: افصل بين اللي متأكد منه واللي مفترضه أو مخمّنه.
علّم أي رقم أو اسم أو أمر لازم أتحقق منه بنفسي.
وإذا ما عندك معلومة كافية، قول «ما بعرف» بدل ما تخمّن.
وبعد ما يخلّص، خلّيه يفحص شغله:
شغّل الـ tests (أو شغّل المشروع) وتأكد إن التعديل اشتغل وما خرّب إشي ثاني.
ورجّيني الدليل مش الكلام: الأمر اللي شغّلته وشو طلع.
وراجع شغلك: شو الإشي اللي ممكن يكون غلط، وكيف بتأكد منه؟
- الأرقام والأسعار والتواريخ: دايمًا من المصدر، مش من الجواب.
- الأوامر اللي بتحذف أو بتعدّل بيانات: اقرأها قبل ما توافق عليها، كل مرة.
- اعطيه فحص يقدر يشغّله: tests، build، أو صورة يقارن فيها النتيجة. توثيق Claude Code بيسمّيها الفرق بين جلسة بتراقبها، وجلسة بتتركها تشتغل.
خلّي Claude Code يسألك الخانات بنفسه
بدل ما تنسخ القالب كل مرة، اعمله skill: ملف واحد، وبعدها بتكتب /q مع طلبك، وهو بيسألك عن الخانات الناقصة قبل ما يبلّش.
1) اعمل الملف بهالمسار (لكل مشاريعك):
~/.claude/skills/q/SKILL.md
2) الصق فيه هاد:
---
name: q
description: قالب السؤال الصح. بيسألني عن الخانات الناقصة قبل أي مهمة.
disable-model-invocation: true
---
قبل ما تبلّش أي شغل، شوف شو ناقص من طلبي واسألني عنه بأداة AskUserQuestion، سؤال سؤال:
1. الهدف: شو لازم يطلع بالآخر؟ وكيف بنعرف إنه خلص؟
2. السياق: أي مشروع، وأي ملفات تقرأ أول؟
3. شو جرّبت: وشو صار؟ الخطأ بالحرف.
4. شو ما بدي: الحدود اللي ما بتقرّب عليها.
5. شكل النتيجة: خطوات؟ كود كامل؟ جدول؟
بعدها اكتبلي الطلب كامل بالقالب، واستنى موافقتي قبل ما تعدّل أي ملف.
وإذا مش متأكد من شي، احكيلي وين.
طلبي: $ARGUMENTS
3) استخدمه:
/q صفحة الدخول ما بتشتغل عالموبايل
السطر disable-model-invocation: true معناه إنه ما بيشتغل إلا لما إنت تكتب /q، و$ARGUMENTS بيتبدّل بالطلب اللي كتبته بعده. بدك إياه لمشروع واحد بس؟ حطّه بـ .claude/skills/q/SKILL.md جوّا المشروع. أكثر عن الـ skills بـ دليل الـ Skills.