«كثرة المهارات تزاحم سياقك» — عبارة تتردّد كثيرًا. نصفها صحيح ونصفها الآخر خاطئ.

وفق الوثائق الرسمية، يستهلك فهرس المهارات ميزانية ثابتة مقدارها 1% من نافذة سياق النموذج، ومهما أضفت من مهارات فإنه يتوقّف عند ذلك الحدّ. إنه لا يتضخّم. وما يحدث بدلًا من ذلك هو أن المهارات تكفّ عن أن تُستدعى — فحين يفيض الفهرس عن الميزانية، يُسقط Claude Code أوصاف المهارات الأقلّ استدعاءً أولًا ولا يُبقي إلا أسماءها. والمهارة التي فقدت وصفها لم تعد ترتبط بما طلبته.

لا يظهر خطأ. ولا يبطؤ شيء. المهارة تكفّ عن أن تُستعمل في صمت، لا أكثر. يتناول هذا المقال كيف ترى ما يشغل سياقك فعلًا، بالأرقام لا بالتخمين، وبماذا تبدأ الحذف بعد أن ترى.

ماذا يحدث فعلًا حين تضيف مزيدًا من المهارات

ميزانية الفهرس ثابتة عند 1% من نافذة السياق، وما يفيض يكلّفك الأوصاف لا التوكنات

داخل الميزانية
كل مهارة تحتفظ بوصفها

يُحمَّل الاسم والوصف كاملين. وحتى إن جاءت صياغتك مائلة قليلًا، تلتقط الكلمات المفتاحية المهارة

بعد تجاوز الحدّ مباشرة
الأوصاف تسقط بترتيب قلّة الاستعمال

تحتفظ المهارات كثيرة الاستعمال بنصّها كاملًا. وما نادرًا ما تلجأ إليه يفقد وصفه أولًا

حين لا يبقى إلا الاسم
موجودة، لكنها لا تُختار

تبقى في الفهرس. لكن لا شيء يقول ما الغرض منها، فلا ترتبط بأيّ طلب

المصدر: وثائق Claude Code الرسمية «Skills»

1. المهارات لا تتضخّم بلا نهاية — الفهرس يتوقّف عند ميزانية 1%

لكي يعرف Claude ما المهارات المتاحة، يُحمِّل Claude Code في السياق فهرسًا بأسماء المهارات وأوصافها. وهنا تبدأ الميزانية في التأثير. تنصّ الوثائق الرسمية على أنّ «الفهرس يتضمّن دائمًا كل أسماء المهارات، لكن حين تكثر المهارات يختصر Claude Code الأوصاف لتتّسع لميزانية الأحرف المخصّصة للفهرس»، وتحدّد تلك الميزانية بأنها «1% من نافذة سياق النموذج».

الأرقام تجعل الأمر ملموسًا. في نموذج نافذته مليون توكن، ينال فهرس المهارات 1% منها. أما الـ99% الباقية فهي للمحادثة والملفات ونتائج الأدوات. ركّب 50 مهارة أو 100 مهارة، ولن يتحرّك ذلك الـ1%.

فأين تذهب الزيادة إذن؟ إلى اختصار الأوصاف. بل إنّ الوثائق تنصّ على ترتيب الاختصار نفسه: «حين يفيض الفهرس، يُسقط Claude Code الأوصاف بدءًا بالمهارات الأقلّ استدعاءً، لتحتفظ المهارات الأكثر استعمالًا بنصّها كاملًا».

وهنا يكمن أخطر ما في الأمر عمليًا. فمن يدفع الثمن هي المهارات التي لا تستعملها إلا أحيانًا، وهي في العادة نفسها المهارات التي تحتاجها بعد أن تكون قد نسيتها. إجراء ترحيل يجري مرة كل ربع سنة، أو عملية إصدار تنفّذها بضع مرات في العام — هذه بالضبط ما يفقد وصفه أولًا.

