
Nói ngắn gọn: một hermes agent skill là một thư mục chứa file SKILL.md — tài liệu mô tả cách làm một việc cụ thể, và agent chỉ nạp nội dung đó vào khi thật sự cần dùng. Bạn có ba cách để có skill: cài skill có sẵn từ Skills Hub, tự viết tay một file SKILL.md, hoặc nhờ chính agent sinh ra từ quy trình bạn mô tả. Skill dạy agent cách làm, còn MCP là thứ khác hẳn: nó cắm thêm công cụ bên ngoài (Google Drive, cơ sở dữ liệu, GitHub) cho agent dùng.
Bài này tôi viết cho người đã cài xong Hermes Agent trên máy hoặc VPS. Nếu bạn chưa cài, xem trước bài cài Hermes Agent trên Windows, Ubuntu và macOS rồi quay lại đây.
Skill trong Hermes Agent là gì và khác memory, MCP ở đâu?
Skill là tài liệu quy trình được nạp theo nhu cầu; memory là vài dòng sự kiện luôn đi kèm mọi câu hỏi; MCP là cầu nối tới công cụ và dữ liệu bên ngoài. Ba thứ này hay bị gộp làm một nên tôi tách rõ ngay từ đầu.
Điểm hay nhất của skill là cơ chế nạp theo lớp (progressive disclosure). Trong ngữ cảnh của agent lúc bình thường chỉ có danh sách tên skill và mô tả ngắn; toàn bộ nội dung chi tiết chỉ được đọc vào khi skill đó được gọi. Nhờ vậy bạn có thể giữ hàng chục quy trình mà không làm phình ngữ cảnh mỗi lần chat.
| Thành phần | Lưu gì | Khi nào nạp | Ví dụ doanh nghiệp |
|---|---|---|---|
| Skill | Tài liệu quy trình nhiều bước, có thể kèm file mẫu và script | Chỉ khi được gọi hoặc khi agent thấy mô tả khớp việc đang làm | Quy trình «đối soát công nợ cuối tháng» |
| Memory | Vài dòng sự kiện ngắn về bạn và công ty | Luôn nằm trong prompt | «Kho chính dùng file Ton_kho_2026» |
| MCP | Kết nối tới hệ thống bên ngoài, kèm danh sách công cụ | Khi agent cần gọi công cụ đó | Đọc thư mục Google Drive của phòng kế toán |
Một cách nhớ đơn giản: memory là tờ giấy nhớ dán trên màn hình, skill là quyển quy trình trong tủ hồ sơ, còn MCP là chìa khoá mở cửa kho dữ liệu.

