الانتقال إلى المحتوى الرئيسي
Skills هي ملفات تعليمات بصيغة Markdown تعلّم الوكيل كيف ومتى يستخدم الأدوات. تعيش كل مهارة في دليل يحتوي على ملف SKILL.md مع frontmatter بصيغة YAML ومتن Markdown. يحمّل OpenClaw المهارات المضمّنة بالإضافة إلى أي تجاوزات محلية، ويفلترها وقت التحميل بناءً على البيئة، والإعدادات، ووجود الملفات الثنائية.

Creating skills

ابنِ مهارة مخصصة واختبرها من الصفر.

Skill Workshop

راجع مقترحات المهارات التي صاغها الوكيل واعتمدها.

Skills config

مخطط إعدادات skills.* الكامل وقوائم السماح للوكلاء.

ClawHub

تصفّح مهارات المجتمع وثبّتها.

ترتيب التحميل

يحمّل OpenClaw من هذه المصادر، مع أعلى أسبقية أولًا. عندما يظهر اسم المهارة نفسه في مواضع متعددة، يفوز المصدر الأعلى.
الأولويةالمصدرالمسار
1 — الأعلىمهارات مساحة العمل<workspace>/skills
2مهارات وكيل المشروع<workspace>/.agents/skills
3مهارات الوكيل الشخصية~/.agents/skills
4المهارات المُدارة / المحلية~/.openclaw/skills
5المهارات المضمّنةمشحونة مع التثبيت
6 — الأدنىأدلة إضافيةskills.load.extraDirs + مهارات Plugin
تدعم جذور المهارات التخطيطات المجمّعة. يكتشف OpenClaw مهارة كلما ظهر SKILL.md في أي مكان تحت جذر مضبوط:
<workspace>/skills/research/SKILL.md          ✓ found as "research"
<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"
مسار المجلد للتنظيم فقط. يأتي اسم المهارة، وأمر الشرطة المائلة، ومفتاح قائمة السماح كلها من حقل frontmatter باسم name (أو من اسم الدليل عندما يكون name مفقودًا).
دليل $CODEX_HOME/skills الأصلي الخاص بـ Codex CLI ليس جذر مهارات في OpenClaw. استخدم openclaw migrate plan codex لجرد تلك المهارات، ثم openclaw migrate codex لنسخها إلى مساحة عمل OpenClaw لديك.

مهارات لكل وكيل مقابل مهارات مشتركة

في إعدادات الوكلاء المتعددين، يكون لكل وكيل مساحة عمل خاصة به. استخدم المسار الذي يطابق مستوى الظهور المطلوب لديك:
النطاقالمسارمرئي لـ
لكل وكيل<workspace>/skillsذلك الوكيل فقط
وكيل المشروع<workspace>/.agents/skillsوكيل مساحة العمل تلك فقط
وكيل شخصي~/.agents/skillsجميع الوكلاء على هذا الجهاز
مُدار مشترك~/.openclaw/skillsجميع الوكلاء على هذا الجهاز
أدلة إضافيةskills.load.extraDirsجميع الوكلاء على هذا الجهاز

قوائم السماح للوكلاء

موقع المهارة (الأسبقية) وظهور المهارة (أي وكيل يمكنه استخدامها) عنصران منفصلان للتحكم. استخدم قوائم السماح لتقييد المهارات التي يراها الوكيل، بغض النظر عن مكان تحميلها منه.
{
  agents: {
    defaults: {
      skills: ["github", "weather"], // shared baseline
    },
    list: [
      { id: "writer" }, // inherits github, weather
      { id: "docs", skills: ["docs-search"] }, // replaces defaults entirely
      { id: "locked-down", skills: [] }, // no skills
    ],
  },
}
  • احذف agents.defaults.skills لترك كل المهارات غير مقيّدة افتراضيًا.
  • احذف agents.list[].skills لوراثة agents.defaults.skills.
  • اضبط agents.list[].skills: [] لعدم إظهار أي مهارات لذلك الوكيل.
  • قائمة agents.list[].skills غير الفارغة هي المجموعة النهائية — فهي لا تُدمج مع القيم الافتراضية.
  • تنطبق قائمة السماح الفعالة عبر بناء الموجهات، واكتشاف أوامر الشرطة المائلة، ومزامنة sandbox، ولقطات المهارات.
  • هذا ليس حدّ تفويض لقشرة المضيف. إذا كان الوكيل نفسه يستطيع استخدام exec، فقيّد تلك القشرة بشكل منفصل باستخدام sandboxing، وعزل مستخدم نظام التشغيل، وقوائم منع/سماح exec، وبيانات اعتماد لكل مورد.

