Skills
Gắn "gói tri thức" cho agent — tương thích chuẩn mở Anthropic Agent Skills.
Skill là một gói tri thức cho agent — một SKILL.md cùng các file hỗ trợ tùy chọn (script, cấu hình, mẫu tham chiếu) nói với agent "gặp loại task này thì tư duy và hành động thế này." UniAI theo chuẩn mở Anthropic Agent Skills, nên bất kỳ Skill nào tuân chuẩn — từ kho chính thức của Anthropic, ClawHub, hay skills.sh — đều nhập thẳng được.
Skill của không gian làm việc vs. skill cục bộ
UniAI hỗ trợ hai nguồn skill:
- Skill của không gian làm việc — lưu trên máy chủ UniAI. Sau khi gắn vào agent, nó được đồng bộ xuống daemon của bạn lúc thực thi task. Đây là cách chuẩn để chia sẻ skill trong nhóm.
- Skill cục bộ — nằm trong một thư mục trên máy bạn. Theo yêu cầu của bạn, daemon quét máy và bạn tự chọn cái nào đưa vào không gian làm việc. Daemon kiểm tra hai thư mục gốc, theo thứ tự ưu tiên: trước là thư mục skill riêng của runtime (mỗi công cụ lập trình AI có đường dẫn mặc định quy ước, ví dụ
~/.claude/skills/của Claude Code), sau là thư mục dùng chung cho mọi công cụ~/.agents/skills/— vị trí chung mà các hệ sinh thái như Codex và Gemini CLI dùng. Khi cùng tên skill có ở cả hai, thư mục riêng của provider được ưu tiên, nên thư mục dùng chung chỉ bổ sung thêm skill chứ không thay đổi kết quả của một skill sẵn có.
Đa phần bạn sẽ muốn skill của không gian làm việc: nhập một lần, agent của mọi đồng đội dùng được. Skill cục bộ hợp khi bạn muốn thử trên máy trước, hoặc nội dung liên quan tài liệu cục bộ nhạy cảm.
Skill theo phạm vi repository
Skill nằm trong repo hoạt động đúng như thiết kế. Một số công cụ lập trình AI tự nhận diện skill mức dự án được commit ngay trong repository, như .claude/skills/, .cursor/skills/, .opencode/skills/ hay .agents/skills/. Khi một task của UniAI checkout repository đó, các file này vẫn nằm trong workdir và công cụ bên dưới nạp được chúng theo cơ chế nhận diện sẵn có của mình. Bạn không cần nhập các skill repo đó vào UniAI chỉ để dùng trong repo đó; UniAI không tự nhập chúng vào danh mục skill của không gian làm việc.
Skill của không gian làm việc vẫn đồng bộ vào đúng vị trí native của provider với các công cụ hỗ trợ khám phá mức dự án. Nếu một skill của không gian làm việc trùng tên với thư mục skill sẵn có của repo, UniAI ghi bản của không gian làm việc dưới một tên khác bên cạnh, ví dụ review-helper-multica, thay vì ghi đè file của repo. Công cụ khi đó có thể thấy cả hai skill, bản của không gian làm việc mang tên đã điều chỉnh.
Nhập skill
Skill của không gian làm việc tới từ bốn nguồn:
- Tạo mới — viết
SKILL.mdvà các file liên quan ngay trong UI - Từ GitHub — dán URL repo (ví dụ
https://github.com/owner/repo/tree/main/skills/my-skill) và UniAI kéoSKILL.mdcùng mọi file trong thư mục đó - Từ ClawHub — tìm và nhập từ chợ công khai ClawHub, có chọn phiên bản
- Từ máy — daemon quét các thư mục skill trên máy bạn, và bạn chọn cái nào đưa vào không gian làm việc
Cả file lẻ lẫn nguyên gói skill đều có trần dung lượng (trần một file khoảng 1 MB khi nhập từ GitHub). Quy tắc chính xác hiện trong hộp thoại nhập — vượt trần sẽ báo lỗi.
Gắn vào agent
Nhập xong, skill phải được gắn vào một agent cụ thể mới có hiệu lực. Một agent gắn được nhiều skill, và một skill gắn được nhiều agent.
Sau khi gắn, agent nhận skill ở lần bắt đầu task kế tiếp — mỗi công cụ lập trình AI tìm skill ở một đường dẫn riêng (Claude Code dùng .claude/skills/, Cursor dùng .cursor/skills/, Antigravity dùng .agents/skills/, v.v.), và UniAI tự đặt file vào đúng chỗ. Tuy nhiên, ba công cụ (Gemini, Hermes, OpenClaw) hiện dùng đường dẫn dự phòng chung .agent_context/skills/ — các công cụ này có thật sự đọc skill từ đó không là tùy công cụ. Bảng đường dẫn đầy đủ cùng phân biệt nhận diện native với đường dự phòng nằm ở So sánh công cụ lập trình AI → File skill đi đâu.
Sau khi bạn sửa nội dung skill, chỉ task tạo mới nhận bản mới — task đang chạy tiếp tục với skill cũ.
An toàn với skill bên thứ ba
Skill nhập từ GitHub hay ClawHub có thể chứa script và nội dung thực thi được. Bản thân UniAI không ký, không kiểm toán, không sandbox chúng — nội dung skill được trao nguyên vẹn cho công cụ lập trình AI tương ứng, còn công cụ có coi chúng là thực thi được hay không là chuyện của công cụ.
Trước khi nhập skill bên thứ ba, hãy review SKILL.md và từng file đi kèm.
Tháng 2/2026 xảy ra sự cố "ClawHavoc": chỉ dẫn độc hại được cài vào một gói skill phổ biến đã đánh cắp API key của những người dùng bị ảnh hưởng. ClawHub từ đó đã thêm quét VirusTotal, nhưng quét tự động không thay được việc bạn tự review.
Chỉ nhập từ nguồn bạn tin. Với dự án có dữ liệu nhạy cảm, cân nhắc chỉ dùng skill cục bộ do chính bạn viết.
Skill vs. MCP
Cả hai đều mở rộng khả năng của agent, nhưng theo hai hướng khác nhau:
- Skill = một gói tri thức có cấu trúc (nội dung tĩnh + chỉ dẫn). Agent đọc skill để học "gặp vấn đề X thì tư duy thế nào, làm gì."
- MCP (Model Context Protocol) = một kênh công cụ. Agent dùng MCP để kết nối dịch vụ ngoài (cơ sở dữ liệu, hệ thống file, API bên thứ ba) và gọi chúng.
Hai thứ bổ trợ nhau. Trong UniAI hiện tại, hỗ trợ MCP là theo từng provider: Claude Code, Codex, Cursor, Hermes, Kimi, Kiro CLI, OpenCode và OpenClaw dùng mcp_config; các công cụ khác nhận trường này nhưng không thực sự dùng đến. Mục MCP chuyên biệt sẽ tới trong bản phát hành sau.
Tới đây bạn đã biết agent là gì, tạo ra sao, gắn skill thế nào. Câu hỏi kế tiếp: nó thực sự chạy ở đâu, và vì sao agent của tôi thỉnh thoảng bị kẹt? Chương tiếp theo nói về kiến trúc thực thi — daemon, runtime và cách task vận hành cùng nhau.
Bước tiếp theo
- Daemon và runtime — agent thực chạy ở đâu, và phân biệt online với offline
- Thực thi task — vòng đời đầy đủ của một "phiên làm việc agent"
- So sánh công cụ lập trình AI — so sánh đầy đủ 14 công cụ (kèm vị trí chèn skill của từng công cụ)
Tạo và cấu hình agent
Các trường tối thiểu để tạo agent, cùng mọi thiết lập tùy chọn — chỉ dẫn hệ thống, biến môi trường, phạm vi hiển thị, giới hạn đồng thời và lưu trữ.
Đội
Đội là một nhóm agent (và tùy chọn cả thành viên con người) do một agent leader chỉ định dẫn dắt. Giao issue cho đội và leader quyết định ai nhận việc.