Skills
Skills
Skills فایلهای دستورالعمل Markdown هستند که به عامل میآموزند چگونه و چه زمانی از
ابزارها استفاده کند. هر Skill در یک دایرکتوری قرار دارد که شامل یک فایل SKILL.md با
frontmatter از نوع YAML و یک بدنه Markdown است. OpenClaw، Skills همراه را بهاضافه هرگونه
بازنویسی محلی بارگیری میکند و هنگام بارگیری، آنها را بر اساس محیط، پیکربندی و
وجود فایلهای باینری پالایش میکند.
یک Skill سفارشی را از ابتدا بسازید و آزمایش کنید.
پیشنهادهای Skill پیشنویسشده توسط عامل را بازبینی و تأیید کنید.
طرحواره کامل پیکربندی skills.* و فهرستهای مجاز عامل.
Skills جامعه را مرور و نصب کنید.
ترتیب بارگیری
OpenClaw از منابع زیر بارگیری میکند، ابتدا با بالاترین اولویت. هنگامی که نام یک Skill در چند مکان ظاهر شود، منبع دارای بالاترین اولویت برنده میشود.
| اولویت | منبع | مسیر |
|---|---|---|
| 1 — بالاترین | Skills فضای کاری | <workspace>/skills |
| 2 | Skills عامل پروژه | <workspace>/.agents/skills |
| 3 | Skills شخصی عامل | ~/.agents/skills |
| 4 | Skills مدیریتشده / محلی | ~/.openclaw/skills |
| 5 | Skills همراه | همراه با نصب ارائه میشوند |
| 6 — پایینترین | دایرکتوریهای اضافی | skills.load.extraDirs + Skills افزونه |
ریشههای Skill از چیدمانهای گروهبندیشده پشتیبانی میکنند. OpenClaw هر زمان که
SKILL.md در هر جایی زیر یک ریشه پیکربندیشده ظاهر شود، آن Skill را کشف میکند (تا عمق 6 سطح):
<workspace>/skills/research/SKILL.md ✓ با نام "research" یافت شد<workspace>/skills/personal/research/SKILL.md ✓ این مورد نیز با نام "research" یافت شدمسیر پوشه فقط برای سازماندهی است. نام Skill و فرمان اسلش آن
از فیلد frontmatter با نام name میآیند (یا اگر name وجود نداشته باشد، از نام
دایرکتوری). فهرستهای مجاز عامل (در ادامه) نیز بر اساس همین name تطبیق میدهند.
Skills میزبانیشده روی Node
یک Node بدون رابط متصل میتواند Skills نصبشده در دایرکتوری فعال
Skills در OpenClaw را منتشر کند (بهطور پیشفرض ~/.openclaw/skills؛ بازنویسیهای محیطی پروفایل
اعمال میشوند). تا زمانی که Node متصل است، آنها در فهرست عادی Skills عامل ظاهر میشوند
و هنگام قطع اتصال ناپدید میشوند. در صورت تداخل، یک Skill محلی یا Gateway نام خود را حفظ
میکند؛ Skill مربوط به Node نامی قطعی با پیشوند Node دریافت میکند.
نسخه v1 میزبانیشده روی Node مستلزم آن است که نام دایرکتوری با فیلد frontmatter
با نام name در Skill مطابقت داشته باشد.
ورودی Skill شامل مکانیاب Node است. فایلها، ارجاعهای نسبی و
فایلهای باینری آن روی Node قرار دارند؛ بنابراین آن را با
exec host=node node=<node-id> بارگیری و اجرا کنید. پس از تغییر فایلهای
Skill، میزبان Node را راهاندازی مجدد کنید. برای جفتسازی و کلیدهای غیرفعالسازی به Nodeها مراجعه کنید.
Skills مختص هر عامل در برابر Skills مشترک
در راهاندازیهای چندعاملی، هر عامل فضای کاری خودش را دارد. از مسیری استفاده کنید که با سطح مشاهدهپذیری موردنظر شما مطابقت دارد:
| دامنه | مسیر | قابلمشاهده برای |
|---|---|---|
| مختص هر عامل | <workspace>/skills |
فقط همان عامل |
| عامل پروژه | <workspace>/.agents/skills |
فقط عامل همان فضای کاری |
| عامل شخصی | ~/.agents/skills |
همه عاملهای این دستگاه |
| مدیریتشده مشترک | ~/.openclaw/skills |
همه عاملهای این دستگاه |
| دایرکتوریهای اضافی | skills.load.extraDirs |
همه عاملهای این دستگاه |
فهرستهای مجاز عامل
مکان Skill (اولویت) و قابلیت مشاهده Skill (اینکه کدام عامل میتواند از آن استفاده کند) کنترلهایی جداگانه هستند. برای محدودکردن Skills قابلمشاهده برای هر عامل، صرفنظر از محل بارگیری آنها، از فهرستهای مجاز استفاده کنید.
{ agents: { defaults: { skills: ["github", "weather"], // خط مبنای مشترک }, list: [ { id: "writer" }, // github و weather را به ارث میبرد { id: "docs", skills: ["docs-search"] }, // مقادیر پیشفرض را کاملاً جایگزین میکند { id: "locked-down", skills: [] }, // بدون Skill ], },}قواعد فهرست مجاز
- برای اینکه همه Skills بهطور پیشفرض بدون محدودیت باقی بمانند،
agents.defaults.skillsرا حذف کنید. - برای بهارثبردن
agents.defaults.skills،agents.entries.*.skillsرا حذف کنید. - برای آنکه هیچ Skill برای آن عامل ارائه نشود،
agents.entries.*.skills: []را تنظیم کنید. - یک فهرست غیرخالی
agents.entries.*.skillsمجموعه نهایی است — با مقادیر پیشفرض ادغام نمیشود. - فهرست مجاز مؤثر در ساخت پرامپت، کشف فرمانهای اسلش، همگامسازی sandbox و اسنپشاتهای Skill اعمال میشود.
- این یک مرز مجوزدهی پوسته میزبان نیست. اگر همان عامل بتواند
از
execاستفاده کند، آن پوسته را جداگانه با sandboxing، جداسازی کاربر سیستمعامل، فهرستهای ممنوع/مجاز اجرا و اعتبارنامههای مختص هر منبع محدود کنید.
افزونهها و Skills
افزونهها میتوانند با فهرستکردن دایرکتوریهای skills در
openclaw.plugin.json، Skills خود را ارائه کنند (مسیرها نسبت به ریشه افزونه هستند). Skills افزونه
هنگامی بارگیری میشوند که افزونه فعال باشد — برای مثال، افزونه مرورگر یک
Skill با نام browser-automation برای کنترل چندمرحلهای مرورگر ارائه میکند.
دایرکتوریهای Skill افزونه در همان سطح کماولویت
skills.load.extraDirs ادغام میشوند؛ بنابراین یک Skill همراه، مدیریتشده، عامل یا فضای کاری
با همان نام، آنها را بازنویسی میکند. واجدشرایطبودن خود یک Skill افزونه را از طریق
metadata.openclaw.requires در frontmatter آن، مانند هر Skill دیگری، کنترل کنید.
برای آشنایی با سامانه کامل افزونه به افزونهها و ابزارها مراجعه کنید.
کارگاه Skill
کارگاه Skill یک صف پیشنهاد میان عامل
و فایلهای فعال Skill شماست. هنگامی که عامل کار قابلاستفاده مجددی را شناسایی میکند، بهجای
نوشتن مستقیم در SKILL.md یک پیشنهاد پیشنویس میکند. پیش از هرگونه تغییر،
آن را بازبینی و تأیید میکنید.
openclaw skills workshop listopenclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>برای چرخه عمر کامل، مرجع CLI و پیکربندی به کارگاه Skill مراجعه کنید.
نصب از ClawHub
ClawHub رجیستری عمومی Skills است. برای نصب و بهروزرسانی از
فرمانهای openclaw skills یا برای انتشار و همگامسازی از CLI با نام clawhub
استفاده کنید.
| اقدام | فرمان |
|---|---|
| نصب یک Skill در فضای کاری | openclaw skills install @owner/<slug> |
| نصب از یک مخزن Git | openclaw skills install git:owner/repo@ref |
| نصب یک دایرکتوری محلی Skill | openclaw skills install ./path/to/skill --as my-tool |
| نصب برای همه عاملهای محلی | openclaw skills install @owner/<slug> --global |
| بهروزرسانی همه Skills فضای کاری | openclaw skills update --all |
| بهروزرسانی یک Skill مدیریتشده مشترک | openclaw skills update @owner/<slug> --global |
| بهروزرسانی همه Skills مدیریتشده مشترک | openclaw skills update --all --global |
| تأیید محدوده اعتماد یک Skill | openclaw skills verify @owner/<slug> |
| چاپ کارت Skill تولیدشده | openclaw skills verify @owner/<slug> --card |
| انتشار / همگامسازی از طریق CLI مربوط به ClawHub | clawhub sync --all |
جزئیات نصب
openclaw skills install بهطور پیشفرض در دایرکتوری فعال skills/
فضای کاری نصب میکند. برای نصب در دایرکتوری مشترک
~/.openclaw/skills، گزینه --global را اضافه کنید؛ این دایرکتوری برای همه عاملهای محلی
قابلمشاهده است، مگر آنکه فهرستهای مجاز عامل آن را محدود کنند.
نصبهای Git و محلی انتظار دارند SKILL.md در ریشه منبع قرار داشته باشد. نامک
در صورت معتبر بودن از name در frontmatter مربوط به SKILL.md میآید و سپس به نام
دایرکتوری یا مخزن بازمیگردد. برای بازنویسی از --as <slug> استفاده کنید.
openclaw skills update فقط نصبهای ClawHub را ردیابی میکند — برای تازهسازی منابع Git یا
محلی، آنها را دوباره نصب کنید.
تأیید و اسکن امنیتی
openclaw skills verify @owner/<slug> محدوده اعتماد clawhub.skill.verify.v1
مربوط به Skill را از ClawHub درخواست میکند. Skills نصبشده از ClawHub در برابر
نسخه و رجیستری ثبتشده در .clawhub/origin.json تأیید میشوند.
نامکهای بدون مالک همچنان برای Skills موجودِ نصبشده یا بدون ابهام پذیرفته میشوند، اما
ارجاعهای واجد نام مالک از ابهام ناشر جلوگیری میکنند.
صفحات Skill در ClawHub آخرین وضعیت اسکن امنیتی را پیش از نصب نمایش میدهند
و برای VirusTotal، ClawScan و تحلیل ایستا صفحات جزئیات دارند. هنگامی که ClawHub
تأیید را ناموفق علامتگذاری کند، فرمان با کد غیرصفر خارج میشود. ناشران
نتایج مثبت کاذب را از طریق داشبورد ClawHub یا
clawhub skill rescan @owner/<slug> رفع میکنند.
نصب بایگانی خصوصی
کلاینتهای Gateway که به تحویل غیر ClawHub نیاز دارند، میتوانند یک بایگانی zip از Skill را
با skills.upload.begin، skills.upload.chunk و skills.upload.commit
آماده کنند، سپس آن را با skills.install({ source: "upload", ... }) نصب کنند. این مسیر
بهطور پیشفرض غیرفعال است و به skills.install.allowUploadedArchives: true در
openclaw.json نیاز دارد. نصبهای عادی ClawHub هرگز به آن تنظیم نیاز ندارند.
امنیت
محدودسازی مسیر
کشف Skill در فضای کاری، عامل پروژه و دایرکتوری اضافی فقط ریشههای
Skill را میپذیرد که realpath حلشده آنها داخل ریشه پیکربندیشده باقی بماند، مگر آنکه
skills.load.allowSymlinkTargets صریحاً یک ریشه مقصد را قابلاعتماد بداند.
کارگاه Skill فقط هنگامی از طریق آن مقصدهای قابلاعتماد مینویسد که
skills.workshop.allowSymlinkTargetWrites فعال باشد.
~/.openclaw/skills مدیریتشده و ~/.agents/skills شخصی ممکن است شامل
پوشههای Skill دارای پیوند نمادین باشند، اما realpath هر SKILL.md همچنان باید
داخل دایرکتوری حلشده همان Skill باقی بماند.
سیاست نصب اپراتور
security.installPolicy را پیکربندی کنید تا پیش از ادامه نصب Skills،
یک فرمان سیاست محلی قابلاعتماد اجرا شود. این سیاست فراداده و مسیر منبع آمادهشده را
دریافت میکند، بر مسیرهای ClawHub، بارگذاریشده، Git، محلی، بهروزرسانی و
نصبکننده وابستگی اعمال میشود و اگر فرمان نتواند تصمیم معتبری برگرداند، بهصورت بسته شکست میخورد.
دامنه تزریق اطلاعات محرمانه
skills.entries.*.env و skills.entries.*.apiKey اطلاعات محرمانه را فقط برای همان نوبت عامل
به فرایند میزبان تزریق میکنند — نه به sandbox. اطلاعات محرمانه را
از پرامپتها و گزارشها دور نگه دارید.
برای مدل تهدید گستردهتر و چکلیستهای امنیتی به امنیت مراجعه کنید.
قالب SKILL.md
هر Skill دستکم به یک name و description در frontmatter نیاز دارد:
---name: image-labdescription: تولید یا ویرایش تصاویر از طریق یک گردشکار تصویر متکی بر ارائهدهنده--- هنگامی که کاربر درخواست تولید تصویر میکند، از ابزار `image_generate` استفاده کنید...کلیدهای اختیاری frontmatter
homepagestringنشانی اینترنتی که با عنوان "Website" در رابط کاربری Skills در macOS نمایش داده میشود. همچنین از طریق
metadata.openclaw.homepage پشتیبانی میشود.
user-invocablebooleandefault: trueوقتی true باشد، Skills بهصورت یک فرمان اسلش قابلفراخوانی توسط کاربر در دسترس قرار میگیرد.
disable-model-invocationbooleandefault: falseوقتی true باشد، OpenClaw دستورالعملهای Skills را از پرامپت عادی
عامل خارج نگه میدارد. اگر user-invocable
نیز true باشد، Skills همچنان بهصورت فرمان اسلش در دسترس است.
command-dispatch"tool"وقتی روی tool تنظیم شود، فرمان اسلش مدل را دور میزند و
مستقیماً به یک ابزار ثبتشده ارسال میشود.
command-toolstringنام ابزاری که هنگام تنظیم بودن command-dispatch: tool فراخوانی میشود.
command-arg-mode"raw"default: rawبرای ارسال به ابزار، رشته آرگومانهای خام را بدون هیچگونه
تجزیه در هسته به ابزار منتقل میکند. ابزار
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" } را دریافت میکند.
دروازهبندی
OpenClaw هنگام بارگذاری، Skills را با استفاده از metadata.openclaw پالایش میکند (یک شیء JSON5
که در frontmatter جاسازی شده است؛ یادداشت تجزیه در بالا را ببینید). Skills بدون
بلوک metadata.openclaw همیشه واجد شرایط است، مگر اینکه صراحتاً غیرفعال شده باشد.
---name: image-labdescription: تولید یا ویرایش تصاویر از طریق گردشکار تصویر متکی بر ارائهدهندهmetadata: { "openclaw": { "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] }, "primaryEnv": "GEMINI_API_KEY", }, }---alwaysbooleanوقتی true باشد، همیشه Skills را شامل کرده و همه دروازههای دیگر را نادیده بگیرید.
emojistringایموجی اختیاری که در رابط کاربری Skills در macOS نمایش داده میشود.
homepagestringنشانی اینترنتی اختیاری که با عنوان "Website" در رابط کاربری Skills در macOS نمایش داده میشود.
os("darwin" | "linux" | "win32")[]پالایه پلتفرم. در صورت تنظیم، Skills فقط در سیستمعاملهای فهرستشده واجد شرایط است.
requires.binsstring[]هر فایل اجرایی باید در PATH وجود داشته باشد.
requires.anyBinsstring[]دستکم یک فایل اجرایی باید در PATH وجود داشته باشد.
requires.envstring[]هر متغیر محیطی باید در فرایند وجود داشته باشد یا از طریق پیکربندی ارائه شود.
requires.configstring[]هر مسیر openclaw.json باید مقدار truthy داشته باشد.
primaryEnvstringنام متغیر محیطی مرتبط با skills.entries.<name>.apiKey.
installobject[]مشخصات اختیاری نصبکننده که رابط کاربری Skills در macOS از آنها استفاده میکند (brew / node / go / uv / download).
مشخصات نصبکننده
مشخصات نصبکننده به رابط کاربری Skills در macOS میگوید چگونه یک وابستگی را نصب کند:
---name: geminidescription: استفاده از Gemini CLI برای کمک در کدنویسی و جستوجوهای Google.metadata: { "openclaw": { "emoji": "♊️", "requires": { "bins": ["gemini"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "gemini-cli", "bins": ["gemini"], "label": "نصب Gemini CLI (brew)", }, ], }, }---قواعد انتخاب نصبکننده
- وقتی چند نصبکننده فهرست شده باشند، Gateway یک گزینه ترجیحی را انتخاب میکند (در صورت دسترسبودن brew، وگرنه node).
- اگر همه نصبکنندهها
downloadباشند، OpenClaw هر ورودی را فهرست میکند تا بتوان همه مصنوعات موجود را دید. - مشخصات میتوانند برای پالایش بر اساس پلتفرم شامل
os: ["darwin"|"linux"|"win32"]باشند. - نصبهای Node از
skills.install.nodeManagerدرopenclaw.jsonپیروی میکنند (پیشفرض: npm؛ گزینهها: npm / pnpm / yarn / bun). این فقط بر نصب Skills اثر میگذارد؛ زمان اجرای Gateway همچنان باید Node باشد. - ترتیب ترجیح نصبکننده Gateway: Homebrew ← uv ← مدیر node پیکربندیشده ← go ← download.
جزئیات هر نصبکننده
- Homebrew: OpenClaw، Homebrew را بهطور خودکار نصب نمیکند و فرمولهای brew را
به فرمانهای بسته سیستم تبدیل نمیکند. در کانتینرهای Linux فاقد
brew، نصبکنندههای صرفاً brew پنهان میشوند؛ از یک تصویر سفارشی استفاده کنید یا وابستگی را بهصورت دستی نصب کنید. - Go: OpenClaw برای نصب خودکار Skills به Go 1.21 یا جدیدتر نیاز دارد.
اگر
goوجود نداشته باشد و Homebrew در دسترس باشد، OpenClaw ابتدا Go را از طریق Homebrew نصب میکند؛ در Linux بدون Homebrew، اگر گزینه تازهسازیشدهgolang-goحداقل نسخه را تأمین کند، میتواند بهجای آن ازapt-getبهعنوان root یا از طریقsudoبدون گذرواژه استفاده کند. مقدار واقعیgo installبرای وابستگی همیشه یک پوشه bin اختصاصی تحت مدیریت OpenClaw را هدف میگیرد (binمتعلق به Homebrew در یک نصب تازه، وگرنه~/.local/bin) و نهGOBINپیکربندیشده؛ متغیرهای محیطیGOBIN،GOPATHوGOTOOLCHAINمتعلق به خودتان خوانده میشوند، اما هرگز بازنویسی نمیشوند. - دانلود:
url(الزامی)،archive(tar.gz|tar.bz2|zip)،extract(پیشفرض: تشخیص خودکار هنگام شناسایی بایگانی)،stripComponents،targetDir(پیشفرض:~/.openclaw/tools/<skillKey>).
یادداشتهای سندباکس
requires.bins هنگام بارگذاری Skills روی میزبان بررسی میشود. اگر عاملی
در سندباکس اجرا شود، فایل اجرایی باید داخل کانتینر نیز وجود داشته باشد.
آن را از طریق agents.defaults.sandbox.docker.setupCommand یا یک
تصویر سفارشی نصب کنید. setupCommand پس از ایجاد کانتینر یکبار اجرا میشود و به
خروجی شبکه، فایلسیستم ریشه قابلنوشتن و کاربر root در سندباکس نیاز دارد.
بازنویسیهای پیکربندی
Skills همراه یا مدیریتشده را زیر 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 }, }, },}enabledbooleanfalse حتی در صورت همراه یا نصبشده بودن، Skills را غیرفعال میکند. Skills همراه coding-agent
نیازمند فعالسازی صریح است — skills.entries.coding-agent.enabled: true را تنظیم کنید
و مطمئن شوید یکی از claude، codex، opencode یا یک CLI پشتیبانیشده دیگر
نصب شده و احراز هویت شده است.
apiKeystring | { source, provider, id }فیلدی کمکی برای Skillsهایی که metadata.openclaw.primaryEnv را اعلام میکنند.
از یک رشته متن ساده یا شیء SecretRef پشتیبانی میکند.
env"Record<string,configobjectمجموعهای اختیاری برای فیلدهای پیکربندی سفارشی هر Skills.
allowBundledstring[]فهرست مجاز اختیاری فقط برای Skills همراه. در صورت تنظیم، تنها Skills همراه موجود در فهرست واجد شرایط است. Skills مدیریتشده و فضای کاری تحت تأثیر قرار نمیگیرند.
تزریق محیط
هنگام آغاز اجرای عامل، OpenClaw:
فراداده Skills را میخواند
OpenClaw فهرست مؤثر Skills را برای عامل تعیین میکند و قواعد دروازهبندی، فهرستهای مجاز و بازنویسیهای پیکربندی را اعمال میکند.
محیط و کلیدهای API را تزریق میکند
skills.entries.<key>.env و skills.entries.<key>.apiKey برای مدت اجرای عامل روی
process.env اعمال میشوند.
پرامپت سیستم را میسازد
Skills واجد شرایط در یک بلوک XML فشرده گردآوری و در پرامپت سیستم تزریق میشوند.
محیط را بازیابی میکند
پس از پایان اجرا، محیط اصلی بازیابی میشود.
برای بکاند همراه claude-cli، OpenClaw همچنین همان تصویر لحظهای
Skills واجد شرایط را بهصورت یک Plugin موقت Claude Code ایجاد کرده و آن را از طریق
--plugin-dir منتقل میکند. سایر بکاندهای CLI فقط از کاتالوگ پرامپت استفاده میکنند.
تصاویر لحظهای و تازهسازی
OpenClaw از Skills واجد شرایط هنگام آغاز نشست تصویر لحظهای میگیرد و همان فهرست را برای تمام نوبتهای بعدی نشست دوباره استفاده میکند. تغییرات Skills یا پیکربندی در نشست جدید بعدی اعمال میشوند.
Skills در دو حالت میان نشست تازهسازی میشود:
- ناظر Skills تغییر
SKILL.mdرا تشخیص دهد. - یک Node راهدور واجد شرایط جدید متصل شود.
فهرست تازهشده در نوبت بعدی عامل استفاده میشود. اگر فهرست مجاز مؤثر عامل تغییر کند، OpenClaw تصویر لحظهای را تازهسازی میکند تا Skills قابلمشاهده همتراز بماند.
ناظر Skills
OpenClaw بهطور پیشفرض پوشههای Skills را پایش میکند و هنگام تغییر
فایلهای SKILL.md تصویر لحظهای را بهروزرسانی میکند. آن را زیر skills.load پیکربندی کنید:
{ skills: { load: { extraDirs: ["~/Projects/agent-scripts/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], watch: true, // پیشفرض }, },}رویدادهای ناظر از یک حذف لرزش داخلی 250 ms استفاده میکنند. برای چیدمانهای
نمادین عمدی که در آنها یک پیوند نمادین ریشه Skills به خارج از ریشه پیکربندیشده اشاره میکند،
از allowSymlinkTargets استفاده کنید؛ برای مثال
<workspace>/skills/manager -> ~/Projects/manager/skills.
skills.workshop.allowSymlinkTargetWrites را فقط زمانی فعال کنید که Skill Workshop
باید پیشنهادها را نیز از طریق آن مسیرهای نمادین مورد اعتماد اعمال کند.
Nodeهای راهدور macOS (Gateway لینوکسی)
اگر Gateway روی Linux اجرا شود اما یک Node در macOS با مجوز
system.run متصل باشد، OpenClaw میتواند Skills مخصوص macOS را واجد شرایط بداند، بهشرط آنکه
فایلهای اجرایی مورد نیاز در آن Node موجود باشند. عامل باید آن
Skills را از طریق ابزار exec با host=node اجرا کند.
Nodeهای آفلاین، Skills صرفاً راهدور را قابلمشاهده نمیکنند. اگر یک Node دیگر به کاوشهای فایل اجرایی پاسخ ندهد، OpenClaw تطابقهای فایل اجرایی ذخیرهشده آن را پاک میکند.
تأثیر بر توکن
وقتی Skills واجد شرایط باشد، OpenClaw یک بلوک XML فشرده را در پرامپت سیستم تزریق میکند. هزینه قطعی است و بهصورت خطی برای هر Skills افزایش مییابد:
- سربار پایه (فقط وقتی 1 یا چند Skills واجد شرایط باشد): یک بلوک ثابت از متن
مقدماتی بههمراه پوشش
<available_skills>. - برای هر Skills: حدود 97 نویسه + طول فیلدهای
name،descriptionوlocationشما. - گریزدهی XML،
& < > " 'را به موجودیتها بسط میدهد و برای هر رخداد چند نویسه میافزاید. - با حدود 4 نویسه بهازای هر توکن، 97 نویسه ≈ 24 توکن برای هر Skills پیش از احتساب طول فیلدها.
اگر بلوک رندرشده از بودجه پیکربندیشده پرامپت
(skills.limits.maxSkillsPromptChars) فراتر رود، OpenClaw ابتدا تا جای ممکن هویتهای Skills
(نام، مکان و نسخه) را با قالب فشرده و بدون توضیحات حفظ میکند.
سپس بودجه باقیمانده را برای توضیحات کوتاهشده بهکار میگیرد. اگر هیچ
بودجهای برای توضیحات باقی نماند، توضیحات حذف میشوند. هرگاه قالببندی فشرده یا
کوتاهسازی فهرست لازم باشد، پرامپت شامل یادداشتی است که به openclaw skills check
اشاره میکند.
برای به حداقل رساندن سربار پرامپت، توضیحات را کوتاه و گویا نگه دارید.
مرتبط
راهنمای گامبهگام نگارش یک skill سفارشی.
صف پیشنهادها برای Skills پیشنویسشده توسط عامل.
طرحواره کامل پیکربندی skills.* و فهرستهای مجاز عامل.
نحوه ثبت و مسیریابی دستورهای اسلش Skills.
Skills را در رجیستری عمومی مرور و منتشر کنید.
Pluginها میتوانند Skills را همراه ابزارهایی که مستندسازی میکنند ارائه دهند.