Plugins والمهارات

يمكن لـ Plugins شحن مهاراتها الخاصة عبر سرد أدلة skills في openclaw.plugin.json (مسارات نسبية إلى جذر Plugin). تُحمّل مهارات Plugin عندما يكون Plugin مفعّلًا — على سبيل المثال، يشحن Plugin المتصفح مهارة browser-automation للتحكم متعدد الخطوات في المتصفح. تندمج أدلة مهارات Plugin عند مستوى الأسبقية المنخفض نفسه مثل skills.load.extraDirs، لذا تتجاوزها أي مهارة مضمّنة أو مُدارة أو خاصة بوكيل أو بمساحة عمل لها الاسم نفسه. احجبها عبر metadata.openclaw.requires.config في مدخل إعدادات Plugin. راجع Plugins والأدوات للاطلاع على نظام Plugin الكامل.

ورشة المهارات

ورشة المهارات هي طابور مقترحات بين الوكيل وملفات المهارات النشطة لديك. عندما يلاحظ الوكيل عملًا قابلًا لإعادة الاستخدام، يصوغ مقترحًا بدلًا من الكتابة مباشرة إلى SKILL.md. تراجع أنت وتعتمد قبل أن يتغير أي شيء.
openclaw skills workshop list
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
راجع ورشة المهارات للاطلاع على دورة الحياة الكاملة ومرجع CLI والإعدادات.

التثبيت من ClawHub

ClawHub هو سجل المهارات العام. استخدم أوامر openclaw skills للتثبيت والتحديث، أو CLI باسم clawhub للنشر والمزامنة.
الإجراءالأمر
تثبيت مهارة في مساحة العملopenclaw skills install @owner/<slug>
التثبيت من مستودع Gitopenclaw skills install git:owner/repo@ref
تثبيت دليل مهارة محليopenclaw skills install ./path/to/skill --as my-tool
التثبيت لكل الوكلاء المحليينopenclaw skills install @owner/<slug> --global
تحديث كل مهارات مساحة العملopenclaw skills update --all
تحديث مهارة مُدارة مشتركةopenclaw skills update @owner/<slug> --global
تحديث كل المهارات المُدارة المشتركةopenclaw skills update --all --global
التحقق من غلاف ثقة مهارةopenclaw skills verify @owner/<slug>
طباعة بطاقة Skill المولّدةopenclaw skills verify @owner/<slug> --card
النشر / المزامنة عبر ClawHub CLIclawhub sync --all
يثبّت openclaw skills install افتراضيًا في دليل skills/ لمساحة العمل النشطة. أضف --global للتثبيت في دليل ~/.openclaw/skills المشترك، المرئي لكل الوكلاء المحليين ما لم تضيّقه قوائم السماح للوكلاء.تتوقع تثبيتات Git والتثبيتات المحلية وجود SKILL.md في جذر المصدر. يأتي slug من frontmatter SKILL.md باسم name عندما يكون صالحًا، ثم يعود إلى اسم الدليل أو المستودع. استخدم --as <slug> للتجاوز. يتتبع openclaw skills update تثبيتات ClawHub فقط — أعد تثبيت مصادر Git أو المصادر المحلية لتحديثها.
يطلب openclaw skills verify @owner/<slug> من ClawHub غلاف ثقة clawhub.skill.verify.v1 الخاص بالمهارة. تتحقق مهارات ClawHub المثبتة مقابل الإصدار والسجل المسجلين في .clawhub/origin.json. تبقى slugs المجردة مقبولة للمهارات المثبتة الحالية أو غير الملتبسة، لكن المراجع المؤهلة بالمالك تتجنب التباس الناشر.تعرض صفحات مهارات ClawHub أحدث حالة فحص أمني قبل التثبيت، مع صفحات تفصيلية لـ VirusTotal وClawScan والتحليل الثابت. يخرج الأمر برمز غير صفري عندما يضع ClawHub علامة فشل على التحقق. يتعافى الناشرون من الإيجابيات الكاذبة عبر لوحة ClawHub أو clawhub skill rescan @owner/<slug>.
يمكن لعملاء Gateway الذين يحتاجون تسليمًا خارج ClawHub تجهيز أرشيف مهارة zip باستخدام skills.upload.begin وskills.upload.chunk وskills.upload.commit، ثم التثبيت باستخدام skills.install({ source: "upload", ... }). هذا المسار معطّل افتراضيًا ويتطلب skills.install.allowUploadedArchives: true في openclaw.json. لا تحتاج تثبيتات ClawHub العادية إلى هذا الإعداد أبدًا.

