SKILL.md với phần đầu YAML
và phần nội dung Markdown. OpenClaw tải các Skills đi kèm cùng mọi bản ghi đè
cục bộ, rồi lọc chúng tại thời điểm tải dựa trên môi trường, cấu hình và sự hiện
diện của tệp nhị phân.
Tạo Skills
Xây dựng và kiểm thử một Skills tùy chỉnh từ đầu.
Xưởng Skills
Xem xét và phê duyệt các đề xuất Skills do tác nhân soạn thảo.
Cấu hình Skills
Lược đồ cấu hình
skills.* đầy đủ và danh sách cho phép của tác nhân.ClawHub
Duyệt và cài đặt Skills từ cộng đồng.
Thứ tự tải
OpenClaw tải từ các nguồn sau, theo thứ tự ưu tiên từ cao xuống thấp. Khi cùng một tên Skills xuất hiện ở nhiều nơi, nguồn có mức ưu tiên cao nhất sẽ được dùng.
Các thư mục gốc của Skills hỗ trợ bố cục theo nhóm. OpenClaw phát hiện một Skills
bất cứ khi nào
SKILL.md xuất hiện ở bất kỳ đâu bên dưới thư mục gốc đã cấu hình
(sâu tối đa 6 cấp):
name trong phần đầu (hoặc tên thư mục khi thiếu name).
Danh sách cho phép của tác nhân (bên dưới) cũng khớp theo name này.
Thư mục
$CODEX_HOME/skills gốc của Codex CLI không phải là thư mục gốc
Skills của OpenClaw. Dùng openclaw migrate plan codex để kiểm kê các Skills
đó, sau đó dùng openclaw migrate codex để sao chép chúng vào không gian làm
việc OpenClaw của bạn.Skills được lưu trữ trên Node
Một Node không giao diện đã kết nối có thể công bố các Skills được cài đặt trong thư mục Skills OpenClaw đang hoạt động của nó (mặc định là~/.openclaw/skills; các giá trị ghi đè từ môi trường hồ sơ sẽ được áp dụng).
Chúng xuất hiện trong danh sách Skills thông thường của tác nhân khi Node được
kết nối và biến mất khi Node ngắt kết nối. Skills cục bộ hoặc của Gateway giữ
nguyên tên khi xảy ra xung đột; Skills của Node nhận một tên xác định có tiền tố
Node. Phiên bản v1 của Skills được lưu trữ trên Node yêu cầu tên thư mục phải
khớp với trường name trong phần đầu của Skills.
Mục Skills bao gồm thông tin định vị Node. Các tệp, tham chiếu tương đối và tệp
nhị phân của nó nằm trên Node, vì vậy hãy tải và thực thi bằng
exec host=node node=<node-id>. Khởi động lại máy chủ Node sau khi thay đổi các
tệp Skills của nó. Xem Node để biết cách ghép nối và
các tùy chọn tắt.
Skills theo từng tác nhân và Skills dùng chung
Trong thiết lập nhiều tác nhân, mỗi tác nhân có không gian làm việc riêng. Dùng đường dẫn phù hợp với phạm vi hiển thị mong muốn:Danh sách cho phép của tác nhân
Vị trí của Skills (mức ưu tiên) và phạm vi hiển thị của Skills (tác nhân nào có thể sử dụng) là các cơ chế kiểm soát riêng biệt. Dùng danh sách cho phép để hạn chế những Skills mà một tác nhân nhìn thấy, bất kể chúng được tải từ đâu.Quy tắc danh sách cho phép
Quy tắc danh sách cho phép
- Bỏ qua
agents.defaults.skillsđể mặc định không hạn chế bất kỳ Skills nào. - Bỏ qua
agents.list[].skillsđể kế thừaagents.defaults.skills. - Đặt
agents.list[].skills: []để không cung cấp Skills nào cho tác nhân đó. - Danh sách
agents.list[].skillskhông rỗng là tập hợp cuối cùng — nó không hợp nhất với các giá trị mặc định. - Danh sách cho phép có hiệu lực được áp dụng xuyên suốt quá trình tạo lời nhắc, phát hiện lệnh dấu gạch chéo, đồng bộ sandbox và ảnh chụp nhanh Skills.
- Đây không phải là ranh giới ủy quyền cho shell của máy chủ. Nếu cùng tác
nhân đó có thể dùng
exec, hãy hạn chế riêng shell bằng sandbox, cô lập người dùng hệ điều hành, danh sách từ chối/cho phép thực thi và thông tin xác thực riêng cho từng tài nguyên.
Plugin và Skills
Plugin có thể cung cấp Skills riêng bằng cách liệt kê các thư mụcskills trong
openclaw.plugin.json (đường dẫn tương đối với thư mục gốc của Plugin). Skills
của Plugin được tải khi Plugin được bật — ví dụ: Plugin trình duyệt cung cấp một
Skills browser-automation để điều khiển trình duyệt qua nhiều bước.
Các thư mục Skills của Plugin được hợp nhất ở cùng mức ưu tiên thấp như
skills.load.extraDirs, vì vậy một Skills đi kèm, được quản lý, của tác nhân
hoặc của không gian làm việc có cùng tên sẽ ghi đè chúng. Kiểm soát điều kiện
hợp lệ riêng của một Skills Plugin qua metadata.openclaw.requires trong phần
đầu của nó, giống như mọi Skills khác.
Xem Plugin và Công cụ để biết toàn bộ hệ thống Plugin.
Xưởng Skills
Xưởng Skills là hàng đợi đề xuất giữa tác nhân và các tệp Skills đang hoạt động của bạn. Khi tác nhân phát hiện công việc có thể tái sử dụng, nó soạn thảo một đề xuất thay vì ghi trực tiếp vàoSKILL.md. Bạn xem
xét và phê duyệt trước khi có bất kỳ thay đổi nào.
Cài đặt từ ClawHub
ClawHub là kho đăng ký Skills công khai. Dùng các lệnhopenclaw skills để cài đặt và cập nhật, hoặc CLI clawhub để công bố và đồng
bộ.
Chi tiết cài đặt
Chi tiết cài đặt
Theo mặc định,
openclaw skills install cài đặt vào thư mục skills/ của
không gian làm việc đang hoạt động. Thêm --global để cài đặt vào thư mục
dùng chung ~/.openclaw/skills, hiển thị với mọi tác nhân cục bộ trừ khi
danh sách cho phép của tác nhân thu hẹp phạm vi đó.Các bản cài đặt từ Git và nguồn cục bộ yêu cầu SKILL.md ở thư mục gốc của
nguồn. Slug được lấy từ name trong phần đầu của SKILL.md khi hợp lệ, sau
đó dùng tên thư mục hoặc kho lưu trữ nếu không có. Dùng --as <slug> để ghi
đè. openclaw skills update chỉ theo dõi các bản cài đặt từ ClawHub — hãy
cài đặt lại nguồn Git hoặc cục bộ để làm mới chúng.Xác minh và quét bảo mật
Xác minh và quét bảo mật
openclaw skills verify @owner/<slug> yêu cầu ClawHub cung cấp phạm vi tin
cậy clawhub.skill.verify.v1 của Skills. Các Skills ClawHub đã cài đặt được
xác minh theo phiên bản và kho đăng ký được ghi trong .clawhub/origin.json.
Các slug trần vẫn được chấp nhận đối với Skills đã cài đặt hoặc không mơ hồ,
nhưng tham chiếu kèm chủ sở hữu giúp tránh nhập nhằng về nhà phát hành.Các trang Skills của ClawHub hiển thị trạng thái quét bảo mật mới nhất trước
khi cài đặt, cùng các trang chi tiết cho VirusTotal, ClawScan và phân tích
tĩnh. Lệnh thoát với mã khác 0 khi ClawHub đánh dấu xác minh là thất bại.
Nhà phát hành xử lý các kết quả dương tính giả qua bảng điều khiển ClawHub
hoặc clawhub skill rescan @owner/<slug>.Cài đặt từ kho lưu trữ riêng tư
Cài đặt từ kho lưu trữ riêng tư
Các máy khách Gateway cần phương thức phân phối ngoài ClawHub có thể chuẩn
bị một kho lưu trữ Skills dạng zip bằng
skills.upload.begin,
skills.upload.chunk và skills.upload.commit, sau đó cài đặt bằng
skills.install({ source: "upload", ... }). Đường dẫn này mặc định bị tắt
và yêu cầu skills.install.allowUploadedArchives: true trong
openclaw.json. Các bản cài đặt ClawHub thông thường không bao giờ cần cài
đặt đó.Bảo mật
Giới hạn đường dẫn
Giới hạn đường dẫn
Việc phát hiện Skills trong không gian làm việc, tác nhân của dự án và thư
mục bổ sung chỉ chấp nhận các thư mục gốc Skills có đường dẫn thực đã phân
giải nằm bên trong thư mục gốc được cấu hình, trừ khi
skills.load.allowSymlinkTargets tin cậy rõ ràng một thư mục gốc đích.
Xưởng Skills chỉ ghi thông qua các đích tin cậy đó khi
skills.workshop.allowSymlinkTargetWrites được bật.
Thư mục được quản lý ~/.openclaw/skills và thư mục cá nhân
~/.agents/skills có thể chứa các thư mục Skills được liên kết tượng trưng,
nhưng đường dẫn thực của mọi SKILL.md vẫn phải nằm bên trong thư mục Skills
đã phân giải tương ứng.Chính sách cài đặt của người vận hành
Chính sách cài đặt của người vận hành
Cấu hình
security.installPolicy để chạy một lệnh chính sách cục bộ đáng tin
cậy trước khi tiếp tục cài đặt Skills. Chính sách nhận siêu dữ liệu và đường
dẫn nguồn đã chuẩn bị, áp dụng cho các đường dẫn ClawHub, tải lên, Git, cục
bộ, cập nhật và trình cài đặt phần phụ thuộc, đồng thời từ chối theo mặc định
khi lệnh không thể trả về một quyết định hợp lệ.Phạm vi chèn bí mật
Phạm vi chèn bí mật
skills.entries.*.env và skills.entries.*.apiKey chỉ chèn bí mật vào tiến
trình máy chủ trong lượt tác nhân đó — không chèn vào sandbox. Không đưa
bí mật vào lời nhắc và nhật ký.Định dạng SKILL.md
Mỗi Skills tối thiểu cần cóname và description trong phần đầu:
OpenClaw tuân theo đặc tả AgentSkills. Frontmatter
trước tiên được phân tích cú pháp dưới dạng YAML; nếu thất bại, hệ thống sẽ
chuyển sang trình phân tích cú pháp chỉ hỗ trợ một dòng. Các khối
metadata
lồng nhau (bao gồm ánh xạ YAML nhiều dòng) được làm phẳng thành chuỗi JSON và
phân tích lại dưới dạng JSON5, vì vậy dạng khối minh họa trong phần
Điều kiện sẽ hoạt động. Dùng {baseDir} trong phần nội dung để
tham chiếu đường dẫn thư mục skill.Các khóa frontmatter tùy chọn
URL được hiển thị dưới dạng “Website” trong giao diện Skills trên macOS. Cũng
được hỗ trợ qua
metadata.openclaw.homepage.Khi là
true, skill được cung cấp dưới dạng lệnh gạch chéo mà người dùng có
thể gọi.Khi là
true, OpenClaw không đưa hướng dẫn của skill vào prompt thông thường
của tác tử. Skill vẫn khả dụng dưới dạng lệnh gạch chéo khi user-invocable
cũng là true.Khi được đặt thành
tool, lệnh gạch chéo sẽ bỏ qua mô hình và được chuyển
trực tiếp đến một công cụ đã đăng ký.Tên công cụ cần gọi khi đặt
command-dispatch: tool.Đối với việc chuyển tiếp đến công cụ, chuyển nguyên chuỗi đối số thô đến công
cụ mà không qua phân tích cú pháp của lõi. Công cụ nhận
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Điều kiện
OpenClaw lọc các skill tại thời điểm tải bằngmetadata.openclaw (đối tượng
JSON5 được nhúng trong frontmatter, xem ghi chú phân tích cú pháp ở trên). Một
skill không có khối metadata.openclaw luôn đủ điều kiện, trừ khi bị vô hiệu
hóa rõ ràng.
Khi là
true, luôn bao gồm skill và bỏ qua tất cả các điều kiện khác.Emoji tùy chọn được hiển thị trong giao diện Skills trên macOS.
URL tùy chọn được hiển thị dưới dạng “Website” trong giao diện Skills trên
macOS.
Bộ lọc nền tảng. Khi được đặt, skill chỉ đủ điều kiện trên hệ điều hành có
trong danh sách.
Mỗi tệp nhị phân phải tồn tại trên
PATH.Ít nhất một tệp nhị phân phải tồn tại trên
PATH.Mỗi biến môi trường phải tồn tại trong tiến trình hoặc được cung cấp qua cấu
hình.
Mỗi đường dẫn
openclaw.json phải có giá trị đúng.Tên biến môi trường được liên kết với
skills.entries.<name>.apiKey.Các đặc tả trình cài đặt tùy chọn được giao diện Skills trên macOS sử dụng
(brew / node / go / uv / download).
Các khối
metadata.clawdbot cũ vẫn được chấp nhận khi không có
metadata.openclaw, nhờ đó các skill cũ đã cài đặt vẫn giữ nguyên điều kiện
phụ thuộc và gợi ý trình cài đặt. Các skill mới nên dùng
metadata.openclaw.Đặc tả trình cài đặt
Đặc tả trình cài đặt cho giao diện Skills trên macOS biết cách cài đặt một phần phụ thuộc:Quy tắc chọn trình cài đặt
Quy tắc chọn trình cài đặt
- Khi liệt kê nhiều trình cài đặt, Gateway chọn một phương án ưu tiên (brew nếu khả dụng, nếu không thì node).
- Nếu tất cả trình cài đặt đều là
download, OpenClaw liệt kê từng mục để bạn có thể xem tất cả tạo tác khả dụng. - Đặc tả có thể bao gồm
os: ["darwin"|"linux"|"win32"]để lọc theo nền tảng. - Các bản cài đặt Node tuân theo
skills.install.nodeManagertrongopenclaw.json(mặc định: npm; các tùy chọn: npm / pnpm / yarn / bun). Điều này chỉ ảnh hưởng đến việc cài đặt skill; môi trường chạy Gateway vẫn nên là Node. - Thứ tự ưu tiên trình cài đặt của Gateway: Homebrew → uv → trình quản lý node đã cấu hình → go → download.
Chi tiết theo từng trình cài đặt
Chi tiết theo từng trình cài đặt
- Homebrew: OpenClaw không tự động cài đặt Homebrew hoặc chuyển đổi các
công thức brew thành lệnh gói hệ thống. Trong các bộ chứa Linux không có
brew, trình cài đặt chỉ hỗ trợ brew sẽ bị ẩn; hãy dùng ảnh tùy chỉnh hoặc cài đặt phần phụ thuộc theo cách thủ công. - Go: OpenClaw yêu cầu Go 1.21 trở lên để tự động cài đặt skill. Nếu
thiếu
govà có Homebrew, OpenClaw sẽ cài đặt Go qua Homebrew trước; trên Linux không có Homebrew, hệ thống có thể dùngapt-getvới quyền root hoặc thông quasudokhông cần mật khẩu nếu ứng viêngolang-gosau khi làm mới đáp ứng phiên bản tối thiểu. Lệnhgo installthực tế cho phần phụ thuộc luôn nhắm đến một thư mục bin chuyên dụng do OpenClaw quản lý (bincủa Homebrew trên bản cài đặt mới, nếu không thì~/.local/bin) thay vìGOBINđã cấu hình của bạn — các biến môi trườngGOBIN,GOPATHvàGOTOOLCHAINcủa bạn được đọc nhưng không bao giờ bị ghi đè. - Tải xuống:
url(bắt buộc),archive(tar.gz|tar.bz2|zip),extract(mặc định: tự động khi phát hiện tệp lưu trữ),stripComponents,targetDir(mặc định:~/.openclaw/tools/<skillKey>).
Ghi chú về cách ly
Ghi chú về cách ly
requires.bins được kiểm tra trên máy chủ tại thời điểm tải skill. Nếu
tác tử chạy trong môi trường cách ly, tệp nhị phân cũng phải tồn tại
bên trong bộ chứa. Hãy cài đặt tệp đó qua
agents.defaults.sandbox.docker.setupCommand hoặc một ảnh tùy chỉnh.
setupCommand chạy một lần sau khi tạo bộ chứa và yêu cầu quyền truy cập
mạng ra ngoài, hệ thống tệp gốc có thể ghi và người dùng root trong môi
trường cách ly.Ghi đè cấu hình
Bật/tắt và cấu hình các skill đi kèm hoặc được quản lý trongskills.entries
tại ~/.openclaw/openclaw.json:
false vô hiệu hóa skill ngay cả khi skill đó đi kèm hoặc đã được cài đặt.
Skill đi kèm coding-agent cần được chủ động bật — hãy đặt
skills.entries.coding-agent.enabled: true và đảm bảo claude, codex,
opencode hoặc một CLI được hỗ trợ khác đã được cài đặt và xác thực.Trường tiện ích dành cho các skill khai báo
metadata.openclaw.primaryEnv.
Hỗ trợ chuỗi văn bản thuần hoặc đối tượng SecretRef.Các biến môi trường được đưa vào lượt chạy của tác tử. Chỉ được đưa vào khi
biến đó chưa được đặt trong tiến trình.
Nhóm tùy chọn dành cho các trường cấu hình riêng của từng skill.
Danh sách cho phép tùy chọn chỉ dành cho các skill đi kèm. Khi được đặt,
chỉ các skill đi kèm có trong danh sách mới đủ điều kiện. Các skill được quản
lý và skill trong không gian làm việc không bị ảnh hưởng.
Theo mặc định, các khóa cấu hình khớp với tên skill. Nếu một skill định
nghĩa
metadata.openclaw.skillKey, hãy dùng khóa đó trong skills.entries.
Đặt tên có dấu gạch nối trong dấu ngoặc kép: JSON5 cho phép các khóa được đặt
trong dấu ngoặc kép.Đưa biến môi trường vào
Khi một lượt chạy của tác tử bắt đầu, OpenClaw:1
Đọc siêu dữ liệu skill
OpenClaw phân giải danh sách skill có hiệu lực cho tác tử, áp dụng các quy
tắc điều kiện, danh sách cho phép và ghi đè cấu hình.
2
Đưa biến môi trường và khóa API vào
skills.entries.<key>.env và skills.entries.<key>.apiKey được áp dụng cho
process.env trong suốt thời gian chạy.3
Tạo prompt hệ thống
Các skill đủ điều kiện được biên dịch thành một khối XML nhỏ gọn và đưa vào
prompt hệ thống.
4
Khôi phục môi trường
Sau khi lượt chạy kết thúc, môi trường ban đầu được khôi phục.
claude-cli đi kèm, OpenClaw cũng hiện thực hóa cùng một bản
chụp skill đủ điều kiện dưới dạng Plugin Claude Code tạm thời và truyền nó qua
--plugin-dir. Các backend CLI khác chỉ sử dụng danh mục prompt.
Bản chụp và làm mới
OpenClaw chụp lại các skill đủ điều kiện khi một phiên bắt đầu và tái sử dụng danh sách đó cho tất cả các lượt tiếp theo trong phiên. Các thay đổi đối với skill hoặc cấu hình sẽ có hiệu lực trong phiên mới tiếp theo. Skills được làm mới giữa phiên trong hai trường hợp:- Trình theo dõi skill phát hiện thay đổi trong
SKILL.md. - Một node từ xa mới đủ điều kiện kết nối.
Trình theo dõi Skills
Trình theo dõi Skills
Theo mặc định, OpenClaw theo dõi các thư mục skill và cập nhật bản chụp khi
các tệp Dùng
SKILL.md thay đổi. Cấu hình trong skills.load:allowSymlinkTargets cho các bố cục liên kết tượng trưng có chủ đích,
trong đó liên kết tượng trưng gốc của skill trỏ ra ngoài thư mục gốc đã cấu
hình, ví dụ
<workspace>/skills/manager -> ~/Projects/manager/skills.
Chỉ bật skills.workshop.allowSymlinkTargetWrites khi Skill Workshop cũng
cần áp dụng các đề xuất thông qua những đường dẫn liên kết tượng trưng đáng
tin cậy đó.Các node macOS từ xa (Gateway Linux)
Các node macOS từ xa (Gateway Linux)
Nếu Gateway chạy trên Linux nhưng một node macOS được kết nối và cho
phép
system.run, OpenClaw có thể coi các skill chỉ dành cho macOS là đủ
điều kiện khi các tệp nhị phân cần thiết có trên node đó. Tác tử nên chạy
các skill này qua công cụ exec với host=node.Các node ngoại tuyến không làm cho các skill chỉ dùng từ xa hiển thị.
Nếu một node ngừng phản hồi các phép dò tệp nhị phân, OpenClaw sẽ xóa các
kết quả khớp tệp nhị phân đã lưu trong bộ nhớ đệm của node đó.Ảnh hưởng đến token
Khi các skill đủ điều kiện, OpenClaw đưa một khối XML nhỏ gọn vào prompt hệ thống. Chi phí có tính xác định và tăng tuyến tính theo từng skill:- Chi phí cơ sở (chỉ khi có từ 1 skill đủ điều kiện trở lên): một khối cố
định gồm phần giới thiệu và phần bao
<available_skills>. - Mỗi skill: khoảng 97 ký tự + độ dài các trường
name,descriptionvàlocationcủa bạn. - Việc thoát ký tự XML chuyển
& < > " 'thành các thực thể, làm tăng thêm vài ký tự cho mỗi lần xuất hiện. - Với khoảng 4 ký tự/token, 97 ký tự ≈ 24 token cho mỗi skill trước khi tính độ dài các trường.
skills.limits.maxSkillsPromptChars), trước tiên OpenClaw sẽ giữ lại nhiều định danh Skills
(tên, vị trí và phiên bản) nhất có thể trong phạm vi mà định dạng rút gọn không có phần mô tả
cho phép. Sau đó, OpenClaw sử dụng phần ngân sách còn lại cho các mô tả được rút ngắn. Nếu không
còn ngân sách cho phần mô tả, các mô tả sẽ bị lược bỏ. Prompt sẽ bao gồm một
ghi chú trỏ đến openclaw skills check bất cứ khi nào cần dùng định dạng rút gọn hoặc
cắt bớt danh sách.
Giữ phần mô tả ngắn gọn và rõ nghĩa để giảm thiểu chi phí prompt.
Liên quan
Tạo Skills
Hướng dẫn từng bước để tạo một Skills tùy chỉnh.
Xưởng Skills
Hàng đợi đề xuất dành cho các Skills do agent soạn thảo.
Cấu hình Skills
Lược đồ cấu hình
skills.* đầy đủ và danh sách cho phép của agent.Lệnh gạch chéo
Cách đăng ký và định tuyến các lệnh gạch chéo của Skills.
ClawHub
Duyệt và phát hành Skills trên sổ đăng ký công khai.
Các Plugin
Các Plugin có thể phân phối Skills cùng với những công cụ mà chúng lập tài liệu.