والميزانية قابلة للتعديل. اكتب في skillListingBudgetFraction نسبةً من نافذة السياق (مثلًا 0.02 ليصير 2%) فيتّسع المجال المتاح للفهرس. وثمّة أيضًا حدّ لنصّ كل مهارة على حدة: 1,536 حرفًا تشمل الوصف وشروط التفعيل افتراضيًا (يمكن تغييره عبر skillListingMaxDescChars). والسبب في أنّ الوثائق توصيك بأن تضع حالات الاستعمال الأساسية في المقدّمة هو أنّ هذا الحدّ يقتطع من الآخر.

2. ثلاث أدوات للقياس — لكلٍّ منها دور مختلف

ثلاث أدوات تتيح لك استبدال الأرقام بالتخمين. الأمر /context موجود منذ مدّة، أما سطر التخزين المؤقت للمُوجّه في /usage فقد وصل في v2.1.251 (28 أغسطس 2026)، والأمر /skill-doctor في v2.1.252 (31 أغسطس). أدوارها مختلفة، فتستحقّ الثلاث أن تبقى في ذهنك.

/context
ما المُحمَّل الآن

يفصّل ما يشغل النافذة. يُبلّغ سطر Skills عن الحجم بعد تطبيق الميزانية، فيطابق ما يتلقّاه النموذج فعلًا

/usage
وكم استهلك ذلك

توكنات الجلسة وتكلفتها، إضافةً إلى حالة التخزين المؤقت للمُوجّه وتوزيع الاستهلاك بحسب المهارة والوكيل الفرعي وخادم MCP

/skill-doctor
أيّها يستحقّ مكانه

يعرض تكلفة كل مهارة وعدد مرات استدعائها ويضع علامة على ما لم يُستدعَ قطّ. بل يدلّك على موضع القصّ

وللأمر ترتيب. اقرأ التفصيل بـ/context، ثم تحقّق ممّا أنفقه فعلًا بـ/usage، ثم حدّد مرشّحي الحذف بـ/skill-doctor. وإن بدأت من الطرف الآخر حذفت أشياء بلا دليل يسند القرار.

أما سطر Skills في /context فقد سجّلت الوثائق كيف كان يتصرّف سابقًا: قبل v2.1.196 كان يحصي عدد أحرف كل الأوصاف، وقد يعرض رقمًا يفوق الميزانية المضبوطة بأضعاف. فإن كان انطباعك بأنّ المهارات تلتهم سياقك آتيًا من ذاكرة قديمة، فـذلك الرقم نفسه ربما كان أكبر من الواقع.

3. اجعله يسمّي المهارات التي لا يستعملها أحد

الأمر /skill-doctor متاح في Claude Code v2.1.252 (31 أغسطس 2026) فما بعدها. والوصف الرسمي هو أنّه «يمكنك رؤية تكلفة كل مهارة وعدد مرات استدعائها، ثم تقرّر أيّها تحذف». وثمّة أربعة أمور في سلوكه تستحقّ أن تعرفها.

متطلبات /skill-doctor

  • في الجلسة التفاعلية يفتح تبويب Stats في مدير /plugin . وفي الوضع غير التفاعلي مع -p يطبع نصًّا بدلًا من ذلك
  • المهارات المرفقة والمهارات الموزّعة من المؤسسة خارج نطاقه. فلا يُدرَج إلا ما أضفته أنت
  • المهارات التي لم تُستدعَ قطّ تُوسَم، ويُعرَض معها موضع حذفها
  • لا يعمل عبر التحكّم عن بُعد من هاتف أو متصفّح، ويُرجع خطأً

احفظ أمرًا واحدًا وأنت تقرأ النتائج ولن تخطئ. فـ«لم يُستدعَ قطّ» ليست مرادفًا لـ«غير لازمة». وكما بيّن القسم السابق، من أسباب ألّا تُستدعى مهارة أبدًا أنّ وصفها اقتُطع، فلم يعد شيء يعثر عليها.

وقبل أن تحذف، الحركة المضمونة هي أن تستدعي المهارة بالاسم. فإن عملت حين سمّيتها ولم تُختَر تلقائيًا قطّ، فهي ليست زائدة: وصفها يخسر أمام الميزانية. والعلاج ليس الحذف بل إعادة كتابة الوصف (حالات الاستعمال الأساسية أولًا) أو رفع الميزانية.