الأمان

تعامل مع مهارات الجهات الخارجية على أنها تعليمات برمجية غير موثوقة. اقرأها قبل التفعيل. فضّل التشغيل داخل sandbox للمدخلات غير الموثوقة والأدوات عالية المخاطر. راجع Sandboxing لعناصر التحكم من جهة الوكيل.
لا يقبل اكتشاف مهارات مساحة العمل، ووكيل المشروع، والدليل الإضافي إلا جذور المهارات التي يبقى realpath المحلول الخاص بها داخل الجذر المضبوط، ما لم يكن skills.load.allowSymlinkTargets يثق صراحة بجذر هدف. تكتب ورشة المهارات عبر تلك الأهداف الموثوقة فقط عندما يكون skills.workshop.allowSymlinkTargetWrites مفعّلًا. قد يحتوي ~/.openclaw/skills المُدار و~/.agents/skills الشخصي على مجلدات مهارات مرتبطة رمزيًا، لكن يجب أن يبقى realpath لكل SKILL.md داخل دليل المهارة المحلول الخاص به.
اضبط security.installPolicy لتشغيل أمر سياسة محلي موثوق قبل متابعة تثبيتات المهارات. تتلقى السياسة metadata ومسار المصدر المجهّز، وتنطبق على مسارات ClawHub، والمرفوع، وGit، والمحلي، والتحديث، ومثبت الاعتماديات، وتفشل بإغلاق عندما لا يستطيع الأمر إرجاع قرار صالح.
يحقن skills.entries.*.env وskills.entries.*.apiKey الأسرار في عملية المضيف لدورة ذلك الوكيل فقط — وليس في sandbox. أبقِ الأسرار خارج الموجهات والسجلات.
للاطلاع على نموذج التهديد الأوسع وقوائم التحقق الأمنية، راجع الأمان.

تنسيق SKILL.md

تحتاج كل مهارة كحد أدنى إلى name وdescription في frontmatter:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---

When the user asks to generate an image, use the `image_generate` tool...
يتبع OpenClaw مواصفة AgentSkills. يدعم محلل frontmatter مفاتيح بسطر واحد فقط — يجب أن يكون metadata كائن JSON بسطر واحد. استخدم {baseDir} في المتن للإشارة إلى مسار مجلد المهارة.

مفاتيح frontmatter اختيارية

