Skills
Skills
Skills คือไฟล์คำสั่งแบบ markdown ที่สอนเอเจนต์ว่าควรใช้เครื่องมืออย่างไรและเมื่อใด แต่ละ Skills อยู่ในไดเรกทอรีที่มีไฟล์ SKILL.md พร้อม YAML frontmatter และเนื้อหาแบบ markdown OpenClaw โหลด Skills ที่มาพร้อมระบบรวมถึงการแทนที่ภายในเครื่อง และกรองตอนโหลดตามสภาพแวดล้อม การกำหนดค่า และการมีอยู่ของไบนารี
สร้างและทดสอบ Skills แบบกำหนดเองตั้งแต่ต้น
ตรวจสอบและอนุมัติข้อเสนอ Skills ที่เอเจนต์ร่างไว้
สคีมาการกำหนดค่า skills.* แบบครบถ้วนและ allowlist ของเอเจนต์
เรียกดูและติดตั้ง Skills จากชุมชน
ลำดับการโหลด
OpenClaw โหลดจากแหล่งต่อไปนี้ โดยเรียงจาก ลำดับความสำคัญสูงสุดก่อน เมื่อชื่อ Skills เดียวกันปรากฏในหลายที่ แหล่งที่มีลำดับสูงสุดจะชนะ
| ลำดับความสำคัญ | แหล่งที่มา | เส้นทาง |
|---|---|---|
| 1 — สูงสุด | Skills ของเวิร์กสเปซ | <workspace>/skills |
| 2 | Skills ของเอเจนต์โปรเจกต์ | <workspace>/.agents/skills |
| 3 | Skills ของเอเจนต์ส่วนตัว | ~/.agents/skills |
| 4 | Skills ที่จัดการ / ภายในเครื่อง | ~/.openclaw/skills |
| 5 | Skills ที่มาพร้อมระบบ | มาพร้อมกับการติดตั้ง |
| 6 — ต่ำสุด | ไดเรกทอรีเพิ่มเติม | skills.load.extraDirs + Skills ของ Plugin |
รากของ Skills รองรับเลย์เอาต์แบบจัดกลุ่ม OpenClaw จะค้นพบ Skills เมื่อใดก็ตามที่ SKILL.md ปรากฏอยู่ที่ใดก็ได้ภายใต้รากที่กำหนดค่าไว้:
<workspace>/skills/research/SKILL.md ✓ found as "research"<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"เส้นทางโฟลเดอร์มีไว้เพื่อการจัดระเบียบเท่านั้น ชื่อของ Skills, คำสั่งแบบ slash command และคีย์ allowlist ทั้งหมดมาจากฟิลด์ frontmatter name (หรือชื่อไดเรกทอรีเมื่อไม่มี name)
Skills ต่อเอเจนต์เทียบกับ Skills ที่ใช้ร่วมกัน
ในการตั้งค่าแบบหลายเอเจนต์ แต่ละเอเจนต์มีเวิร์กสเปซของตัวเอง ใช้เส้นทางที่ตรงกับการมองเห็นที่คุณต้องการ:
| ขอบเขต | เส้นทาง | มองเห็นได้โดย |
|---|---|---|
| ต่อเอเจนต์ | <workspace>/skills |
เฉพาะเอเจนต์นั้น |
| เอเจนต์โปรเจกต์ | <workspace>/.agents/skills |
เฉพาะเอเจนต์ของเวิร์กสเปซนั้น |
| เอเจนต์ส่วนตัว | ~/.agents/skills |
เอเจนต์ทั้งหมดบนเครื่องนี้ |
| ที่จัดการร่วมกัน | ~/.openclaw/skills |
เอเจนต์ทั้งหมดบนเครื่องนี้ |
| ไดเรกทอรีเพิ่มเติม | skills.load.extraDirs |
เอเจนต์ทั้งหมดบนเครื่องนี้ |
Allowlist ของเอเจนต์
ตำแหน่ง ของ Skills (ลำดับความสำคัญ) และ การมองเห็น ของ Skills (เอเจนต์ใดใช้ได้) เป็นการควบคุมคนละส่วน ใช้ allowlist เพื่อจำกัดว่าเอเจนต์จะเห็น Skills ใด โดยไม่ขึ้นกับว่าถูกโหลดมาจากที่ใด
{ 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 ], },}Allowlist rules
- ละ
agents.defaults.skillsเพื่อให้ Skills ทั้งหมดไม่ถูกจำกัดโดยค่าเริ่มต้น - ละ
agents.list[].skillsเพื่อสืบทอดagents.defaults.skills - ตั้งค่า
agents.list[].skills: []เพื่อไม่เปิดเผย Skills ใด ๆ สำหรับเอเจนต์นั้น - รายการ
agents.list[].skillsที่ไม่ว่างคือชุด สุดท้าย — จะไม่ผสานกับค่าเริ่มต้น - allowlist ที่มีผลจะใช้ครอบคลุมการสร้างพรอมป์ การค้นพบ slash command การซิงค์ sandbox และสแนปช็อต Skills
Plugins และ Skills
Plugin สามารถมาพร้อม Skills ของตัวเองได้โดยระบุไดเรกทอรี skills ใน openclaw.plugin.json (เส้นทางสัมพัทธ์กับรากของ Plugin) Skills ของ Plugin จะโหลดเมื่อเปิดใช้งาน Plugin เช่น Plugin เบราว์เซอร์มาพร้อม Skills browser-automation สำหรับการควบคุมเบราว์เซอร์หลายขั้นตอน
ไดเรกทอรี Skills ของ Plugin จะผสานในระดับลำดับความสำคัญต่ำเดียวกับ skills.load.extraDirs ดังนั้น Skills ที่มาพร้อมระบบ ที่จัดการ เอเจนต์ หรือเวิร์กสเปซซึ่งมีชื่อเดียวกันจะแทนที่ ใช้ metadata.openclaw.requires.config บนรายการกำหนดค่าของ Plugin เพื่อควบคุมเงื่อนไข
ดู Plugins และ Tools สำหรับระบบ Plugin แบบครบถ้วน
เวิร์กชอป Skills
เวิร์กชอป Skills คือคิวข้อเสนอระหว่างเอเจนต์กับไฟล์ Skills ที่ใช้งานอยู่ของคุณ เมื่อเอเจนต์พบงานที่นำกลับมาใช้ซ้ำได้ เอเจนต์จะร่างข้อเสนอแทนการเขียนลง SKILL.md โดยตรง คุณตรวจสอบและอนุมัติก่อนที่จะมีการเปลี่ยนแปลงใด ๆ
openclaw skills workshop listopenclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>ดู เวิร์กชอป Skills สำหรับวงจรการทำงานแบบครบถ้วน ข้อมูลอ้างอิง CLI และการกำหนดค่า
การติดตั้งจาก ClawHub
ClawHub คือรีจิสทรี Skills สาธารณะ ใช้คำสั่ง openclaw skills สำหรับติดตั้งและอัปเดต หรือใช้ CLI clawhub สำหรับเผยแพร่และซิงค์
| การดำเนินการ | คำสั่ง |
|---|---|
| ติดตั้ง Skills ลงในเวิร์กสเปซ | openclaw skills install @owner/<slug> |
| ติดตั้งจาก Git repository | openclaw skills install git:owner/repo@ref |
| ติดตั้งไดเรกทอรี Skills ภายในเครื่อง | openclaw skills install ./path/to/skill --as my-tool |
| ติดตั้งสำหรับเอเจนต์ภายในเครื่องทั้งหมด | openclaw skills install @owner/<slug> --global |
| อัปเดต Skills ของเวิร์กสเปซทั้งหมด | openclaw skills update --all |
| อัปเดต Skills ที่จัดการร่วมกัน | openclaw skills update @owner/<slug> --global |
| อัปเดต Skills ที่จัดการร่วมกันทั้งหมด | openclaw skills update --all --global |
| ตรวจสอบ trust envelope ของ Skills | openclaw skills verify @owner/<slug> |
| พิมพ์ Skill Card ที่สร้างขึ้น | openclaw skills verify @owner/<slug> --card |
| เผยแพร่ / ซิงค์ผ่าน ClawHub CLI | clawhub sync --all |
รายละเอียดการติดตั้ง
โดยค่าเริ่มต้น openclaw skills install จะติดตั้งลงในไดเรกทอรี skills/ ของเวิร์กสเปซที่ใช้งานอยู่ เพิ่ม --global เพื่อติดตั้งลงในไดเรกทอรีที่ใช้ร่วมกัน ~/.openclaw/skills ซึ่งเอเจนต์ภายในเครื่องทั้งหมดมองเห็นได้ เว้นแต่ allowlist ของเอเจนต์จะจำกัดให้แคบลง
การติดตั้งจาก Git และภายในเครื่องคาดหวังให้มี SKILL.md อยู่ที่รากต้นทาง slug มาจาก frontmatter name ของ SKILL.md เมื่อถูกต้อง จากนั้นจึง fallback เป็นชื่อไดเรกทอรีหรือ repository ใช้ --as <slug> เพื่อแทนที่
openclaw skills update ติดตามเฉพาะการติดตั้งจาก ClawHub — ติดตั้งต้นทาง Git หรือภายในเครื่องใหม่เพื่อรีเฟรช
การตรวจสอบและการสแกนความปลอดภัย
openclaw skills verify @owner/<slug> ขอ trust envelope clawhub.skill.verify.v1 ของ Skills จาก ClawHub Skills จาก ClawHub ที่ติดตั้งแล้วจะตรวจสอบเทียบกับเวอร์ชันและรีจิสทรีที่บันทึกไว้ใน .clawhub/origin.json
bare slug ยังคงยอมรับได้สำหรับ Skills ที่ติดตั้งอยู่แล้วหรือไม่กำกวม แต่ refs แบบระบุเจ้าของช่วยหลีกเลี่ยงความกำกวมของผู้เผยแพร่
หน้า Skills ของ ClawHub แสดงสถานะการสแกนความปลอดภัยล่าสุดก่อนติดตั้ง พร้อมหน้ารายละเอียดสำหรับ VirusTotal, ClawScan และการวิเคราะห์แบบ static คำสั่งจะออกด้วยสถานะ non-zero เมื่อ ClawHub ทำเครื่องหมายว่าการตรวจสอบล้มเหลว ผู้เผยแพร่กู้คืนผลบวกลวงได้ผ่านแดชบอร์ด ClawHub หรือ clawhub skill rescan @owner/<slug>
การติดตั้ง archive ส่วนตัว
ไคลเอนต์ Gateway ที่ต้องการการส่งมอบที่ไม่ใช่ ClawHub สามารถจัดเตรียม zip archive ของ Skills ด้วย skills.upload.begin, skills.upload.chunk และ skills.upload.commit จากนั้นติดตั้งด้วย skills.install({ source: "upload", ... }) เส้นทางนี้ปิดอยู่โดยค่าเริ่มต้นและต้องใช้ skills.install.allowUploadedArchives: true ใน openclaw.json การติดตั้ง ClawHub ปกติไม่จำเป็นต้องใช้การตั้งค่านั้น
ความปลอดภัย
การจำกัดขอบเขตเส้นทาง
การค้นพบ Skills ของเวิร์กสเปซ เอเจนต์โปรเจกต์ และไดเรกทอรีเพิ่มเติมจะยอมรับเฉพาะราก Skills ที่ realpath ที่ resolve แล้วอยู่ภายในรากที่กำหนดค่าไว้ เว้นแต่ skills.load.allowSymlinkTargets จะเชื่อถือรากเป้าหมายอย่างชัดเจน
เวิร์กชอป Skills จะเขียนผ่านเป้าหมายที่เชื่อถือเหล่านั้นเท่านั้นเมื่อเปิดใช้งาน skills.workshop.allowSymlinkTargetWrites
ไดเรกทอรีที่จัดการ ~/.openclaw/skills และไดเรกทอรีส่วนตัว ~/.agents/skills อาจมีโฟลเดอร์ Skills ที่เป็น symlink ได้ แต่ realpath ของ SKILL.md ทุกไฟล์ยังต้องอยู่ภายในไดเรกทอรี Skills ที่ resolve แล้วของตัวเอง
นโยบายการติดตั้งของผู้ปฏิบัติงาน
กำหนดค่า security.installPolicy เพื่อรันคำสั่งนโยบายภายในเครื่องที่เชื่อถือได้ก่อนให้การติดตั้ง Skills ดำเนินต่อ นโยบายจะได้รับ metadata และเส้นทางต้นทางที่จัดเตรียมไว้ ใช้กับเส้นทาง ClawHub, uploaded, Git, local, update และ dependency-installer และจะ fail closed เมื่อคำสั่งไม่สามารถส่งคืนการตัดสินใจที่ถูกต้องได้
ขอบเขตการฉีด secret
skills.entries.*.env และ skills.entries.*.apiKey ฉีด secret เข้าไปในกระบวนการ host สำหรับเทิร์นของเอเจนต์นั้นเท่านั้น — ไม่ใช่เข้าไปใน sandbox เก็บ secret ออกจากพรอมป์และล็อก
สำหรับ threat model และเช็กลิสต์ความปลอดภัยที่กว้างขึ้น ดู ความปลอดภัย
รูปแบบ SKILL.md
Skills ทุกตัวต้องมีอย่างน้อย name และ description ใน frontmatter:
---name: image-labdescription: Generate or edit images via a provider-backed image workflow--- When the user asks to generate an image, use the `image_generate` tool...คีย์ frontmatter เพิ่มเติม
homepagestringURL ที่แสดงเป็น "เว็บไซต์" ใน UI Skills ของ macOS รองรับผ่าน metadata.openclaw.homepage ด้วย
user-invocablebooleandefault: trueเมื่อเป็น true Skills จะถูกเปิดเผยเป็น slash command ที่ผู้ใช้เรียกได้
disable-model-invocationbooleandefault: falseเมื่อเป็น true OpenClaw จะไม่นำคำสั่งของ Skills เข้าไปในพรอมป์ปกติของเอเจนต์ Skills ยังใช้เป็น slash command ได้เมื่อ user-invocable เป็น true ด้วย
command-dispatch"tool"เมื่อตั้งค่าเป็น tool slash command จะข้ามโมเดลและ dispatch โดยตรงไปยังเครื่องมือที่ลงทะเบียนไว้
command-toolstringชื่อเครื่องมือที่จะเรียกใช้เมื่อตั้งค่า command-dispatch: tool
command-arg-mode"raw"default: rawสำหรับ tool dispatch จะส่งต่อสตริง args ดิบไปยังเครื่องมือโดยไม่มีการ parse จาก core เครื่องมือจะได้รับ
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }
การควบคุมเงื่อนไข
OpenClaw กรองทักษะตอนโหลดโดยใช้ metadata.openclaw (JSON บรรทัดเดียวใน frontmatter) ทักษะที่ไม่มีบล็อก metadata.openclaw จะมีสิทธิ์ใช้งานเสมอ เว้นแต่จะถูกปิดใช้งานอย่างชัดเจน
---name: image-labdescription: Generate or edit images via a provider-backed image workflowmetadata: { "openclaw": { "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] }, "primaryEnv": "GEMINI_API_KEY", }, }---alwaysbooleanเมื่อเป็น true ให้รวมทักษะนี้เสมอและข้ามเกตอื่นทั้งหมด
emojistringอีโมจิเสริมที่แสดงใน UI Skills ของ macOS
homepagestringURL เสริมที่แสดงเป็น "Website" ใน UI Skills ของ macOS
os"darwin" | "linux" | "win32"ตัวกรองแพลตฟอร์ม เมื่อตั้งค่าแล้ว ทักษะนี้จะมีสิทธิ์ใช้งานเฉพาะบน OS ที่ระบุไว้เท่านั้น
requires.binsstring[]ไบนารีแต่ละรายการต้องมีอยู่บน PATH
requires.anyBinsstring[]ต้องมีไบนารีอย่างน้อยหนึ่งรายการอยู่บน PATH
requires.envstring[]ตัวแปรสภาพแวดล้อมแต่ละรายการต้องมีอยู่ในโปรเซสหรือระบุผ่านการกำหนดค่า
requires.configstring[]พาธ openclaw.json แต่ละรายการต้องเป็นค่าจริง
primaryEnvstringชื่อตัวแปรสภาพแวดล้อมที่เชื่อมโยงกับ skills.entries.<name>.apiKey
installobject[]ข้อกำหนดตัวติดตั้งเสริมที่ UI Skills ของ macOS ใช้ (brew / node / go / uv / download)
ข้อกำหนดตัวติดตั้ง
ข้อกำหนดตัวติดตั้งบอก UI Skills ของ macOS ว่าจะติดตั้ง dependency อย่างไร:
---name: geminidescription: 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)", }, ], }, }---Installer selection rules
- เมื่อมีตัวติดตั้งหลายรายการ Gateway จะเลือกตัวเลือกที่ต้องการหนึ่งรายการ (brew เมื่อใช้ได้ มิฉะนั้นใช้ node)
- หากตัวติดตั้งทั้งหมดเป็น
downloadOpenClaw จะแสดงแต่ละรายการเพื่อให้คุณ เห็น artifact ทั้งหมดที่มี - ข้อกำหนดสามารถใส่
os: ["darwin"|"linux"|"win32"]เพื่อกรองตามแพลตฟอร์มได้ - การติดตั้งผ่าน Node จะเคารพ
skills.install.nodeManagerในopenclaw.json(ค่าเริ่มต้น: npm; ตัวเลือก: npm / pnpm / yarn / bun) ค่านี้มีผลเฉพาะกับการติดตั้งทักษะ เท่านั้น; รันไทม์ของ Gateway ควรยังคงเป็น Node - ลำดับความต้องการตัวติดตั้งของ Gateway: Homebrew → uv → ตัวจัดการ node ที่กำหนดค่าไว้ → go → download
Per-installer details
- Homebrew: OpenClaw จะไม่ติดตั้ง Homebrew อัตโนมัติหรือแปลงสูตร brew
เป็นคำสั่งแพ็กเกจของระบบ ในคอนเทนเนอร์ Linux ที่ไม่มี
brewตัวติดตั้งที่มีเฉพาะ brew จะถูกซ่อน; ใช้อิมเมจแบบกำหนดเองหรือติดตั้ง dependency ด้วยตนเอง - Go: หากไม่มี
goและมีbrewGateway จะติดตั้ง Go ผ่าน Homebrew ก่อนและตั้งค่าGOBINเป็นbinของ Homebrew - Download:
url(จำเป็น),archive(tar.gz|tar.bz2|zip),extract(ค่าเริ่มต้น: อัตโนมัติเมื่อตรวจพบ archive),stripComponents,targetDir(ค่าเริ่มต้น:~/.openclaw/tools/<skillKey>)
Sandboxing notes
requires.bins จะถูกตรวจสอบบน โฮสต์ ตอนโหลดทักษะ หากเอเจนต์
ทำงานใน sandbox ไบนารีนั้นต้องมีอยู่ ภายในคอนเทนเนอร์ ด้วย
ติดตั้งผ่าน agents.defaults.sandbox.docker.setupCommand หรืออิมเมจแบบกำหนดเอง
setupCommand ทำงานหนึ่งครั้งหลังสร้างคอนเทนเนอร์ และต้องมี
network egress, root FS ที่เขียนได้ และผู้ใช้ root ใน sandbox
การ override การกำหนดค่า
สลับและกำหนดค่าทักษะที่บันเดิลมาหรือจัดการไว้ภายใต้ 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 จะปิดใช้งานทักษะแม้ว่าจะถูกบันเดิลมาหรือติดตั้งแล้วก็ตาม ทักษะบันเดิล coding-agent
เป็นแบบ opt-in — ตั้งค่า skills.entries.coding-agent.enabled: true
และตรวจสอบให้แน่ใจว่ามีการติดตั้งและยืนยันตัวตน CLI ที่รองรับอย่างใดอย่างหนึ่ง เช่น
claude, codex, opencode หรือ CLI อื่นที่รองรับแล้ว
apiKeystring | { source, provider, id }ฟิลด์อำนวยความสะดวกสำหรับทักษะที่ประกาศ metadata.openclaw.primaryEnv
รองรับสตริงข้อความล้วนหรืออ็อบเจกต์ SecretRef
env"Record<string,configobjectถุงข้อมูลเสริมสำหรับฟิลด์การกำหนดค่าแบบกำหนดเองรายทักษะ
allowBundledstring[]allowlist เสริมสำหรับทักษะที่ บันเดิลมา เท่านั้น เมื่อตั้งค่าแล้ว เฉพาะทักษะบันเดิล ที่อยู่ในรายการเท่านั้นจึงจะมีสิทธิ์ใช้งาน ทักษะแบบจัดการและทักษะใน workspace จะไม่ได้รับผลกระทบ
การฉีดสภาพแวดล้อม
เมื่อการรันเอเจนต์เริ่มต้น OpenClaw จะ:
Reads skill metadata
OpenClaw แก้รายการทักษะที่มีผลสำหรับเอเจนต์ โดยใช้กฎเกต allowlist และการ override การกำหนดค่า
Injects env and API keys
skills.entries.<key>.env และ skills.entries.<key>.apiKey จะถูกนำไปใช้กับ
process.env ตลอดระยะเวลาการรัน
Builds the system prompt
ทักษะที่มีสิทธิ์ใช้งานจะถูกรวบรวมเป็นบล็อก XML ขนาดกะทัดรัดและฉีดเข้าไปใน system prompt
Restores the environment
หลังจากการรันสิ้นสุด สภาพแวดล้อมเดิมจะถูกคืนค่า
สำหรับ backend claude-cli ที่บันเดิลมา OpenClaw จะ materialize snapshot
ทักษะที่มีสิทธิ์ใช้งานชุดเดียวกันเป็น Plugin ชั่วคราวของ Claude Code และส่งผ่าน
--plugin-dir ด้วย ส่วน backend CLI อื่นใช้เฉพาะแค็ตตาล็อก prompt
Snapshot และการ refresh
OpenClaw จะ snapshot ทักษะที่มีสิทธิ์ใช้งาน เมื่อ session เริ่มต้น และนำรายการนั้น กลับมาใช้สำหรับ turn ถัดไปทั้งหมดใน session การเปลี่ยนแปลงทักษะหรือการกำหนดค่าจะ มีผลใน session ใหม่ถัดไป
Skills จะ refresh กลาง session ในสองกรณี:
- watcher ของ Skills ตรวจพบการเปลี่ยนแปลง
SKILL.md - โหนดระยะไกลใหม่ที่มีสิทธิ์ใช้งานเชื่อมต่อเข้ามา
รายการที่ refresh แล้วจะถูกนำไปใช้ใน turn ถัดไปของเอเจนต์ หาก allowlist ของเอเจนต์ที่มีผล เปลี่ยนแปลง OpenClaw จะ refresh snapshot เพื่อให้ทักษะที่มองเห็นสอดคล้องกัน
Skills watcher
โดยค่าเริ่มต้น OpenClaw จะเฝ้าดูโฟลเดอร์ทักษะและ bump snapshot เมื่อ
ไฟล์ SKILL.md เปลี่ยนแปลง กำหนดค่าภายใต้ skills.load:
{ skills: { load: { extraDirs: ["~/Projects/agent-scripts/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], watch: true, watchDebounceMs: 250, }, },}ใช้ allowSymlinkTargets สำหรับเลย์เอาต์ symlink ที่ตั้งใจไว้ ซึ่ง symlink ของรากทักษะ
ชี้ออกนอก root ที่กำหนดค่าไว้ เช่น
<workspace>/skills/manager -> ~/Projects/manager/skills
เปิดใช้ skills.workshop.allowSymlinkTargetWrites เฉพาะเมื่อ Skill Workshop
ควรใช้ข้อเสนอผ่านพาธ symlink ที่เชื่อถือได้เหล่านั้นด้วย
Remote macOS nodes (Linux gateway)
หาก Gateway ทำงานบน Linux แต่มี โหนด macOS เชื่อมต่ออยู่โดยอนุญาต
system.run OpenClaw สามารถถือว่าทักษะเฉพาะ macOS มีสิทธิ์ใช้งานได้เมื่อ
ไบนารีที่ต้องการมีอยู่บนโหนดนั้น เอเจนต์ควรรันทักษะเหล่านั้น
ผ่านเครื่องมือ exec ด้วย host=node
โหนดออฟไลน์จะ ไม่ ทำให้ทักษะเฉพาะระยะไกลมองเห็นได้ หากโหนดหยุด ตอบ bin probe OpenClaw จะล้าง bin match ที่แคชไว้ของโหนดนั้น
ผลกระทบต่อ token
เมื่อทักษะมีสิทธิ์ใช้งาน OpenClaw จะฉีดบล็อก XML ขนาดกะทัดรัดเข้าไปใน system prompt ค่าใช้จ่ายเป็นแบบกำหนดได้แน่นอน:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))- overhead ฐาน (เฉพาะเมื่อมีทักษะ ≥ 1 รายการ): ประมาณ 195 อักขระ
- ต่อทักษะ: ประมาณ 97 อักขระ + ความยาวฟิลด์
name,descriptionและlocationของคุณ - การ escape XML จะขยาย
& < > " 'เป็น entity เพิ่มอักขระอีกเล็กน้อยต่อครั้งที่พบ - ที่ประมาณ 4 อักขระ/token, 97 อักขระ ≈ 24 token ต่อทักษะก่อนนับความยาวฟิลด์
เขียน description ให้สั้นและสื่อความหมายเพื่อลด overhead ของ prompt
ที่เกี่ยวข้อง
คู่มือทีละขั้นตอนสำหรับการเขียนทักษะแบบกำหนดเอง
คิวข้อเสนอสำหรับทักษะที่เอเจนต์ร่างขึ้น
สคีมาการกำหนดค่า skills.* แบบเต็มและ allowlist ของเอเจนต์
วิธีลงทะเบียนและกำหนดเส้นทาง slash command ของทักษะ
เรียกดูและเผยแพร่ทักษะบน registry สาธารณะ
Plugins สามารถจัดส่งทักษะควบคู่กับเครื่องมือที่เอกสารของพวกเขาอธิบายไว้