4. فقدان التخزين المؤقت يؤذي أكثر من الحجم

من هنا ينتقل الحديث عن محور حجم السياق. فمحادثتان بالحجم نفسه قد تُفوتران بصورة مختلفة تمامًا تبعًا لعمل التخزين المؤقت من عدمه.

منذ Claude Code v2.1.251 (28 أغسطس 2026)، صارت لوحة الجلسة في /usage تحمل سطرًا للتخزين المؤقت للمُوجّه. وهذا هو المثال الذي تعرضه الوثائق.

Prompt cache (main):   14 requests · 91% of input tokens from cache ·
2 misses (last 6m 10s ago, 310.2k tokens re-cached) ·
1 expected rebuild (compaction or tool-result clearing) ·
warm (1h TTL, last activity 40s ago)

وثلاثة أمور تهمّ عند قراءته.

MISSES
5% و2,000 توكن

يُحسب الطلب فقدًا حين يعيد قراءة ما يتجاوز هذا القدر من محتوى كان يمكن للذاكرة المؤقتة أن تخدمه. أما التبديل الصغير فلا يُحسب

EXPECTED REBUILD
ما كسرته أنت بنفسك

حين يعيد Claude Code كتابة المحادثة نفسها بالضغط أو بمسح نتائج الأدوات القديمة، يُحسب ذلك على حدة بوصفه إعادة بناء متوقّعة لا فقدًا

WARM / COLD
داخل العمر أم خارجه

هل ما زالت البادئة المخزّنة حيّة. وحين تبرد، يعرض السطر كم من الوقت تركتها خاملة

ومنذ v2.1.260، حين يوجد تفسير مرجّح لفقدٍ حديث، يسمّيه السطر (مثلًا likely cause: tool definitions changed). فإضافة خادم MCP أو تبديل مهارة يعيد كتابة شيء قريب من مقدّمة المحادثة، ما يُبطل التخزين المؤقت لكل ما بعده. ولهذا يكون تعديل تركيبتك قبل بدء العمل هو الطريق الرخيص.

وثمّة تحفّظ واحد. هذا السطر لا ينظر إلا إلى المحادثة الرئيسية، ولا يشمل الوكلاء الفرعيين. فإن كان أسلوبك يدفع المعالجة الثقيلة إلى الوكلاء الفرعيين، فهذه الأرقام ليست الصورة كاملة.

5. عمر التخزين المؤقت ليس ساعة دائمًا

هذه النقطة متّصلة بفاتورتك اتّصالًا مباشرًا، ومع ذلك ليست معروفة على نطاق واسع. فعمر التخزين المؤقت للمُوجّه يتغيّر بتغيّر خطّتك وحالتك.

الاشتراك
ساعة واحدة

خذ استراحة الغداء وستجد الذاكرة المؤقتة حيّة حين تعود

بعد بدء استهلاك الرصيد الإضافي، أو عبر مفتاح API ومزوّدي السحابة
خمس دقائق

ابتعد قليلًا فتبرد. والرسالة التالية وحدها تعيد قراءة السياق كاملًا

المصدر: وثائق Claude Code الرسمية «Manage costs effectively» (قواعد عمر التخزين المؤقت)

تنصّ الوثائق على أنّ «العمر ساعة واحدة مع الاشتراك، وينزل إلى خمس دقائق بمجرّد أن تبدأ استهلاك الرصيد الإضافي (usage credits)، وهو خمس دقائق افتراضيًا عبر مفتاح API أو مزوّد سحابي». وفي اللحظة التي تبلغ فيها حدّك وتعبر إلى الاستهلاك الإضافي، ينكمش عمر التخزين المؤقت إلى جزء من اثني عشر ممّا كان. أي أنّ «ما بعد بلوغ الحدّ» لا يغيّر سعر الوحدة فحسب: بل يغيّر كذلك طريقة عمل التخزين المؤقت. كما تشير الوثائق إلى ضبط مدة الصلاحية بنفسك بوصفه السبيل إلى الاحتفاظ بعمر الساعة وأنت تعمل على الرصيد الإضافي.

