Agent Skills là gì? Hiểu đúng SKILL.md trước khi cài hàng chục skill
Tóm tắt
Agent Skill là một thư mục chứa file SKILL.md (tên + mô tả + hướng dẫn) và có thể kèm script, tài liệu tham khảo. Agent chỉ nạp tên và mô tả lúc khởi động, khi gặp việc phù hợp mới đọc toàn bộ hướng dẫn — nhờ vậy cài nhiều skill mà không tốn nhiều context.
Cộng đồng đang chia sẻ hàng nghìn “skill” cho AI agent, và nhiều người cài hàng chục cái mà chưa hiểu bên trong có gì. Agent Skill thực chất là một thư mục chứa file SKILL.md (tên + mô tả + hướng dẫn), có thể kèm script và tài liệu tham khảo. Hiểu đúng cơ chế này giúp bạn viết skill tốt, cài skill an toàn và không làm phình ngữ cảnh.
Cấu trúc một skill
my-skill/
├── SKILL.md # frontmatter: name, description + hướng dẫn
├── scripts/ # (tuỳ chọn) code chạy được
├── references/ # (tuỳ chọn) tài liệu đọc khi cần
└── assets/ # (tuỳ chọn) template, ảnh…
---
name: release-notes
description: Viết release note từ danh sách PR đã merge, theo mẫu của team. Dùng khi người dùng yêu cầu release note hoặc changelog.
---
# Cách làm
1. Lấy danh sách PR từ ...
2. Nhóm theo Added / Changed / Fixed ...
Vì sao skill khác một prompt dài?
| Đặc điểm | Ý nghĩa |
|---|---|
| Progressive disclosure | Lúc khởi động agent chỉ đọc tên + mô tả (khoảng vài chục token mỗi skill); hướng dẫn đầy đủ chỉ nạp khi cần, và tài liệu tham khảo chỉ đọc khi hướng dẫn trỏ tới. |
| Chuẩn mở | Anthropic công bố Agent Skills thành chuẩn mở cuối năm 2025 (agentskills.io); nhiều công cụ đã hỗ trợ. |
| Cài nhanh | npx skills add <owner/repo>, hoặc chép thư mục vào ~/.claude/skills/. |
Nhờ nạp theo tầng, bạn có thể cài nhiều skill mà ngữ cảnh ban đầu vẫn nhỏ. Điều này khác hẳn việc nhồi tất cả hướng dẫn vào một prompt hay CLAUDE.md khổng lồ.
Skill, CLAUDE.md, MCP: dùng cái nào?
| Công cụ | Dùng khi |
|---|---|
| CLAUDE.md / AGENTS.md | Quy ước luôn đúng cho dự án (cách build, test, phong cách code) — nạp ở mọi phiên |
| Skill | Quy trình chuyên biệt chỉ cần khi gặp việc phù hợp (viết release note, review PR theo checklist) |
| MCP | Kết nối hệ thống bên ngoài (database, GitHub, Slack) và dùng chung giữa nhiều ứng dụng |
Viết một skill tốt
- Mô tả là quan trọng nhất: agent quyết định dùng skill dựa vào
description. Nêu rõ làm gì và khi nào dùng; mô tả mơ hồ thì skill không bao giờ được gọi. - Mỗi skill một việc: “viết release note”, “review PR theo checklist team” tốt hơn một skill “làm mọi thứ”.
- Đưa ví dụ: một đầu ra mẫu giúp agent bắt chước đúng định dạng.
- Tách tài liệu dài vào references/ để chỉ nạp khi cần.
- Kiểm thử: thử với 3–5 yêu cầu thật, kể cả những câu nói khác đi, xem skill có được gọi đúng không.
Cài skill của người khác: kiểm tra gì?
- Skill có thể chạy script và ghi file. Đọc SKILL.md và thư mục scripts/ như đọc một PR từ người lạ.
- Với skill có tác động thật (deploy, gửi dữ liệu ra ngoài), đặt
disable-model-invocation: trueđể chỉ chạy khi bạn gọi. - Kiểm tra skill có gọi URL lạ, đọc biến môi trường hoặc file khoá không.
- Ưu tiên nguồn có lịch sử rõ ràng; ghim phiên bản (commit) thay vì luôn lấy bản mới nhất.
Áp dụng thế nào?
- Dev: bắt đầu bằng một skill nhỏ cho việc bạn lặp lại hằng tuần.
- Tech Lead: đưa các skill quan trọng vào repo để cả team dùng cùng phiên bản và review như code.
- PM: gói quy trình của team (Definition of Done, template báo cáo, checklist release) thành skill dùng chung — tri thức quy trình trở thành thứ chạy được.