Claude Code · GitHub Spec Kit · مفتوح المصدر

Claude بنى… بس مش اللي طلبته؟ GitHub Spec Kit: التركيب، الأوامر بالترتيب، ومثال مواصفات جاهز

بدل ما تكتب برومت وتدعي، بتكتب مواصفات قصيرة بكلامك العادي: شو بدك بالضبط. وبعدها Claude Code بيبني على مراحل بتراجعها وحدة وحدة: الوصف، التقنيات، المهام، الكود. ما بيقدر يقفز مرحلة، وكل مرحلة ملف بتقراه قبل ما يكمّل. Spec Kit من GitHub، مجاني ومفتوح المصدر (148 ألف نجمة). تحت: التركيب، الأوامر بالترتيب، مثال مواصفات بالعربي تلصقه وتجرّب، والإضافات.

ليش بيبني الشي الغلط، وكيف Spec Kit بيمنعه؟

لما تكتب «ابنيلي تطبيق لتنظيم الصور» برومت واحد، Claude بيعبّي الفراغات لحاله: بيختار تقنيات، بيفترض ميزات، وبيبني كل شي مرة وحدة. بتكتشف الغلط بالآخر، وبتعيد البرومت 5 مرات. Spec Kit بيقلب الترتيب: المواصفات أول (شو ولمين وليش)، وبعدها الخطة (بأي تقنيات)، وبعدها المهام، وآخر شي الكود. كل مرحلة بتطلّع ملف بتقراه وبتعدّله قبل ما يكمّل.

برومت وتدعيوصف بسطر ← كود كامل ← «مش هاد اللي بدي» ← برومت ثاني ← كود ثاني… وكل مرة بيخرب إشي كان شغّال.
مواصفات بمراحلوصف بكلامك ← ملف مواصفات بتراجعه ← خطة تقنية بتراجعها ← مهام مرتّبة ← كود على المهام ← فحص إن الكود طابق المواصفات.
01
مجاني ومفتوح
من GitHub، رخصة MIT، 148,272 نجمة (2026-11-07).
02
مش لـ Claude بس
43 تكامل: Claude Code، Copilot، Cursor، Codex، Gemini CLI وغيرهم.
03
أوامر جوّا الوكيل
بتصير skills بـ Claude Code باسم /speckit-…، بتكتبها بالمحادثة مش بالـ terminal.
3 أوامر

أمر للتثبيت، أمر لإنشاء المشروع، وبعدها بتفتح Claude Code عادي.

1

قبل ما تبلّش: Python وuv وClaude Code

بدكالتفاصيل
Claude Codeمثبّت وداخل بحسابك. لسا ما ثبّتّه؟ دليل التثبيت من الصفر.
Pythonنسخة 3.11 أو أحدث.
uvمدير حزم Python اللي بيثبّت Spec Kit. الأوامر تحت.
النظامMac أو Linux أو Windows.

Mac / Linux: تثبيت uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows — PowerShell: تثبيت uv

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

سكّر الـ terminal وافتح واحد جديد، وتأكد: uv --version.

2

ثبّته وابدأ مشروع (أو ضيفه لمشروع موجود)

مشروع جديد: ثبّت الأداة، اعمل المشروع باسمك مع تكامل Claude، وافتح Claude Code جوّاه:

uv tool install specify-cli specify init my-project --integration claude cd my-project claude

مشروع موجود: من مجلد المشروع (بعد ما تعمل commit لشغلك):

specify integration install claude

أو بالطريقة العامة: specify init --here --force --integration claude (الـ --force بيسمح له يشتغل بمجلد مش فاضي، وممكن يستبدل ملفات Spec Kit القديمة بس، مش ملفات تطبيقك).

شو بيصير بعد الأمر؟

  • بيعمل مجلد .specify/ فيه القوالب والسكربتات المشتركة.
  • بيضيف الأوامر كـ skills لـ Claude Code بمسار .claude/skills/speckit-<command>/SKILL.md. افتح claude جوّا المجلد واكتب /speckit وبتشوفها كلها.
  • اختياري: لو ما بدك Claude يشغّل أوامر Spec Kit لحاله (بس لما تكتبها إنت)، ضيف للـ init: --integration-options="--no-model-invocation".

