Skills

ایجاد Skills

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

نخستین مهارت خود را بسازید

  • دایرکتوری مهارت را بسازید

    Skills در پوشه skills/ فضای کاری شما قرار می‌گیرند. برای مهارت جدید خود یک دایرکتوری بسازید:

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

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

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • نوشتن SKILL.md

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

    markdown
    ---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!"
    Code
     قواعد نام‌گذاری:- برای `name` از حروف کوچک، رقم‌ها و خط تیره استفاده کنید.- نام دایرکتوری و `name` در frontmatter را هم‌راستا نگه دارید.- `description` به عامل و در کشف دستورهای اسلش نمایش داده می‌شود —  آن را یک‌خطی و کمتر از 160 نویسه نگه دارید.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSLYqtij24zbjNivINio2KfYsdqv2LDYp9ix24wg2YXZh9in2LHYqiI ```bashopenclaw skills list

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

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • آزمایش آن

    پیامی بفرستید که باید مهارت را فعال کند:

    bash
    openclaw agent --message "give me a greeting"

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

  • مرجع SKILL.md

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

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

    کلیدهای اختیاری frontmatter

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

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

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

    برای ارجاع به فایل‌های داخل دایرکتوری مهارت بدون hardcode کردن مسیرها، از {baseDir} در بدنه مهارت استفاده کنید:

    markdown
    Run the helper script at `{baseDir}/scripts/run.sh`.

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

    مهارت خود را دروازه‌گذاری کنید تا فقط وقتی وابستگی‌هایش در دسترس هستند بارگذاری شود:

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

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

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

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

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

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

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

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

    bash
    # Propose a brand-new skillopenclaw skills workshop propose-create \  --name "hello-world" \  --description "A simple skill that prints a greeting." \  --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \  --proposal ./PROPOSAL.md \  --description "Updated greeting skill"

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

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "A simple skill that prints a greeting." \  --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 Workshop مراجعه کنید.

    انتشار در ClawHub

  • کامل بودن SKILL.md خود را مطمئن کنید

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

  • نصب مهارت ClawHub

    مهارت ClawHub شکل فعلی دستور انتشار و فراداده الزامی را مستند می‌کند:

    bash
    openclaw skills install @openclaw/clawhub-publish
  • انتشار

    bash
    clawhub publish

    برای جریان کامل، به ClawHub — انتشار مراجعه کنید.

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

    مرتبط

    Was this useful?
    On this page

    On this page