homepage
string
عنوان URL المعروض باسم “موقع الويب” في واجهة Skills على macOS. مدعوم أيضًا عبر metadata.openclaw.homepage.
user-invocable
boolean
افتراضي:"true"
عندما تكون القيمة true، تُعرض المهارة كأمر شرطة مائلة يمكن للمستخدم استدعاؤه.
disable-model-invocation
boolean
افتراضي:"false"
عندما تكون القيمة true، يبقي OpenClaw تعليمات المهارة خارج الموجه العادي للوكيل. تظل المهارة متاحة كأمر شرطة مائلة عندما تكون user-invocable أيضًا true.
command-dispatch
"tool"
عند ضبطها على tool، يتجاوز أمر الشرطة المائلة النموذج ويُرسَل مباشرة إلى أداة مسجلة.
command-tool
string
اسم الأداة المراد استدعاؤها عند ضبط command-dispatch: tool.
command-arg-mode
"raw"
افتراضي:"raw"
لإرسال الأدوات، يمرّر سلسلة الوسيطات الخام إلى الأداة من دون تحليل أساسي. تتلقى الأداة { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

الضبط

يرشّح OpenClaw المهارات عند وقت التحميل باستخدام metadata.openclaw (JSON بسطر واحد في frontmatter). تكون المهارة التي لا تحتوي على كتلة metadata.openclaw مؤهلة دائمًا ما لم يتم تعطيلها صراحة.
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
always
boolean
عندما تكون true، أدرج المهارة دائمًا وتجاوز كل البوابات الأخرى.
emoji
string
رمز تعبيري اختياري يُعرض في واجهة Skills على macOS.
homepage
string
عنوان URL اختياري يُعرض باسم “موقع الويب” في واجهة Skills على macOS.
os
"darwin" | "linux" | "win32"
مرشح النظام الأساسي. عند ضبطه، تكون المهارة مؤهلة فقط على أنظمة التشغيل المدرجة.
requires.bins
string[]
يجب أن يوجد كل ملف تنفيذي على PATH.
requires.anyBins
string[]
يجب أن يوجد ملف تنفيذي واحد على الأقل على PATH.
requires.env
string[]
يجب أن يوجد كل متغير بيئة في العملية أو أن يُوفَّر عبر الإعدادات.
requires.config
string[]
يجب أن يكون كل مسار openclaw.json ذا قيمة صادقة.
primaryEnv
string
اسم متغير البيئة المرتبط بـ skills.entries.<name>.apiKey.
install
object[]
مواصفات مثبّت اختيارية تستخدمها واجهة Skills على macOS (brew / node / go / uv / download).
لا تزال كتل metadata.clawdbot القديمة مقبولة عند غياب metadata.openclaw، بحيث تحتفظ المهارات الأقدم المثبّتة ببوابات الاعتمادات وتلميحات المثبّت. يجب أن تستخدم المهارات الجديدة metadata.openclaw.

مواصفات المثبّت

تخبر مواصفات المثبّت واجهة Skills على macOS بكيفية تثبيت اعتماد:
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Install Gemini CLI (brew)",
            },
          ],
      },
  }