6. تحميل MCP مؤجَّل افتراضيًا، ومع ذلك تبقى أدوات CLI أخفّ

مقولة «خوادم MCP تلتهم سياقك» تقوم هي أيضًا على مقدّمات تغيّرت. فوفق الوثائق، تُحمَّل تعريفات أدوات MCP تحميلًا مؤجَّلًا افتراضيًا، ولا يدخل السياق قبل أن يستعمل Claude أداة بعينها سوى أسماء الأدوات ووصف الخادم.

ومع ذلك تقول الوثائق إنّ أدوات CLI مثل gh وaws وgcloud وsentry-cli ما زالت أكفأ من حيث السياق. والسبب واضح: أداة CLI لا تضيف أيّ فهرس أدوات إطلاقًا. فبإمكان Claude تشغيل الأمر مباشرةً، حتى الأسماء لا حاجة إلى تحميلها.

والنتيجة العملية تتبع ذلك. فإن كانت أداة CLI تؤدّي العمل نفسه، فليكن سبب اختيارك لـMCP خارج ميزانية السياق (توحيد المصادقة، نتائج مهيكلة، ضبط الصلاحيات). أما الخادم الذي ركّبته لأنّه بدا مفيدًا فهو مرشّح للحذف، و/mcp يعرض لك القائمة.

7. ما يُحمَّل في كل دور بلا استثناء — CLAUDE.md والمحادثة نفسها

تُحمَّل المهارات وخوادم MCP بشروط، لكن هناك شيئين يُحمَّلان بلا شرط في كل مرة.

أوّلهما CLAUDE.md. فهو يُقرأ في السياق عند بدء الجلسة، ومن ثمّ تبقى إجراءات سير العمل التي كتبتها فيه جاثمة في النافذة طوال اشتغالك بشيء لا صلة له بها. وتوصي الوثائق كعلاج بـنقل التعليمات المفصّلة الخاصّة بسير عمل بعينه إلى المهارات، بل تذهب إلى هدف محدّد: أبقِ CLAUDE.md دون 200 سطر ومقتصرًا على الجوهر. والمنطق أنّ المهارة لا تُحمَّل إلا حين تُستدعى، فيكفّ المحتوى نفسه عن أن يكون عبئًا دائمًا.

وثانيهما المحادثة نفسها. وتصوغه الوثائق بدقّة: «يرسل Claude Code المحادثة كاملة مع كل طلب، وكلّما استعمل Claude أداةً أرسل طلبًا آخر يحمل نتيجة تلك الأداة». ولذلك فإنّ سؤالًا من سطر واحد في جلسة أبقيتها مفتوحة طوال اليوم يستدعي استهلاكًا بحجم المحادثة كلها. التخزين المؤقت يخفض سعر الوحدة، لكنه لا يصفّره.

وهنا بالضبط تأتي المفاضلة بين /clear و/compact. تقول الوثائق إنّ «/compact يقرأ المحادثة التي يلخّصها، فضغط سياق كبير هو نفسه طلب كبير، وإن أردت بداية جديدة لا استمرارًا فإنّ /clear لا يكلّف شيئًا». فـ«اضغطه وحسب» ليست مجانية. وتحديد لحظة الضغط متناوَل بالتفصيل في هل ينبغي تشغيل /compact وفق جدول دوري في Claude Code.

8. الاستهلاك يرتفع وأنت لا تفعل شيئًا

«لم أفعل سوى أنني ابتعدت، ومع ذلك ارتفع استهلاكي». لهذا أسباب محدّدة تسردها الوثائق. وكلها تتّخذ شكلًا واحدًا: دور جديد يبدأ ويرسل السياق كاملًا حتى والجلسة خاملة.