Dùng skill có sẵn: gọi bằng dấu gạch chéo và ghép nhiều skill
Mỗi skill đã cài tự động trở thành một lệnh gạch chéo /ten-skill — dùng được cả trên CLI lẫn trên các nền tảng nhắn tin mà bạn đã nối. Không cần nhớ cú pháp gì thêm.
Bạn có thể ghép nhiều skill trong cùng một yêu cầu, tối đa 5 skill, đặt ở đầu tin nhắn. Ví dụ nguyên văn trong tài liệu Nous Research:
/github-pr-workflow /test-driven-development fix issue #123 and open a PR
Nếu không nhớ mình đang có gì, cách dễ nhất là hỏi thẳng agent bằng tiếng tự nhiên: «bạn có những skill nào?». Agent đọc danh sách skill đã nạp và trả lời.
Kinh nghiệm thực tế của tôi: tôi đang chạy 4 profile Hermes cho một công ty phân phối phụ kiện nội thất mà tôi điều hành, mỗi profile có bộ skills riêng. Nhờ vậy skill của bot tư vấn khách không lẫn sang bot báo cáo nội bộ — một việc rất đáng giá khi bạn vừa muốn bot nói chuyện với khách, vừa muốn bot đọc số liệu nội bộ. Profile «trợ lý sản phẩm nội bộ» có một skill riêng cho việc hỗ trợ khách: tra thông số, giá, chương trình bán. Ngoài skill, profile đó còn gắn thêm một plugin tạo ảnh — và đây chính là chỗ cần phân biệt rạch ròi: skill dạy cách làm, plugin/MCP thêm công cụ. Bạn có viết skill hay đến mấy mà agent không có công cụ truy cập dữ liệu thì nó vẫn chịu.
Cài skill từ Skills Hub mà không rước rủi ro
Quy trình an toàn gồm 4 bước: xem — tìm — soi — cài. Đừng bỏ bước «soi», vì skill là văn bản hướng dẫn agent, và có skill còn kèm cả thư mục scripts/ chạy được trên máy bạn.
- Xem danh mục:
hermes skills browse - Tìm theo từ khoá:
hermes skills search kubernetes - Soi trước khi cài:
hermes skills inspect openai/skills/k8s - Cài:
hermes skills install official/security/1password
Mọi skill trên hub đều đi qua máy quét bảo mật và được gắn một trong bốn mức tin cậy. Tôi để bảng dưới đây để bạn tự quyết định mức nào được phép cài trong công ty mình (tôi không ghi số lượng skill trong hub vì con số này thay đổi liên tục):
| Mức tin cậy | Nghĩa là gì | Thái độ nên có |
|---|---|---|
builtin | Skill đi kèm sẵn trong Hermes | Dùng thoải mái |
official | Do nhà phát hành chính thức cung cấp | Yên tâm, vẫn nên đọc lướt |
trusted | Nguồn đã được tin cậy | Đọc SKILL.md trước khi cài |
community | Cộng đồng đóng góp | Đọc kỹ SKILL.md và thư mục scripts/ |
Một điểm quan trọng: cờ --force chỉ giúp vượt qua cảnh báo nhẹ, không vượt được kết luận quét dangerous. Nếu máy quét nói nguy hiểm thì đừng tìm cách lách — hãy tìm skill khác hoặc tự viết.
Sau khi cài, nên đưa ba lệnh này vào thói quen định kỳ: hermes skills check để kiểm tra tình trạng, hermes skills update để cập nhật, và hermes skills audit để soát lại. Chuyện phân quyền và cách ly khi chạy agent trong doanh nghiệp tôi đã viết riêng trong bài chạy AI agent an toàn trong doanh nghiệp.
Tự viết SKILL.md đầu tiên: ví dụ skill báo cáo tồn kho
Cách học nhanh nhất là viết một skill cho đúng việc bạn đang làm tay mỗi tuần. Tôi lấy ví dụ quen thuộc với kho: báo cáo tồn kho và lọc ra mã hàng dưới định mức.
Tạo thư mục ~/.hermes/skills/kho/bao-cao-ton-kho/ rồi tạo file SKILL.md bên trong. Phần đầu file là frontmatter với các trường:
name— tên skill, ngắn, không dấudescription— mô tả ngắn và nêu rõ khi nào dùng; đây là trường quan trọng nhấtversion— phiên bản, để còn biết đường sửaplatforms: [macos, linux]— hệ điều hành skill chạy đượcmetadata:→hermes:→tagsvàcategoryđể phân loại
Phần thân file viết theo 4 mục chuẩn: ## When to Use, ## Procedure, ## Pitfalls, ## Verification. Đây là bộ khung rất hợp với tư duy quy trình của doanh nghiệp: dùng khi nào — làm thế nào — hay sai ở đâu — kiểm tra lại ra sao.
Nội dung cụ thể cho ví dụ kho, giả sử bạn có file Excel với các cột ma_sp, ten_sp, ton_dau, nhap, xuat, ton_cuoi, dinh_muc:
- When to Use: khi người dùng hỏi «báo cáo tồn kho», «hàng nào sắp hết», hoặc đưa file tồn kho tháng.
- Procedure: đọc file → tính
ton_cuoi = ton_dau + nhap - xuat→ so sánhton_cuoivớidinh_muc→ liệt kê các mã dưới định mức → trả về bảng tối đa 10 dòng, sắp xếp theo mức thiếu hụt nhiều nhất. - Pitfalls: mã hàng trùng do nhập tay, ô trống bị tính là 0, định mức mỗi kho mỗi khác.
- Verification: tổng
ton_cuoiphải khớp với dòng tổng trong file gốc; nếu lệch thì báo lại chứ không tự sửa số.
Bảng định mức thì đừng nhét vào SKILL.md, hãy để thành file riêng trong thư mục references/. Một skill có thể có các thư mục con: references/, templates/, scripts/, examples/, assets/. Tách như vậy giúp file chính gọn và agent chỉ đọc file phụ khi cần.
Để agent tự tạo và tự sửa skill (/learn, skill_manage)
Bạn không nhất thiết phải tự gõ SKILL.md. Lệnh /learn nhận một thư mục, một URL hoặc một mô tả quy trình bằng lời và sinh ra skill theo đúng chuẩn. Đây là cách tôi khuyên người không rành kỹ thuật bắt đầu: cứ kể quy trình như kể cho nhân viên mới, rồi mở file kết quả ra sửa lại cho đúng.
Agent cũng có thể tự lưu skill sau khi làm xong một việc nhiều bước, hoặc sau khi bị bạn sửa cách làm. Nếu bạn muốn kiểm soát chặt, bật duyệt trước khi ghi trong cấu hình:
skills:→write_approval: true- Xem hàng chờ:
/skills pending - Duyệt:
/skills approve <id> - Từ chối:
/skills reject <id>
Với skill lâu không dùng, bộ phận curator sẽ đánh dấu là cũ (stale) hoặc lưu trữ (archived) chứ không tự xoá — nên bạn không lo mất công sức đã viết.
Nối MCP để skill có thêm công cụ bên ngoài
Khi skill cần chạm vào dữ liệu nằm ở hệ thống khác, bạn cần MCP. Khai báo khối mcp_servers: trong file ~/.hermes/config.yaml, hoặc dùng catalog đã được Nous duyệt sẵn cho nhanh:
- Xem danh mục:
hermes mcp catalog - Cài một server, ví dụ:
hermes mcp install deepwiki - Giới hạn công cụ được phép dùng bằng
tools:vớiinclude: [...]hoặcexclude: [...]
Bước 3 là bước nhiều người bỏ qua và tôi nghĩ nó quan trọng nhất với doanh nghiệp. Một MCP server thường mang theo cả cụm công cụ: đọc, ghi, sửa, xoá. Nếu agent của bạn chỉ cần đọc file báo cáo, hãy dùng include để mở đúng công cụ đọc, hoặc exclude để chặn các công cụ xoá. Nguyên tắc «chỉ mở đúng thứ cần» áp dụng cho AI agent cũng giống như phân quyền nhân viên.
Vậy khi nào chọn gì? Rất gọn:
- Chọn MCP khi dữ liệu hoặc tác vụ nằm ở hệ thống khác và agent cần với tới nó.
- Chọn skill khi agent đã có đủ công cụ nhưng chưa biết cách làm việc theo kiểu công ty bạn.
- Phần lớn tình huống thật là cả hai: MCP mở cửa kho dữ liệu, skill dạy cách đi trong kho đó. Nếu bạn muốn xem các đầu việc cụ thể có thể giao, tôi liệt kê trong bài 8 việc doanh nghiệp nhỏ giao cho trợ lý AI.
Skill của Hermes có dùng được cho Claude Code, Codex không?
Dùng chéo được phần lõi, nhưng không phải 100%. Cả Hermes và Claude Code đều theo chuẩn mở Agent Skills (agentskills.io), nên cấu trúc SKILL.md với name, description và nội dung hướng dẫn thì bên nào cũng hiểu. Vấn đề nằm ở các trường riêng của từng bên.
| Tiêu chí | Hermes Agent | Claude Code |
|---|---|---|
| Vị trí lưu skill cá nhân | ~/.hermes/skills/ | ~/.claude/skills/<skill-name>/SKILL.md |
| Trường frontmatter riêng | metadata.hermes.* (tags, category) | disable-model-invocation, context… |
| Cách gọi | Lệnh /ten-skill trên CLI và nền tảng nhắn tin | Agent tự gọi theo mô tả, hoặc gọi trong phiên làm việc |
Bên này không hiểu trường riêng của bên kia, và thực tế claude.ai sẽ báo lỗi khi bạn tải lên một skill có chứa trường chỉ Claude Code dùng. Vì vậy nếu định dùng chung, hãy giữ frontmatter ở mức tối thiểu.
Chiều từ Claude Code sang Hermes thì có đường chính thức: lệnh hermes import-agent claude-code chép skills/<name>/ sang ~/.hermes/skills/claude-code-imports/<name>/. Lưu ý là commands/*.md bị bỏ qua và lệnh này không nhập file credential — tôi thấy đây là lựa chọn thiết kế đúng. Cách thứ hai là khai báo skills: → external_dirs: → - ~/.agents/skills để Hermes quét một thư mục skill dùng chung cho nhiều agent. Với Codex thì tôi chưa kiểm chứng được, bạn nên tra tài liệu chính thức của công cụ đó trước khi kết luận.
Lỗi hay gặp khi làm skill và cách tránh
Đa số lỗi không nằm ở kỹ thuật mà ở cách viết. Dưới đây là những thứ tôi gặp nhiều nhất:
- Mô tả mơ hồ:
descriptionviết kiểu «hỗ trợ công việc kho» thì agent không biết lúc nào nên gọi. Viết rõ tình huống kích hoạt: «dùng khi người dùng hỏi báo cáo tồn kho hoặc hàng dưới định mức». - File quá dài: thân
SKILL.mdvượt khoảng 24.000 ký tự sẽ bị linter củaskill_managecảnh báooversized-body. Cảnh báo thôi, không chặn, nhưng nạp vào là chiếm ngữ cảnh cả phiên. Tách bớt sangreferences/. - Trùng tên skill: skill trong dự án, skill cá nhân và skill từ thư mục ngoài có thứ tự ưu tiên khác nhau, nên trùng tên rất dễ gây «sao nó không chạy bản tôi vừa sửa». Đặt tên khác nhau là xong.
- Skill trong repo chưa được tin cậy: skill nằm trong một dự án phải chạy
hermes skills trustthì mới được nạp. - Cron gọi skill chưa cài: tác vụ hẹn giờ chạy trên máy nào thì skill phải có trên máy đó. Lỗi này hay xuất hiện khi bạn viết skill trên laptop còn scheduler chạy trên VPS.
- Telegram không hiện hết lệnh: Telegram giới hạn 100 lệnh gạch chéo. Nếu bạn cài quá nhiều skill, hãy tắt bớt skill theo nền tảng trong cấu hình skills rồi khởi động lại gateway.
- Sửa tay skill đi kèm sẵn: sửa trực tiếp skill bundled rồi thắc mắc vì sao cập nhật không ăn. Nguyên tắc: muốn đổi thì copy ra thành skill riêng của bạn, đừng sửa bản gốc.
Tóm lại và bước tiếp theo
Ba ý cần nhớ: skill là tài liệu quy trình chỉ nạp khi cần, MCP là công cụ bên ngoài, và hai thứ này bổ sung cho nhau chứ không thay nhau. Skills Hub giúp bạn có skill nhanh nhưng phải soi trước khi cài, đặc biệt với mức community. Và một hermes agent skill viết tốt thì phần quan trọng nhất không phải là kỹ thuật mà là description đủ rõ để agent biết lúc nào nên dùng.
Nếu bạn muốn bắt tay làm ngay hôm nay, tôi gợi ý thứ tự này: (1) chạy hermes skills browse xem có sẵn gì hợp; (2) chọn một việc bạn làm tay mỗi tuần — báo cáo tồn kho, đối soát công nợ, tổng hợp đơn hàng — và dùng /learn mô tả quy trình đó cho agent sinh skill; (3) mở file kết quả, sửa lại 4 mục When to Use / Procedure / Pitfalls / Verification cho đúng thực tế công ty bạn; (4) chỉ khi skill cần đọc dữ liệu nơi khác thì mới nối MCP, và nhớ lọc công cụ bằng include/exclude.
Đọc thêm: Hermes Agent là gì? Agent AI tự học của Nous Research cho người mới nếu bạn cần nắm tổng quan, và Chạy AI agent an toàn trong doanh nghiệp: sandbox, phân quyền và VPS trước khi cho agent chạm vào dữ liệu thật.
Nguồn tài liệu chính thức tôi dùng để kiểm chứng các lệnh và khoá cấu hình trong bài: tài liệu Skills của Hermes Agent, tài liệu MCP của Hermes Agent và tài liệu Skills của Claude Code. Công cụ thay đổi nhanh, nên trước khi áp dụng bạn nên mở lại các trang này đối chiếu.
Câu hỏi thường gặp
›Skill của Hermes có dùng được cho Claude không?
Dùng chéo được phần lõi. Cả Hermes Agent và Claude Code đều theo chuẩn mở Agent Skills, nên các trường name, description và nội dung hướng dẫn trong SKILL.md bên nào cũng đọc được. Tuy nhiên trường riêng của mỗi bên (metadata.hermes.* của Hermes; disable-model-invocation, context… của Claude Code) thì bên kia không hiểu, và claude.ai sẽ báo lỗi khi tải lên skill có chứa trường chỉ Claude Code dùng. Muốn dùng chung thì giữ frontmatter ở mức tối thiểu.
›Skill tự tạo có bị ghi đè khi chạy hermes update không?
Skill bạn tự viết nằm trong thư mục skill của bạn nên không bị bản cập nhật ghi đè. Vấn đề chỉ xảy ra khi bạn sửa tay một skill đi kèm sẵn (bundled) — lúc đó bản sửa của bạn và bản gốc sẽ xung đột. Nguyên tắc an toàn: muốn đổi skill bundled thì copy ra thành skill riêng với tên khác, đừng sửa trực tiếp bản gốc.
›Cài skill cộng đồng từ Skills Hub có an toàn không?
Mọi skill trên hub đều đi qua máy quét bảo mật và được gắn một trong bốn mức tin cậy: builtin, official, trusted, community. Cờ --force chỉ vượt được cảnh báo nhẹ, không vượt được kết luận quét dangerous. Với skill mức community, hãy chạy hermes skills inspect để đọc SKILL.md và thư mục scripts/ trước khi cài, vì skill có thể kèm script chạy trên máy bạn.
›Khi nào nên dùng MCP thay vì viết skill?
Dùng MCP khi dữ liệu hoặc tác vụ nằm ở hệ thống khác mà agent cần với tới — Google Drive, cơ sở dữ liệu, GitHub. Dùng skill khi agent đã có đủ công cụ nhưng chưa biết cách làm việc theo quy trình của công ty bạn. Phần lớn trường hợp thực tế cần cả hai: MCP mở quyền truy cập, skill dạy cách xử lý. Khi cài MCP nhớ lọc công cụ bằng tools include hoặc exclude để chỉ mở đúng thứ cần.
›Vì sao skill tôi viết xong mà agent không tự gọi?
Nguyên nhân phổ biến nhất là trường description viết quá mơ hồ nên agent không biết lúc nào nên dùng. Hãy nêu rõ tình huống kích hoạt, ví dụ «dùng khi người dùng hỏi báo cáo tồn kho hoặc hàng dưới định mức». Hai nguyên nhân khác là skill nằm trong một dự án chưa chạy hermes skills trust, và trùng tên với một skill khác đang được ưu tiên hơn.
Tác giả
Chuyên gia chuyển đổi số · Đại diện 5F Edu
Hơn 8 năm triển khai và tư vấn chuyển đổi số cho doanh nghiệp vừa và nhỏ: chuẩn hoá quy trình, xây phần mềm quản lý bằng AppSheet và web app, tự động hoá bằng N8N. Người làm kênh YouTube Nghiện AppSheet.



