Skills

Tạo Skills

Skills hướng dẫn agent cách thức và thời điểm sử dụng các công cụ. Mỗi skill là một thư mục chứa tệp SKILL.md với phần đầu YAML và các hướng dẫn bằng Markdown. OpenClaw tải các skill từ nhiều thư mục gốc theo một thứ tự ưu tiên xác định.

Tạo skill đầu tiên của bạn

  • Tạo thư mục skill

    Skills nằm trong thư mục skills/ của không gian làm việc:

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

    Bạn có thể nhóm các skill vào thư mục con để dễ tổ chức — tên của skill vẫn được xác định bởi phần đầu của SKILL.md, không phải đường dẫn thư mục:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# tên skill vẫn là "hello-world", được gọi bằng /hello-world
  • Viết SKILL.md

    Phần đầu định nghĩa siêu dữ liệu; phần nội dung cung cấp hướng dẫn cho agent.

    markdown
    ---name: hello-worlddescription: Một skill đơn giản in ra lời chào.--- # Xin chào thế giới Khi người dùng yêu cầu lời chào, hãy dùng công cụ `exec` để chạy: ```bashecho "Xin chào từ skill tùy chỉnh của bạn!"
    Code
     Quy tắc đặt tên:- Dùng chữ cái viết thường, chữ số và dấu gạch nối cho `name`.- Giữ tên thư mục và `name` trong phần đầu nhất quán.- `description` được hiển thị cho agent và trong kết quả khám phá lệnh gạch chéo —  hãy viết trên một dòng và dưới 160 ký tự.  OPENCLAW_DOCS_MARKER:stepClose:   OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJYw6FjIG1pbmggc2tpbGwgxJHDoyDEkcaw4bujYyB04bqjaSI ```bashopenclaw skills list

    Theo mặc định, OpenClaw theo dõi các tệp SKILL.md trong những thư mục gốc của skill. Nếu trình theo dõi bị tắt hoặc bạn đang tiếp tục một phiên hiện có, hãy bắt đầu một phiên mới để agent nhận được danh sách đã làm mới:

    bash
    # Từ cuộc trò chuyện — lưu trữ phiên hiện tại và bắt đầu phiên mới/new # Hoặc khởi động lại Gatewayopenclaw gateway restart
  • Kiểm thử

    bash
    openclaw agent --message "hãy gửi cho tôi một lời chào"

    Hoặc mở một cuộc trò chuyện và hỏi trực tiếp agent. Dùng /skill hello-world để gọi skill một cách tường minh theo tên.

  • Tham chiếu SKILL.md

    Các trường bắt buộc

    Trường Mô tả
    name Định danh duy nhất sử dụng chữ cái viết thường, chữ số và dấu gạch nối
    description Mô tả một dòng được hiển thị cho agent và trong kết quả khám phá

    Các khóa phần đầu tùy chọn

    Trường Mặc định Mô tả
    user-invocable true Cung cấp skill dưới dạng lệnh gạch chéo cho người dùng
    disable-model-invocation false Loại skill khỏi lời nhắc hệ thống của agent (vẫn chạy qua /skill)
    command-dispatch Đặt thành tool để định tuyến trực tiếp lệnh gạch chéo đến công cụ, bỏ qua mô hình
    command-tool Tên công cụ cần gọi khi command-dispatch: tool được đặt
    command-arg-mode raw Khi điều phối đến công cụ, chuyển tiếp chuỗi đối số thô đến công cụ
    homepage URL được hiển thị dưới dạng "Website" trong giao diện Skills trên macOS

    Đối với các trường kiểm soát điều kiện (requires.bins, requires.env, v.v.), xem Skills — Kiểm soát điều kiện.

    Sử dụng {baseDir}

    Tham chiếu các tệp bên trong thư mục skill mà không mã hóa cứng đường dẫn — agent phân giải {baseDir} theo chính thư mục của skill:

    markdown
    Chạy tập lệnh hỗ trợ tại `{baseDir}/scripts/run.sh`.

    Thêm kích hoạt có điều kiện

    Đặt điều kiện cho skill để skill chỉ được tải khi các phần phụ thuộc khả dụng:

    markdown
    ---name: gemini-searchdescription: Tìm kiếm bằng Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---
    Các tùy chọn kiểm soát điều kiện
    Khóa Mô tả
    requires.bins Tất cả tệp nhị phân phải tồn tại trên PATH
    requires.anyBins Ít nhất một tệp nhị phân phải tồn tại trên PATH
    requires.env Mỗi biến môi trường phải tồn tại trong tiến trình hoặc cấu hình
    requires.config Mỗi đường dẫn openclaw.json phải có giá trị đúng
    os Bộ lọc nền tảng: ["darwin"], ["linux"], ["win32"]
    always Đặt thành true để bỏ qua mọi điều kiện và luôn bao gồm skill

    Tài liệu tham chiếu đầy đủ: Skills — Kiểm soát điều kiện.

    Môi trường và khóa API

    Liên kết khóa API với một mục skill trong openclaw.json:

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

    Khóa chỉ được chèn vào tiến trình máy chủ trong lượt hoạt động đó của agent. Khóa không được chuyển vào sandbox — xem các biến môi trường trong sandbox.

    Đề xuất qua Skill Workshop

    Đối với các skill do agent soạn thảo hoặc khi bạn muốn người vận hành xem xét trước khi một skill được đưa vào sử dụng, hãy dùng đề xuất của Skill Workshop thay vì viết trực tiếp SKILL.md.

    bash
    # Đề xuất một skill hoàn toàn mớiopenclaw skills workshop propose-create \  --name "hello-world" \  --description "Một skill đơn giản in ra lời chào." \  --proposal ./PROPOSAL.md # Đề xuất cập nhật cho một skill hiện cóopenclaw skills workshop propose-update hello-world \  --proposal ./PROPOSAL.md \  --description "Skill lời chào đã cập nhật"

    Dùng --proposal-dir khi đề xuất bao gồm các tệp hỗ trợ:

    bash
    openclaw skills workshop propose-create \  --name "hello-world" \  --description "Một skill đơn giản in ra lời chào." \  --proposal-dir ./hello-world-proposal/

    Thư mục phải chứa PROPOSAL.md tại thư mục gốc. Các tệp hỗ trợ được đặt trong assets/, examples/, references/, scripts/ hoặc templates/.

    Sau khi xem xét:

    bash
    openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>

    Xem Skill Workshop để biết toàn bộ vòng đời đề xuất.

    Xuất bản lên ClawHub

  • Đảm bảo SKILL.md của bạn đã hoàn chỉnh

    Đảm bảo name, description và mọi trường kiểm soát điều kiện metadata.openclaw đều được đặt. Thêm URL homepage nếu bạn có trang dự án.

  • Cài đặt CLI ClawHub độc lập và đăng nhập

    bash
    npm i -g clawhubclawhub login
  • Xuất bản

    bash
    clawhub skill publish ./path/to/hello-world

    Thêm --version <version> hoặc --owner <owner> để ghi đè phiên bản được suy ra hoặc xuất bản dưới một chủ sở hữu cụ thể. Xem ClawHub — Xuất bảnCLI ClawHub để biết toàn bộ quy trình, phạm vi chủ sở hữu và các lệnh bảo trì khác (clawhub sync, clawhub skill rename, ...).

  • Các phương pháp hay nhất

    Nội dung liên quan

    Was this useful?
    On this page

    On this page