ما الذي يرفع استهلاكك وأنت خامل

  • المهامّ المجدولة — تنطلق وفق فترتها حتى والجلسة لا تفعل شيئًا، وكل انطلاقة ترسل السياق كاملًا
  • الرسائل الواردة من جلسات أخرى — تُسلَّم بوصفها دورًا جديدًا وأنت خامل. اضبط crossSessionInbound على hold لتُحجَز في طابور بدلًا من ذلك
  • فحوص تقدّم الهدف — أثناء انتظار عمل يجري في الخلفية يقوم دور للفحص، حتى ثلاث مرات بين المُوجّهات
  • كل عضو في فريق الوكلاء — يظلّ يستهلك التوكنات إلى أن ينتهي
  • انتهاء صلاحية التخزين المؤقت — أول رسالة بعد الاستراحة تعيد قراءة السياق كاملًا

ولفرق الوكلاء مُضاعِف محدّد. تقول الوثائق إنّ «فريق الوكلاء يستهلك نحو 7 أضعاف توكنات الجلسة العادية حين يعمل أعضاؤه في وضع التخطيط». فلكل عضو نافذة سياق خاصّة به، ومن ثمّ يتناسب الأمر تقريبًا مع عدد الأعضاء. والتوصية الرسمية واضحة كذلك: استعمل Sonnet للأعضاء، وأبقِ الفريق صغيرًا، وأغلقه متى انتهى العمل.

وكمقياس تقريبي، تضع الوثائق متوسّط عمليات النشر في المؤسسات عند نحو $13 للشخص في يوم العمل، أو من $150 إلى $250 شهريًا، وتقول إنّ 90% من المستخدمين يبقون دون $30 في يوم العمل. فإن كانت أرقامك بعيدة عن هذا النطاق، فالأرجح أنّ أحد البنود أعلاه فاعل عندك.

9. بعد أن تقيس، بماذا تبدأ الحذف

وبالأرقام في يدك، ابدأ حيث يكون الأثر أكبر. وإذا أعدت ترتيب الإجراءات التي تسردها الوثائق من الأسرع مردودًا فما دونه، خرجت بهذا.

مجانًا والآن
/clear حين تنتقل إلى عمل لا صلة له

السياق القديم يظلّ يُحتسب في كل رسالة تالية. شغّل /rename قبل المسح لتعود إليه لاحقًا بـ/resume

أصلح التركيبة مرة واحدة
أنزل CLAUDE.md دون 200 سطر

انقل إجراءات المهامّ الخاصّة إلى المهارات. يقلّ ما يُحمَّل دائمًا، وينسحب الأثر على كل جلسة

ضيّق المخرجات
الخطّافات والوكلاء الفرعيون

بدل تلقيمه سجلًّا من 10,000 سطر، دع خطّافًا يُرجع الأسطر المعنيّة وحدها. واحبس المعالجة المطوّلة داخل وكيل فرعي

اخفض سعر الوحدة
لائم بين النموذج ومقدار التفكير والعمل

يكفي Sonnet لمعظم البرمجة. وفي الأعمال البسيطة اخفض التفكير بـ/effort

وللترتيب معنى. فالأول يعمل من اليوم، وهو مجاني. والثاني تصلحه مرة فينسحب على كل جلسة. أما الثالث والرابع فمسألتا إعداد وعادة، فيتأخّر ظهور أثرهما قليلًا. وحذف المهارات ليس في المقدّمة لأنّه، كما بيّنت الأقسام السابقة، نادرًا ما يكون العامل الأكبر.

وما لا يتغيّر هو أن تقيس قبل أن تلمس أيّ شيء. فالأمر /usage الرسمي يضع علامة على أيّ سلوك يمثّل 10% أو أكثر من الاستهلاك الأخير (سياق مفرط الطول، فقدان التخزين المؤقت، وغيرهما). وحذف ما لا يحمل علامة لن يغيّر إحساسك بشيء.

الأسئلة الشائعة