التحديث لاحقاً:

uv tool upgrade specify-cli specify integration upgrade claude
الأوامر بالترتيب

كلها بتنكتب جوّا محادثة Claude Code، وحدة وحدة، وبتقرأ الملف اللي طلع قبل ما تكتب التالية.

3

الأوامر بالترتيب جوّا Claude Code

الأمرشو بيعملالملف
/speckit-constitutionمبادئ المشروع: جودة الكود، الاختبارات، البساطة. مرة وحدة لكل مشروع، وكل المراحل بعدها بتنفحص عليها.ملف الدستور
/speckit-specify + الوصفالمواصفات بكلامك: شو بدك، لمين، وليش. بدون تقنيات.spec.md + قائمة فحص
/speckit-clarifyاختياري: بيسألك أسئلة محددة عن النقاط الناقصة وبيدخّل أجوبتك بالمواصفات.يحدّث spec.md
/speckit-plan + التقنياتالخطة التقنية: اللغة، الإطار، قاعدة البيانات، وين بينحفظ شو.plan.md وملفات التصميم
/speckit-checklistاختياري: قائمة فحص لجودة المتطلبات، إنت بتعلّم عليها.قوائم فحص
/speckit-tasksبيقسّم الخطة لمهام صغيرة مرتّبة حسب الاعتماد.tasks.md
/speckit-analyzeاختياري: تقرير بالتناقضات والفجوات بين المواصفات والخطة والمهام. ما بيعدّل شي.تقرير بس
/speckit-implementبينفّذ المهام بالترتيب. لو في بنود بقائمة الفحص مش معلّمة، بيسألك قبل ما يكمّل.الكود
/speckit-convergeبيقارن الكود بالمواصفات والخطة والمهام. لو لقى فجوات بيضيف مهام جديدة. كرّر implement ثم converge لحد ما يكتب Converged.يضيف لـ tasks.md

المسار القصير اللي بالريل: specify ← plan ← tasks ← implement. والدستور مرة وحدة قبلهم، وconverge بالآخر عشان تتأكد إنه ما نسي شي.

سرّ الأداة بالملفات، مش بالأوامر. بعد كل أمر افتح الملف اللي طلع (spec.md ثم plan.md ثم tasks.md) واقرأه وعدّل عليه بيدك لو لازم. دقيقتين قراءة بيوفّروا ساعة إعادة.
4

مثال مواصفات جاهز (انسخ وجرّب)

نفس مثال GitHub الرسمي (منظّم صور) بس بالعربي وبشروط عربية. بـ Claude Code اكتب الأمر، وبعده الصق النص بنفس الرسالة:

أ) الدستور (مرة وحدة):

/speckit-constitution
مبادئ المشروع: كود بسيط وواضح أهم من الذكاء، اختبار لكل ميزة قبل ما تعتبرها خلصت، بدون مكتبات خارجية إلا لما يكون في سبب مكتوب، وكل الواجهات بالعربي مع دعم RTL.

ب) المواصفات (شو بدك، بدون تقنيات):

/speckit-specify
ابنِ لي تطبيق ويب لتنظيم صور المحل. المستخدم بيرفع صور، وبتتجمّع بألبومات حسب التاريخ تلقائياً. كل ألبوم إله معاينة مربّعات، وبقدر أسحب صورة من ألبوم لألبوم. ما بدي حسابات مستخدمين بالمرحلة الأولى. الواجهة عربية RTL، وبتشتغل من الموبايل.

ج) الخطة (التقنيات بس):

/speckit-plan
استعمل Vite مع JavaScript عادي بدون إطار. خزّن الصور محلياً على الجهاز، وبيانات الألبومات بـ SQLite. بدون أي خدمة خارجية أو سحابة بالمرحلة الأولى.

د) المهام ثم الكود ثم الفحص (بدون نص إضافي):

/speckit-tasks /speckit-implement /speckit-converge
  1. إنت /speckit-specify + الوصف. بتفتح spec.md وبتصحّح أي افتراض غلط.
  2. إنت /speckit-plan + التقنيات. بتقرأ plan.md.
  3. Claude /speckit-tasks بيطلّع قائمة مهام مرتّبة. بتشيل اللي مش لازم.
  4. Claude /speckit-implement بيبني مهمة مهمة، و/speckit-converge بيقارن بالمواصفات لحد ما يكتب Converged.
