Skills

ایجاد Skills

Skills به عامل می‌آموزند چگونه و چه زمانی از ابزارها استفاده کند. هر skill یک دایرکتوری است که شامل یک فایل SKILL.md با frontmatter در قالب YAML و دستورالعمل‌های markdown است.

برای اینکه skillها چگونه بارگذاری و اولویت‌بندی می‌شوند، Skills را ببینید.

نخستین skill خود را بسازید

  • ساخت دایرکتوری skill

    Skills در workspace شما قرار می‌گیرند. یک پوشه جدید بسازید:

    mkdir -p ~/.openclaw/workspace/skills/hello-world
    
  • نوشتن SKILL.md

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

    ---
    name: hello-world
    description: A simple skill that says hello.
    ---
    
    # Hello World Skill
    
    When the user asks for a greeting, use the `echo` tool to say
    "Hello from your custom skill!".
    

    برای name مربوط به skill از حالت hyphen-case با حروف کوچک، رقم‌ها، و خط تیره استفاده کنید. نام پوشه و name در frontmatter را هم‌راستا نگه دارید.

  • افزودن ابزارها (اختیاری)

    می‌توانید schemaهای ابزار سفارشی را در frontmatter تعریف کنید یا به عامل دستور دهید از ابزارهای سیستمی موجود (مانند exec یا browser) استفاده کند. Skills همچنین می‌توانند داخل plugins همراه با ابزارهایی که مستند می‌کنند عرضه شوند.

  • بارگذاری skill

    یک session جدید شروع کنید تا OpenClaw، skill را دریافت کند:

    # From chat
    /new
    
    # Or restart the gateway
    openclaw gateway restart
    

    بررسی کنید که skill بارگذاری شده باشد:

    openclaw skills list
    
  • آزمایش آن

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

    openclaw agent --message "give me a greeting"
    

    یا فقط با عامل chat کنید و از او یک greeting بخواهید.

  • مرجع فراداده skill

    frontmatter در YAML از این فیلدها پشتیبانی می‌کند:

    فیلد الزامی توضیح
    name بله شناسه یکتا با استفاده از حروف کوچک، رقم‌ها، و خط تیره‌ها
    description بله توضیح تک‌خطی که به عامل نشان داده می‌شود
    metadata.openclaw.os خیر فیلتر OS (["darwin"], ["linux"], و غیره)
    metadata.openclaw.requires.bins خیر binaryهای الزامی روی PATH
    metadata.openclaw.requires.config خیر کلیدهای config الزامی

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

    • مختصر باشید — به مدل بگویید چه کاری انجام دهد، نه اینکه چگونه یک AI باشد
    • ایمنی در اولویت — اگر skill شما از exec استفاده می‌کند، مطمئن شوید promptها اجازه تزریق دستور دلخواه از ورودی نامطمئن را نمی‌دهند
    • به‌صورت محلی آزمایش کنید — پیش از اشتراک‌گذاری، با openclaw agent --message "..." آزمایش کنید
    • از ClawHub استفاده کنید — skillها را در ClawHub مرور کنید و مشارکت کنید

    محل قرارگیری skillها

    مکان اولویت دامنه
    \<workspace\>/skills/ بالاترین برای هر عامل
    \<workspace\>/.agents/skills/ بالا عامل برای هر workspace
    ~/.agents/skills/ متوسط پروفایل عامل مشترک
    ~/.openclaw/skills/ متوسط مشترک (همه عامل‌ها)
    Bundled (shipped with OpenClaw) پایین سراسری
    skills.load.extraDirs پایین‌ترین پوشه‌های مشترک سفارشی

    مرتبط