في الأسبوع الماضي أنجزت مهمة عبر ما يُعرف بـ vibe coding (البرمجة بالوصف): وصفتَ ما تريده، فبناه الوكيل، ونجح، ونشرتَه. ثم جاء يوم الأحد واحتجت الشيء نفسه مرة أخرى، نفس طقوس الإصدار، نفس خطوات إعداد الموظف الجديد، فجلستَ تكتب الفقرة كاملة من الصفر. مجددًا.
هذه الفجوة بالضبط هي ما تسدّه مهارات Codex. المهارة (skill) هي دليل عمل قابل لإعادة الاستخدام لا يقرأه الوكيل إلا حين تطابق المهمة وصفها، فيتحوّل ما اكتشفته مرة واحدة إلى أمر بسطر واحد من ذلك الحين فصاعدًا. أطلقت OpenAI مهارات الوكلاء لـ Codex بوصفها حِزَمًا قابلة لإعادة الاستخدام من التعليمات، مع نصوص برمجية وموارد اختيارية، تساعد Codex على إنجاز مهام محددة بموثوقية. هذا الدليل يشرح ما هي وكيف تكتب أول واحدة لك، مع شجرة المجلدات والـ frontmatter، سواء كنت تكتب الكود بنفسك أم لا.
ما هي مهارة الوكيل فعليًا
المهارة هي مجلد. بداخله ملف واحد، SKILL.md، مكتوب بصيغة Markdown البسيطة. هذا هو الحد الأدنى بالكامل:
release/
SKILL.md
والملف نفسه:
---
name: release
description: Use when cutting a new release. Bumps the version,
updates the changelog, runs the test suite, drafts release
notes, and tags the commit. Trigger on "ship a release" or
"cut version".
---
# Release playbook
1. Bump the version in package.json (patch unless told otherwise).
2. Move everything under "## Unreleased" in CHANGELOG.md into a
new dated version heading.
3. Run `npm test`. If anything fails, stop and report. Do not tag.
4. Draft release notes from the changelog entries, grouped by
Added / Fixed / Changed.
5. Create an annotated git tag matching the new version.
يتطلب الـ frontmatter بصيغة YAML حقلين فقط لا غير: name وdescription. أما المتن فمجرد تعليمات، بالترتيب الذي ستعطيه لموظف جديد دقيق. لا مخطط JSON، ولا SDK، ولا خطوة بناء. يستطيع مؤسس غير تقني أن يكتب ذلك في خمس دقائق.
وحين تتجاوز المهارة سير عمل واحد، تضيف مجلدات فرعية اختيارية: scripts/ لشيفرات مساعدة يمكنه تشغيلها، وreferences/ لمستندات أطول، وassets/ للقوالب، وملف agents/openai.yaml لإعدادات Codex الخاصة. لا شيء من هذا مطلوب للبدء.
كيف تختلف المهارات عن الـ prompts وعن AGENTS.md
الـ prompt تعليمة لمرة واحدة. تكتبها، يتصرّف الوكيل، ثم تتبخّر الكلمات. وفي المرة القادمة التي تحتاج فيها النتيجة نفسها، تعيد بناء الـ prompt من ذاكرتك فتكتبه على نحوٍ مغلوط قليلًا، لأنك دائمًا تفعل.
المهارة هي الـ prompt وقد صار دائمًا وذاتي الاختيار. والفرق كله يعود إلى حقل description ذاك. يقرأ Codex اسم ووصف كل مهارة مثبّتة سلفًا. وحين تصف هدفًا، يطابق طلبك مع تلك الأوصاف ويحمّل الدليل الصحيح من تلقاء نفسه. تقول "أطلق إصدارًا"، فيلاحظ Codex أن وصف مهارة الإصدار يذكر ذلك بالضبط، فينتزعها من الرف.
والمهارات ليست AGENTS.md، وإن كان المطوّرون يخلطون بينهما باستمرار. ملف AGENTS.md هو سياق المشروع الدائم، قواعد البيت التي يقرأها Codex في كل مهمة ("نستخدم pnpm وليس npm أبدًا؛ الاختبارات في __tests__؛ لا تلمس /legacy إطلاقًا"). أما المهارات فتُحمَّل عند الطلب، فقط حين تطابق المهمة.
- AGENTS.md: القواعد التي يعرفها الوكيل دائمًا.
- المهارات: الأدلة التي ينتزعها من الرف حين تستدعيها المهمة.
ضَع قواعد دائمة الحاجة داخل مهارة نادرة التفعيل، ولن يتبعها الوكيل. وضَع طقس إصدار نادر داخل AGENTS.md، تكون قد ضخّمت السياق الذي تدفع ثمنه كل مهمة. الشيء الصحيح في الطبقة الصحيحة.
كيف يُفعِّل Codex مهارة
ثمة طريقتان لاستدعاء مهارة، والثانية هي المثيرة للاهتمام.
- الاستدعاء الصريح. تناديها بالاسم، عبر أمر
/skillsأو صيغة$skill-name، مثل$release. مفيد حين تعرف بالضبط أي دليل تريد. - الاستدعاء الضمني. تصف الهدف بلغة عربية بسيطة، فيختار Codex المهارة المطابقة تلقائيًا من أوصافها. لا أمر تحفظه: تقول ما تريد إنجازه، فيحمّل الدليل الصحيح نفسه بنفسه.
السبب الذي يمكّنك من تثبيت عشرات المهارات دون أن يتباطأ الوكيل هو الكشف التدريجي (progressive disclosure). يقرأ Codex في البداية اسم كل مهارة ووصفها ومسار ملفها فقط، لا المتن الكامل. ولا يحمّل ملف SKILL.md كاملًا إلا حين يقرّر استخدام تلك المهارة. وتصف Anthropic، صاحبة هذه الصيغة، الكشف التدريجي بأنه مبدأ التصميم الجوهري الذي يجعل مهارات الوكلاء قابلة للتوسّع. مئة دليل على الرف لا تكلّف شيئًا تقريبًا حتى يُنتزَع واحد منها.
تعيش المهارات في نطاقات تطابق مَن هذا الدليل من أجله:
- على مستوى المستودع (
.agents/skillsداخل مشروعك): أدلة الفريق، محفوظة في المستودع. - شخصي (
$HOME/.agents/skills): أدلتك الخاصة، متاحة عبر كل مشروع. - المسؤول (
/etc/codex/skills): أدلة موحّدة على مستوى الشركة يضبطها المسؤول لأسطول كامل. - مدمجة: مهارات مرفقة مع Codex نفسه، ومنها أدوات مساعدة تبني المهارات وتثبّتها نيابةً عنك.
Codex و Claude Code يقفان على المعيار نفسه
إليك التفصيلة الجديرة بالاستيعاب: صيغة SKILL.md معيار مفتوح وعابر للأدوات، وليست اختراعًا من مزوّد واحد. ابتكرتها Anthropic مع مهارات الوكلاء في Claude Code ونشرتها علنًا من أجل قابلية النقل عبر المنصّات، وCodex مبني على المعيار نفسه. الـ frontmatter، ونموذج الكشف التدريجي، وبنية المجلدات كلها مشتركة، ولذلك يكون دليل إصدار تكتبه قابلًا للنقل إلى حدٍ بعيد بين OpenAI Codex وClaude Code. أنت تتعلّم معيارًا، لا تراهن على مزوّد بعينه. والمهارات ليست حكرًا على المبرمجين: ثمة مهارات جاهزة للمستندات وجداول البيانات تعمل من نافذة محادثة، دون حاجة إلى أي طرفية.
نموذج مكتبة مهارات
بضعة أدلة تستحق أن تسرقها، كلٌّ منها مبني على شيء تفعله الأدوات فعليًا:
release/: طقس رفع-النسخة-والاختبار-والوسم أعلاه. فـ Codex يقرأ مستودعك أصلًا، ويحرّر الملفات، ويشغّل الاختبارات، ويودِع، فهذه المهارة تجعل تلك الحلقة بضغطة واحدة فقط.onboarding/: يثبّت ويضبط أدوات الفريق ليتصرّف وكيل كل مساهم بالطريقة نفسها، فيتعلّم Codex كيف تنجزون التذاكر والإعداد عندكم.branch-review/: دليل يدير فريقًا من الوكلاء الفرعيين. جملة واحدة تفرّع ثلاثة مختصّين: "راجع هذا الفرع مقابل main. اجعل pr_explorer يرسم مسارات الكود، وreviewer يجد المخاطر، وdocs_researcher يتحقق من الـ APIs".
هذا الأخير يبيّن كيف تتركّب المهارات مع الوكلاء الفرعيين (subagents)، وهم وكلاء متخصّصون يستطيع Codex استدعاءهم بالتوازي ثم دمج نتائجهم في إجابة واحدة. وملاحظة صدق تربك الناس: لا يستدعي Codex وكيلًا فرعيًا إلا حين تطلب منه ذلك صراحةً. فهم لا يطلقون أنفسهم تلقائيًا.
حالات استخدام للمؤسسين غير التقنيين
لا تحتاج لقراءة أي كود لأيٍّ من هذه. ولأن السوق هنا — من الرياض إلى دبي إلى القاهرة — يتسارع نحو الأتمتة، فهذه أمثلة عملية يمكنك تطبيقها اليوم:
- ردود متّسقة على العملاء. مهارة
support-triageتصنّف الرسالة الواردة، وتصوغ ردًّا بصوت علامتك التجارية، وتؤشّر على ما يحتاج تدخّلًا بشريًا — مفيدة لمتجر تجارة إلكترونية سعودي يتلقّى أسئلة بالعربية والإنجليزية في آنٍ واحد. مكتوبة بالكامل بصيغة Markdown. - تحديث أسبوعي للمستثمرين. مهارة
investor-updateتستحضر أقسامك المعتادة، وتسألك عن أرقام هذا الأسبوع الثلاثة، وتصوغ البريد بصيغتك. - إعداد الموظف الجديد. مهارة
onboardingتجعل اليوم الأول يجري بالطريقة نفسها في كل مرة بدلًا من أن يعيش في رأس شخص واحد.
القاعدة: أي شيء تشرحه بالطريقة نفسها مرّتين هو مرشّح ليصبح مهارة.
قائمة فحص الأمان والمراجعة
المهارات تضيف قابلية التكرار؛ لكنها لا تضيف الحُكم السديد. مرّ على هذه قبل أن تثق بأي مهارة:
- اكتب
descriptionيقول متى، لا ماذا فقط. يعتمد الاستدعاء الضمني عليه. الوصف المبهم يعني أن المهارة لا تُفعَّل أبدًا، أو تُفعَّل على المهمة الخطأ. - لا تكدّس كل شيء في SKILL.md عملاق واحد. ذلك يفسد الكشف التدريجي. قسّم المحتوى العميق إلى ملفات مرجعية.
- أبقِ المهارات وAGENTS.md كلٌّ في طبقته الصحيحة. القواعد الدائمة في AGENTS.md، والأدلة عند الطلب في المهارات.
- لا تتوقّع أن يستدعي الوكلاء الفرعيون أنفسهم تلقائيًا. لا يفعلون؛ أنت تطلب. وانتبه للقيم الافتراضية لعدد الخيوط والعمق.
- ابنِ خطوة التحقّق داخل المهارة. ادمج أمر الاختبار وتعليمة "توقّف عند الفشل" مباشرةً داخل الدليل، لأن قابلية التكرار لا تزيل خطر قبول مخرجات غير مراجَعة.
- لا تفترض الاحتجاز لدى مزوّد واحد.
SKILL.mdمعيار مفتوح وقابل للنقل. اكتبه مرة؛ وشغّله عبر الأدوات.
المهارات هي خطوة النضج التي تلي الـ vibe coding. الوصف الحر يوصلك إلى النسخة الأولى؛ والمهارة تجعلها موثوقة، ببوابة تحقّق مدمجة فيها.
احتفظ بأدلّتك
احفظ مهاراتك الجاهزة كمجموعة ذات إصدارات في Command Center، ليصبح سير العمل الذي اكتشفته مرة واحدة أصلًا يعيد الفريق كله استخدامه.
المصادر وقراءات إضافية
- OpenAI Codex: مهارات الوكلاء
- وثائق OpenAI Codex
- Anthropic: تجهيز الوكلاء للعالم الحقيقي عبر Agent Skills
- Anthropic: وثائق Claude Code
الأسئلة الشائعة
هل أحتاج إلى معرفة البرمجة لكتابة مهارة Codex؟
لا. الأجزاء المطلوبة في SKILL.md هي Markdown بسيط: name وdescription وتعليمات مرقّمة. النصوص البرمجية اختيارية. إن كنت تستطيع كتابة شرح واضح لزميل، تستطيع كتابة مهارة.
ما الفرق بين المهارة وملف AGENTS.md؟
ملف AGENTS.md سياق دائم يقرأه Codex في كل مهمة. أما المهارة فلا تُحمَّل إلا حين تطابق المهمة وصفها. القواعد الثابتة تذهب إلى AGENTS.md؛ وأسياق العمل المتكرّرة المحدّدة تذهب إلى المهارات.
هل ستعمل مهارة كتبتها لـ Codex داخل Claude Code؟
إلى حدٍّ بعيد، نعم. SKILL.md معيار مفتوح ابتكرته Anthropic ونشرته من أجل قابلية النقل، وCodex مبنيٌّ عليه. الصيغة والـ frontmatter ونموذج الكشف التدريجي مشتركة.
لماذا لا يستخدم Codex مهارتي رغم أنها مثبّتة؟
السبب دائمًا تقريبًا هو الـ description. يختار Codex المهارات بمطابقة طلبك مع الأوصاف، فالوصف الغامض يخسر أمام وصف دقيق. اذكر متى تُفعَّل، لا ماذا تفعل فقط.
اقرأ أيضًا على Boostor: إعداد أوامر السلاش والمهارات في Claude Code · أفضل ممارسات AGENTS.md: اجعله قصيرًا · الوكلاء الفرعيون في Claude Code: متى وكيف