5

الإضافات: تصليح الأعطال وتقييم الفكرة

Spec Kit إله إضافات بتنزّلها من الـ terminal، وبتظهر أوامر جديدة جوّا Claude Code:

تصليح عطل بنفس الأسلوب (تقييم ← تصليح ← اختبار):

specify extension add bug
/speckit-bug-assess "Submitting an empty password crashes the login form." slug=login-crash /speckit-bug-fix slug=login-crash /speckit-bug-test slug=login-crash

تقييم فكرة قبل ما تبني (بتطلع بقرار: كمّل، وضّح، أو وقّف):

specify extension add assess
/speckit-assess-intake "Let users work offline and sync when they reconnect." slug=offline-mode /speckit-assess-research slug=offline-mode /speckit-assess-define slug=offline-mode /speckit-assess-shape slug=offline-mode /speckit-assess-decide slug=offline-mode

الوصف بين علامات التنصيص بتقدر تكتبه بالعربي، والـ slug خلّيه بالإنجليزي بدون مسافات (اسم الملف).

6

أخطاء شائعة

الغلطةبدالها
بتكتب التقنيات بـ specifyالمواصفات للـ «شو ولمين وليش». التقنيات مكانها /speckit-plan. لو خلطتهم بيبني على افتراضات مبكرة.
بتكتب الأوامر كلها ورا بعضأمر، اقرأ الملف، عدّل، وبعدها الأمر التالي. هاد كل الفرق عن البرومت العادي.
بتوقف بعد implement/speckit-converge هو اللي بيكتشف المهام اللي انحذفت أو انبنت ناقصة. كرّره لحد Converged.
بتشغّله بمشروع موجود بدون commitاعمل commit أو branch أول. --force ممكن يستبدل ملفات Spec Kit القديمة.
specify: command not foundسكّر الـ terminal وافتح جديد بعد تثبيت uv. ولسا؟ شغّل uv tool update-shell وافتح terminal جديد.
الأوامر مش ظاهرة بـ Claude Codeتأكد إنك فتحت claude جوّا مجلد المشروع نفسه، وإن مجلد .claude/skills/ فيه speckit-…. ولسا؟ specify integration upgrade claude.
مواصفات بصفحتينفقرة أو فقرتين بتكفي، و/speckit-clarify بيسألك عن الباقي. المواصفات الطويلة بتتناقض مع حالها.
بتكمّل مع: الاختبارات قبل الكود (نفس الفلسفة: حدّد النتيجة قبل ما يبني)، وقالب CLAUDE.md لأن الدستور والـ CLAUDE.md بيشتغلوا مع بعض، وقالب السؤال الصح للمهام الصغيرة اللي ما بدها Spec Kit.
?

أسئلة شائعة

مجاني فعلاً؟
إيه، مفتوح المصدر برخصة MIT على github.com/github/spec-kit. اللي بتدفعه هو اشتراك Claude Code نفسه.
شفت الأوامر مكتوبة بنقطة بدل الشرطة بمكان ثاني؟
نفس الأوامر. المستندات العامة بتكتبها بالنقطة (/speckit.specify)، وكل وكيل إله صيغته. بـ Claude Code الصيغة بالشرطة: /speckit-specify.
بيضمن إن الكود يطلع صح؟
لا. بيضمن إن Claude يبني على مواصفات إنت قريتها، وconverge بيفحص إن الكود غطّاها. الجودة بعدها من مراجعتك والاختبارات.
لكل مشروع، ولا لكل ميزة؟
الدستور مرة وحدة للمشروع. الباقي (specify ← converge) بتكرّره لكل ميزة جديدة.
مشروع صغير، بدي Spec Kit؟
لتعديل بسطرين لا. لأي شي بياخد أكثر من جلسة، أو بدك ترجعله بعد شهر، أو فيه أكثر من شخص: إيه. الملفات اللي بيطلّعها هي التوثيق اللي ما حدا بيكتبه.
✓ تم النسخ

Get the next guide first

Leave your email and new guides reach you as soon as they are out. No spam.

Your email stays with me, and you can ask me to delete it any time.