Skills

ایجاد Skills

Skills به عامل می‌آموزند چگونه و چه زمانی از ابزارها استفاده کند. هر Skill یک پوشه است که شامل فایل SKILL.md با فرانت‌متر YAML و دستورالعمل‌های Markdown می‌شود. OpenClaw، Skills را از چندین ریشه و طبق یک ترتیب تقدم مشخص بارگیری می‌کند.

نخستین Skill خود را ایجاد کنید

  • پوشه Skill را ایجاد کنید

    Skills در پوشه skills/ فضای کاری شما قرار می‌گیرند:

    bash
    mkdir -p ~/.openclaw/workspace/skills/hello-world

    برای سازمان‌دهی می‌توانید Skills را در زیرپوشه‌ها گروه‌بندی کنید — نام Skill همچنان از فرانت‌متر SKILL.md گرفته می‌شود، نه از مسیر پوشه:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# نام Skill همچنان "hello-world" است و به‌شکل /hello-world فراخوانی می‌شود
  • فایل SKILL.md را بنویسید

    فرانت‌متر، فراداده را تعریف می‌کند؛ بدنه، دستورالعمل‌ها را در اختیار عامل قرار می‌دهد.

    markdown
    ---name: hello-worlddescription: یک Skill ساده که پیام خوشامدگویی را چاپ می‌کند.--- # سلام دنیا هنگامی که کاربر پیام خوشامدگویی می‌خواهد، از ابزار `exec` برای اجرای دستور زیر استفاده کنید: ```bashecho "سلام از Skill سفارشی شما!"
    Code
     قواعد نام‌گذاری:- برای `name` از حروف کوچک، ارقام و خط تیره استفاده کنید.- نام پوشه و `name` موجود در فرانت‌متر را هماهنگ نگه دارید.- مقدار `description` به عامل و در بخش کشف فرمان‌های اسلش نمایش داده می‌شود —  آن را در یک خط و کمتر از ۱۶۰ نویسه نگه دارید.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLYqNin2LHar9uM2LHbjCBTa2lsbCDYsdinINio2LHYsdiz24wg2qnZhtuM2K8i ```bashopenclaw skills list

    OpenClaw به‌طور پیش‌فرض فایل‌های SKILL.md زیر ریشه‌های Skills را پایش می‌کند. اگر پایشگر غیرفعال است یا در حال ادامه‌دادن یک نشست موجود هستید، نشست جدیدی آغاز کنید تا عامل فهرست به‌روزشده را دریافت کند:

    bash
    # از داخل گفت‌وگو — نشست فعلی را بایگانی کنید و نشستی تازه آغاز کنید/new # یا Gateway را راه‌اندازی مجدد کنیدopenclaw gateway restart
  • آن را آزمایش کنید

    bash
    openclaw agent --message "یک پیام خوشامدگویی به من بده"

    یا یک گفت‌وگو باز کنید و مستقیماً از عامل بخواهید. برای فراخوانی صریح آن با نام، از /skill hello-world استفاده کنید.

  • مرجع SKILL.md

    فیلدهای الزامی

    فیلد توضیحات
    name نامک یکتا با استفاده از حروف کوچک، ارقام و خط تیره
    description توضیحی یک‌خطی که به عامل و در خروجی بخش کشف نمایش داده می‌شود

    کلیدهای اختیاری فرانت‌متر

    فیلد پیش‌فرض توضیحات
    user-invocable true Skill را به‌عنوان فرمان اسلش کاربر در دسترس قرار می‌دهد
    disable-model-invocation false Skill را از اعلان سیستمی عامل حذف می‌کند (همچنان از طریق /skill اجرا می‌شود)
    command-dispatch برای هدایت مستقیم فرمان اسلش به ابزار و دورزدن مدل، روی tool تنظیم کنید
    command-tool نام ابزاری که هنگام تنظیم‌بودن command-dispatch: tool فراخوانی می‌شود
    command-arg-mode raw برای هدایت به ابزار، رشته آرگومان‌های خام را به ابزار ارسال می‌کند
    homepage نشانی اینترنتی که با عنوان «وب‌سایت» در رابط کاربری Skills در macOS نمایش داده می‌شود

    برای فیلدهای دروازه‌گذاری (requires.bins، requires.env و غیره)، به Skills — دروازه‌گذاری مراجعه کنید.

    استفاده از {baseDir}

    بدون کدنویسی ثابت مسیرها، به فایل‌های داخل پوشه Skill ارجاع دهید — عامل {baseDir} را نسبت به پوشه خود Skill تفکیک می‌کند:

    markdown
    اسکریپت کمکی موجود در `{baseDir}/scripts/run.sh` را اجرا کنید.

    افزودن فعال‌سازی مشروط

    Skill خود را دروازه‌گذاری کنید تا تنها زمانی بارگیری شود که وابستگی‌های آن در دسترس باشند:

    markdown
    ---name: gemini-searchdescription: جست‌وجو با استفاده از Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    گزینه‌های دروازه‌گذاری
    کلید توضیحات
    requires.bins همه فایل‌های اجرایی باید در PATH موجود باشند
    requires.anyBins دست‌کم یک فایل اجرایی باید در PATH موجود باشد
    requires.env هر متغیر محیطی باید در فرایند یا پیکربندی موجود باشد
    requires.config هر مسیر openclaw.json باید دارای مقدار درست‌نما باشد
    os فیلتر سکو: ["darwin"]، ["linux"]، ["win32"]
    always برای نادیده‌گرفتن همه دروازه‌ها و گنجاندن همیشگی Skill، روی true تنظیم کنید

    مرجع کامل: Skills — دروازه‌گذاری.

    محیط و کلیدهای API

    در openclaw.json یک کلید API را به ورودی Skill متصل کنید:

    json5
    {  skills: {    entries: {      "gemini-search": {        enabled: true,        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },      },    },  },}

    کلید تنها برای همان نوبت عامل به فرایند میزبان تزریق می‌شود. این کلید به محیط ایزوله نمی‌رسد — به متغیرهای محیطی در محیط ایزوله مراجعه کنید.

    پیشنهاد از طریق کارگاه Skill

    برای Skills پیش‌نویس‌شده توسط عامل یا زمانی که می‌خواهید پیش از عملیاتی‌شدن یک Skill، اپراتور آن را بررسی کند، به‌جای نوشتن مستقیم SKILL.md از پیشنهادهای کارگاه Skill استفاده کنید.

    bash
    # پیشنهاد یک Skill کاملاً جدیدopenclaw skills workshop propose-create \  --name "hello-world" \  --description "یک Skill ساده که پیام خوشامدگویی را چاپ می‌کند." \  --proposal ./PROPOSAL.md # پیشنهاد به‌روزرسانی یک Skill موجودopenclaw skills workshop propose-update hello-world \  --proposal ./PROPOSAL.md \  --description "Skill خوشامدگویی به‌روزشده"

    هنگامی که پیشنهاد شامل فایل‌های پشتیبان است، از --proposal-dir استفاده کنید:

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "یک Skill ساده که پیام خوشامدگویی را چاپ می‌کند." \  --proposal-dir ./hello-world-proposal/

    پوشه باید در ریشه خود دارای PROPOSAL.md باشد. فایل‌های پشتیبان در assets/، examples/، references/، scripts/ یا templates/ قرار می‌گیرند.

    پس از بررسی:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    برای چرخه کامل پیشنهاد، به کارگاه Skill مراجعه کنید.

    انتشار در ClawHub

  • از کامل‌بودن SKILL.md خود اطمینان حاصل کنید

    مطمئن شوید name، description و هر فیلد دروازه‌گذاری metadata.openclaw تنظیم شده‌اند. اگر صفحه پروژه دارید، نشانی اینترنتی homepage را اضافه کنید.

  • CLI مستقل ClawHub را نصب کنید و وارد شوید

    bash
    npm i -g clawhubclawhub login
  • منتشر کنید

    bash
    clawhub skill publish ./path/to/hello-world

    برای بازنویسی نسخه استنباط‌شده یا انتشار تحت مالک مشخص، به‌ترتیب --version <version> یا --owner <owner> را اضافه کنید. برای گردش کار کامل، محدوده مالک و دیگر فرمان‌های نگه‌داری (clawhub sync، clawhub skill rename، ...) به ClawHub — انتشار و CLI ‏ClawHub مراجعه کنید.

  • بهترین شیوه‌ها

    مطالب مرتبط

    Was this useful?
    On this page

    On this page