س1. كم مهارة يُعدّ عددًا آمنًا؟
لا سقف للعدد. المهمّ هو أن تتّسع لميزانية أحرف الفهرس، وهي 1% من نافذة السياق. فالعشر مهارات نفسها تفيض عنها بأوصاف طويلة وتتّسع فيها بأوصاف قصيرة. وقراءة سطر Skills في /context وتشغيل /skill-doctor أدقّ من العدّ.

س2. هل أحذف مهارة لم تُستدعَ قطّ؟
استدعِها بالاسم قبل أن تحذفها. فإن عملت حين سمّيتها ولم تُختَر تلقائيًا قطّ، فهي ليست زائدة: وصفها يخسر أمام الميزانية. والعلاج حينها ليس الحذف بل إعادة كتابة الوصف (حالات الاستعمال الأساسية أولًا) أو رفع الميزانية.

س3. هل يجعل الضغط المتكرّر بـ/compact الأمور أرخص؟
لا. فالضغط يقرأ المحادثة التي يلخّصها، ومع سياق كبير يصير هو نفسه طلبًا كبيرًا. وحين لا تحتاج إلى الاستمرارية يكون /clear أرخص (لا يكلّف شيئًا) وأوثق.

س4. ما نسبة الإصابة التي ينبغي أن أستهدفها في التخزين المؤقت؟
لا تعطي الوثائق حدًّا للنجاح، لذا راقب التغيّر لا القيمة المطلقة. فإن هبطت النسبة وأنت تعمل بالطريقة نفسها، فالأرجح أنك غيّرت تركيبتك (خوادم MCP أو المهارات أو تعريفات الأدوات) قبل ذلك بقليل. ومنذ v2.1.260 يعرض السطر تقديره لأرجح سبب.

س5. هل ينبغي أن أقلّل خوادم MCP؟
تعريفات الأدوات تُحمَّل تحميلًا مؤجَّلًا افتراضيًا، ومن ثمّ فإنّ كلفة مجرّد تركيبها صارت أقلّ ممّا كانت. ومع ذلك، إن كانت أداة CLI مثل gh تؤدّي العمل نفسه فهي أخفّ (لا تضيف أيّ فهرس أدوات إطلاقًا). والخوادم التي لا تستعملها يمكن إطفاؤها بـ/mcp.

س6. هل يوفّر الوكلاء الفرعيون السياق؟
نعم. وتوصي الوثائق كذلك بـتسليم المعالجة المطوّلة (تشغيل الاختبارات، جلب الوثائق، مضغ السجلّات) إلى وكيل فرعي، مع إبقاء التفاصيل في سياقه وإرجاع الملخّص وحده. لكن انتبه إلى أنّ سطر التخزين المؤقت في /usage لا ينظر إلا إلى المحادثة الرئيسية، فتصير تلك الأرقام في أسلوب يقوم على الوكلاء الفرعيين ناقصة الصورة.

س7. لا أستطيع تشغيل /skill-doctor .
تحتاج إلى Claude Code v2.1.252 أو أحدث. كما أنّه لا يعمل عبر التحكّم عن بُعد من هاتف أو متصفّح، حيث يُرجع خطأً. وفي الجلسة التفاعلية يفتح تبويب Stats في مدير /plugin ، فإن أردت مخرجات نصّية فشغّله في الوضع غير التفاعلي مع -p.

المصادر

  • Claude Code Docs — Skills (ميزانية الفهرس البالغة 1% من نافذة السياق، حدّ الوصف عند 1,536 حرفًا، ترتيب الاختصار عند الفيض، سطر Skills في /context)
  • Claude Code Docs — Manage costs effectively (تفصيل /usage، سطر التخزين المؤقت للمُوجّه، تعريف الفقد، عمر التخزين المؤقت، هدف 200 سطر لـCLAUDE.md، رقم 7 أضعاف تقريبًا لفرق الوكلاء، متوسّط تكاليف المؤسسات)
  • Claude Code Docs — Slash commands (سلوك /skill-doctor ومتطلباته)
  • Claude Code Changelog (v2.1.251 سطر التخزين المؤقت، v2.1.252 الأمر /skill-doctor، v2.1.260 تقدير السبب، v2.1.261 ضبط حدّ المخرجات)