---
  • عند إدراج عدة مثبّتات، يختار Gateway خيارًا مفضّلًا واحدًا (brew عند توفره، وإلا node).
  • إذا كانت كل المثبّتات download، يعرض OpenClaw كل إدخال حتى تتمكن من رؤية كل العناصر المتاحة.
  • يمكن أن تتضمن المواصفات os: ["darwin"|"linux"|"win32"] للتصفية حسب النظام الأساسي.
  • تحترم تثبيتات Node القيمة skills.install.nodeManager في openclaw.json (الافتراضي: npm؛ الخيارات: npm / pnpm / yarn / bun). يؤثر هذا فقط على تثبيتات المهارات؛ يجب أن يظل وقت تشغيل Gateway هو Node.
  • تفضيل مثبّت Gateway: Homebrew ← uv ← مدير node المضبوط ← go ← download.
  • Homebrew: لا يثبّت OpenClaw Homebrew تلقائيًا ولا يترجم صيغ brew إلى أوامر حزم النظام. في حاويات Linux من دون brew، تُخفى المثبّتات التي تعتمد على brew فقط؛ استخدم صورة مخصصة أو ثبّت الاعتماد يدويًا.
  • Go: يتطلب OpenClaw الإصدار Go 1.21 أو أحدث لتثبيتات المهارات التلقائية و يحافظ على إعدادات GOBIN وGOPATH وGOTOOLCHAIN الحالية. إذا كانت سلسلة الأدوات المضبوطة لا تستطيع تلبية إصدار Go المطلوب لوحدة ما، يجمع الإعداد الأولي المهارة مع متطلبات Go اليدوية بعد محاولة التثبيت. إذا كان go مفقودًا وكان Homebrew متاحًا، يثبّت OpenClaw Go عبر Homebrew أولًا ويضبط GOBIN إلى bin الخاص بـ Homebrew. على Linux، يمكن لـ OpenClaw بدلًا من ذلك استخدام apt-get بصفة root أو عبر sudo من دون كلمة مرور عندما يلبّي مرشح golang-go المحدّث الحد الأدنى للإصدار.
  • Download: url (مطلوب)، archive (tar.gz | tar.bz2 | zipextract (الافتراضي: تلقائي عند اكتشاف أرشيف)، stripComponents، targetDir (الافتراضي: ~/.openclaw/tools/<skillKey>).
يُفحص requires.bins على المضيف عند وقت تحميل المهارة. إذا كان الوكيل يعمل داخل صندوق عزل، فيجب أن يوجد الملف التنفيذي أيضًا داخل الحاوية. ثبّته عبر agents.defaults.sandbox.docker.setupCommand أو صورة مخصصة. يعمل setupCommand مرة واحدة بعد إنشاء الحاوية ويتطلب خروجًا شبكيًا، ونظام ملفات جذريًا قابلًا للكتابة، ومستخدم root في صندوق العزل.

تجاوزات الإعدادات

بدّل واضبط المهارات المضمّنة أو المُدارة ضمن skills.entries في ~/.openclaw/openclaw.json:
{
  skills: {
    entries: {
      "image-lab": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
        env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" },
        config: {
          endpoint: "https://example.invalid",
          model: "nano-pro",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}
enabled
boolean
يعطّل false المهارة حتى عند تضمينها أو تثبيتها. مهارة coding-agent المضمّنة اختيارية الاشتراك — اضبط skills.entries.coding-agent.enabled: true وتأكد من تثبيت ومصادقة أحد claude أو codex أو opencode أو CLI آخر مدعوم.
apiKey
string | { source, provider, id }
حقل ملائم للمهارات التي تعلن metadata.openclaw.primaryEnv. يدعم سلسلة نصية صريحة أو كائن SecretRef.
env
Record<string, string>
متغيرات البيئة المحقونة لتشغيل الوكيل. تُحقن فقط عندما لا يكون المتغير مضبوطًا مسبقًا في العملية.
config
object
حزمة اختيارية لحقول إعداد مخصصة لكل مهارة.
allowBundled
string[]
قائمة سماح اختيارية للمهارات المضمّنة فقط. عند ضبطها، تكون المهارات المضمّنة الموجودة في القائمة فقط مؤهلة. لا تتأثر المهارات المُدارة ومهارات مساحة العمل.
تطابق مفاتيح الإعدادات اسم المهارة افتراضيًا. إذا عرّفت مهارة metadata.openclaw.skillKey، فاستخدم ذلك المفتاح ضمن skills.entries. ضع الأسماء التي تحتوي على واصلات بين علامات اقتباس: يسمح JSON5 بالمفاتيح المقتبسة.

حقن البيئة

عند بدء تشغيل وكيل، يقوم OpenClaw بما يلي:
1

قراءة بيانات المهارة الوصفية

يحل OpenClaw قائمة المهارات الفعالة للوكيل، مع تطبيق قواعد الضبط وقوائم السماح وتجاوزات الإعدادات.
2

حقن البيئة ومفاتيح API

تُطبّق skills.entries.<key>.env وskills.entries.<key>.apiKey على process.env طوال مدة التشغيل.
3

بناء موجه النظام

تُجمع المهارات المؤهلة في كتلة XML مضغوطة وتُحقن في موجه النظام.
4

استعادة البيئة

بعد انتهاء التشغيل، تُستعاد البيئة الأصلية.
حقن البيئة محدود بتشغيل وكيل المضيف، وليس صندوق العزل. داخل صندوق العزل، لا يكون لـ env وapiKey أي تأثير. راجع إعدادات Skills لمعرفة كيفية تمرير الأسرار إلى عمليات التشغيل المعزولة.
بالنسبة للواجهة الخلفية المضمّنة claude-cli، يجسّد OpenClaw أيضًا لقطة المهارات المؤهلة نفسها على شكل Plugin مؤقت لـ Claude Code ويمرّرها عبر --plugin-dir. تستخدم واجهات CLI الخلفية الأخرى كتالوج الموجهات فقط.

اللقطات والتحديث

يلتقط OpenClaw المهارات المؤهلة عند بدء الجلسة ويعيد استخدام تلك القائمة لكل الأدوار اللاحقة في الجلسة. تسري التغييرات على المهارات أو الإعدادات في الجلسة الجديدة التالية. تُحدّث Skills في منتصف الجلسة في حالتين:
  • يكتشف مراقب Skills تغييرًا في SKILL.md.
  • تتصل عقدة بعيدة مؤهلة جديدة.
تُستخدم القائمة المحدّثة في دور الوكيل التالي. إذا تغيّرت قائمة السماح الفعالة للوكيل، يحدّث OpenClaw اللقطة لإبقاء المهارات المرئية متوافقة.
افتراضيًا، يراقب OpenClaw مجلدات المهارات ويرفع إصدار اللقطة عندما تتغير ملفات SKILL.md. اضبط ذلك ضمن skills.load:
{
  skills: {
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills"],
      allowSymlinkTargets: ["~/Projects/manager/skills"],
      watch: true,
      watchDebounceMs: 250,
    },
  },
}
استخدم allowSymlinkTargets للتخطيطات الرمزية المقصودة حيث يشير رابط رمزي لجذر مهارة إلى خارج الجذر المضبوط، مثل <workspace>/skills/manager -> ~/Projects/manager/skills. فعّل skills.workshop.allowSymlinkTargetWrites فقط عندما يجب على Skill Workshop أن يطبق المقترحات أيضًا عبر تلك المسارات الرمزية الموثوقة.
إذا كان Gateway يعمل على Linux ولكن عقدة macOS متصلة مع السماح بـ system.run، فيمكن لـ OpenClaw اعتبار المهارات الخاصة بـ macOS فقط مؤهلة عندما تكون الملفات التنفيذية المطلوبة موجودة على تلك العقدة. يجب أن يشغّل الوكيل تلك المهارات عبر أداة exec مع host=node.لا تجعل العقد غير المتصلة المهارات البعيدة فقط مرئية. إذا توقفت عقدة عن الرد على فحوصات الملفات التنفيذية، يمسح OpenClaw مطابقات الملفات التنفيذية المخزنة مؤقتًا لها.

أثر الرموز

عندما تكون المهارات مؤهلة، يحقن OpenClaw كتلة XML مضغوطة في موجه النظام. التكلفة حتمية:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))
  • الكلفة الأساسية (فقط عند وجود ≥ 1 مهارة): نحو 195 حرفًا
  • لكل مهارة: نحو 97 حرفًا + أطوال حقول name وdescription وlocation
  • يوسّع تهريب XML المحارف & < > " ' إلى كيانات، مما يضيف بضعة محارف لكل ظهور
  • عند نحو 4 محارف/رمز، فإن 97 حرفًا ≈ 24 رمزًا لكل مهارة قبل أطوال الحقول
اجعل الأوصاف قصيرة ووصفية لتقليل كلفة الموجه.

ذات صلة

إنشاء Skills

دليل خطوة بخطوة لتأليف مهارة مخصصة.

Skill Workshop

قائمة انتظار مقترحات للمهارات التي يصوغها الوكيل.

إعدادات Skills

مخطط إعدادات skills.* الكامل وقوائم سماح الوكلاء.

أوامر الشرطة المائلة

كيف تُسجّل أوامر الشرطة المائلة للمهارات وتُوجّه.

ClawHub

تصفح المهارات وانشرها في السجل العام.

Plugins

يمكن لـ Plugins شحن مهارات إلى جانب الأدوات التي توثقها.