Claude Skills là những gói năng lực dạng thư mục, mỗi gói có một file SKILL.md chứa hướng dẫn và phần mô tả để Claude biết khi nào cần dùng. Nhờ nó, Claude làm đúng quy trình riêng của bạn mà bạn không phải nhắc lại ở từng cuộc hội thoại. Tạo một Skill đầu tiên chỉ mất khoảng mười phút và không cần biết lập trình.
Tóm tắt nhanh
- Một Skill = một thư mục + một file
SKILL.mdcó phần frontmatter YAML và phần hướng dẫn viết bằng markdown. - Hai trường bắt buộc:
nametối đa 64 ký tự, chỉ chữ thường, số và dấu gạch ngang;descriptiontối đa 1024 ký tự. descriptionlà cơ chế chính quyết định Claude có gọi Skill hay không — nó phải nói cả làm gì lẫn khi nào dùng.- Nạp theo tầng: phần mô tả luôn nằm sẵn và chỉ tốn khoảng 100 token mỗi Skill; phần thân dưới 5 nghìn token chỉ nạp khi Skill được kích hoạt; file phụ thì không tốn gì cho tới lúc được đọc.
- Trong Claude Code, Skill là file trên máy: đặt ở
~/.claude/skills/cho cá nhân hoặc.claude/skills/cho dự án, không cần tải lên API. - Cảnh báo quan trọng: chỉ dùng Skill từ nguồn bạn tin tưởng — một Skill độc hại có thể sai khiến Claude chạy code ngoài mục đích đã ghi.
Claude Skills là gì?
Tài liệu Anthropic mô tả Agent Skills là các năng lực dạng mô-đun mở rộng khả năng của Claude. Mỗi Skill đóng gói ba thứ: hướng dẫn, phần siêu dữ liệu để nhận diện, và tùy chọn thêm tài nguyên như script hay mẫu tài liệu. Khi yêu cầu của bạn khớp với mô tả của Skill, Claude tự dùng nó — bạn không phải gọi tên.
Cách hình dung được chính tài liệu gợi ý và rất sát: Skill giống bộ tài liệu onboarding bạn viết cho người mới vào nhóm. Bạn không giảng lại quy trình mỗi sáng; bạn viết một lần, để đúng chỗ, ai cần thì mở ra đọc. Khác biệt duy nhất là “người mới” ở đây đọc file bằng lệnh bash và làm ngay.
Vì sao Skills mạnh hơn prompt rời?
Prompt là chỉ dẫn ở cấp cuộc hội thoại, dùng cho một việc rồi thôi. Skill là tài nguyên nằm trên hệ thống file, nạp theo nhu cầu, nên bạn không phải lặp lại cùng một hướng dẫn qua từng cuộc trò chuyện.
| Tiêu chí | Prompt rời | Skill |
|---|---|---|
| Tồn tại được bao lâu | Hết cuộc hội thoại là mất | Nằm trên file, dùng lại vô hạn |
| Ai kích hoạt | Bạn dán lại mỗi lần | Claude tự nhận diện theo mô tả, hoặc bạn gọi bằng lệnh gạch chéo |
| Chi phí ngữ cảnh | Chiếm chỗ mỗi lần dán vào | Khoảng 100 token cho phần mô tả, thân bài chỉ nạp khi cần |
| Kèm file và script | Không | Có: file tham chiếu, script chạy qua bash |
| Chia sẻ cho nhóm | Copy tay | Commit vào repo, gói thành plugin, hoặc triển khai qua cấu hình quản trị |
| Tính nhất quán | Phụ thuộc trí nhớ người dùng | Cùng một quy trình mọi lần chạy |
Điểm kỹ thuật đáng chú ý nhất là cơ chế nạp theo tầng. Tầng 1 là phần siêu dữ liệu, luôn nạp ở lúc khởi động, khoảng 100 token cho mỗi Skill. Tầng 2 là thân file SKILL.md, dưới 5 nghìn token, chỉ vào ngữ cảnh khi Skill được kích hoạt. Tầng 3 là các file kèm theo, không tốn token nào cho tới khi được đọc; riêng script thì chạy qua bash và chỉ có kết quả đầu ra đi vào ngữ cảnh, phần mã nguồn không bao giờ vào. Hệ quả thực tế: bạn cài hàng chục Skill mà không sợ phình ngữ cảnh, và có thể gói cả bộ tài liệu API đồ sộ vào Skill mà không trả giá gì nếu không dùng tới.
Cấu trúc một Skill gồm những gì?
Mẫu tối thiểu, đúng theo tài liệu chính thức:
---
name: ten-skill-cua-ban
description: Mô tả ngắn Skill này làm gì và khi nào nên dùng
---
# Tên Skill
## Instructions
Hướng dẫn từng bước để Claude làm theo
## Examples
Ví dụ cụ thể khi dùng Skill này
Ràng buộc của hai trường bắt buộc:
name: tối đa 64 ký tự, chỉ gồm chữ thường, số và dấu gạch ngang; không chứa thẻ XML; không được dùng các từ dành riêng là “anthropic” và “claude”.description: không được rỗng, tối đa 1024 ký tự, không chứa thẻ XML, và phải nêu đủ cả việc Skill làm gì lẫn khi nào Claude nên dùng.
Thư mục của một Skill phức tạp thường trông như sau: SKILL.md làm hướng dẫn chính, thêm các file như reference.md hoặc examples.md cho phần chi tiết, và một thư mục scripts/ chứa các đoạn mã tiện ích. Trong SKILL.md bạn chỉ cần trỏ tới chúng bằng link markdown, Claude sẽ đọc khi cần.
Riêng trong Claude Code, frontmatter còn nhiều trường tùy chọn đáng dùng: allowed-tools để duyệt trước quyền cho một số lệnh, disable-model-invocation để chỉ bạn được gọi chứ Claude không tự gọi, argument-hint để hiện gợi ý tham số, và context: fork để chạy Skill trong một subagent tách biệt.
Tự tạo Skill đầu tiên: quy trình 6 bước
- Chọn một việc bạn đang lặp lại. Tiêu chí tốt: bạn đã ba lần gõ lại cùng một đoạn hướng dẫn cho Claude. Ví dụ: tóm tắt thay đổi chưa commit, viết mô tả sản phẩm theo đúng khung của bạn, kiểm bài viết theo checklist SEO nội bộ.
- Tạo thư mục. Trong Claude Code:
mkdir -p ~/.claude/skills/ten-skillcho bản dùng chung mọi dự án, hoặc.claude/skills/ten-skillnếu chỉ dùng cho dự án hiện tại. - Viết frontmatter trước, thân bài sau. Dồn công vào
description: đây là thứ quyết định Claude có gọi Skill hay không. Viết thẳng cả tình huống kích hoạt, kiểu “dùng khi người dùng hỏi có gì thay đổi, cần commit message, hoặc muốn review diff”. - Viết phần hướng dẫn ngắn gọn. Khuyến nghị chính thức: giữ thân
SKILL.mddưới 500 dòng, phần chi tiết đẩy sang file phụ. Mỗi dòng trong thân bài là token lặp lại mỗi lần Skill được gọi. - Thử cả hai đường gọi. Gọi tự động bằng cách hỏi đúng tình huống đã ghi trong mô tả; gọi thủ công bằng lệnh gạch chéo kèm tên Skill. Nếu đường tự động không ăn, vấn đề gần như luôn nằm ở
descriptionviết chưa đủ tình huống. - Rà lại chi phí. Trong Claude Code,
/skillsliệt kê các Skill đang có và/skill-doctorcho biết chi phí ngữ cảnh cùng thống kê sử dụng.
Ví dụ: một Skill cho công việc content và SEO
Giả sử bạn viết bài chuẩn SEO theo một khung cố định. Thay vì dán lại checklist mỗi lần, gói nó thành Skill:
---
name: ra-soat-bai-seo
description: Rà soát bài viết theo checklist SEO nội bộ gồm tiêu đề, meta, cấu trúc H2, bảng so sánh, FAQ và internal link. Dùng khi người dùng nhờ kiểm bài, hỏi bài đã chuẩn SEO chưa, hoặc dán một bản nháp bài viết vào.
---
# Rà soát bài SEO
## Instructions
1. Kiểm tiêu đề: có từ khóa chính, dưới 60 ký tự
2. Kiểm đoạn mở đầu: trả lời thẳng câu hỏi chính trong 100 từ đầu
3. Kiểm cấu trúc: 6-10 khối H2, mỗi H2 mở đầu bằng câu trả lời trực tiếp
4. Kiểm có ít nhất một bảng so sánh và một quy trình từng bước
5. Kiểm FAQ 5-8 câu và 3-5 internal link
6. Trả về danh sách mục đạt và mục chưa đạt, kèm cách sửa cụ thể
Chi tiết tiêu chí từng mục xem [checklist.md](checklist.md)
Hai chi tiết đáng học từ ví dụ này. Thứ nhất, phần mô tả liệt kê ba tình huống kích hoạt khác nhau chứ không chỉ một — đó là cách tăng tỷ lệ Claude tự nhận ra. Thứ hai, tiêu chí chi tiết được đẩy sang checklist.md nên thân Skill vẫn gọn, đúng tinh thần nạp theo tầng.
Trong Claude Code còn một mẹo mạnh nữa: chèn dữ liệu sống vào Skill bằng cú pháp dấu chấm than kèm lệnh trong dấu ngoặc ngược. Lệnh chạy trước khi Claude đọc nội dung Skill, nên Claude nhận về dữ liệu thật chứ không phải ví dụ cũ. Ví dụ một Skill tóm tắt thay đổi có thể tự nhúng kết quả của lệnh git diff HEAD vào ngay trong nội dung.
Chia sẻ và quản lý Skill
Skill dùng được ở nhiều nơi, nhưng phạm vi chia sẻ khác nhau — đây là chỗ dễ nhầm nhất:
| Nơi dùng | Cách nạp Skill | Phạm vi chia sẻ |
|---|---|---|
| Claude Code | File trên máy, không cần tải lên | Cá nhân hoặc theo dự án; chia sẻ qua plugin |
| claude.ai | Tải lên file zip trong phần cài đặt | Riêng từng người dùng, không dùng chung toàn tổ chức |
| Claude API | Tải lên qua các endpoint Skills | Toàn workspace, mọi thành viên đều truy cập được |
Điểm phải nhớ: Skill không tự đồng bộ giữa các bề mặt. Skill tải lên claude.ai không tự có trên API và ngược lại; Skill của Claude Code nằm trên hệ thống file, tách rời cả hai. Muốn dùng ở đâu thì nạp riêng ở đó.
Với đội nhóm, đường gọn nhất là commit thư mục .claude/skills/ vào repo — cả nhóm pull về là có chung quy trình. Cách này đặc biệt hợp với các đội nhỏ ở Việt Nam vốn hay mất thời gian vì mỗi người ra lệnh cho AI một kiểu rồi chất lượng đầu ra chênh nhau.
Lỗi thường gặp khi viết Skill
- Mô tả quá chung. Viết “giúp viết bài” thì Claude không biết khi nào nên dùng. Hãy nêu rõ tình huống kích hoạt.
- Nhồi hết vào thân bài. Thân dài là token lặp lại mỗi lần gọi. Giữ dưới 500 dòng, đẩy chi tiết sang file phụ.
- Đặt tên sai định dạng. Chỉ chữ thường, số và gạch ngang; không dùng từ “claude” hay “anthropic” trong tên.
- Để Claude tự gọi cả những Skill có tác động phụ. Với Skill kiểu deploy hay commit, đặt
disable-model-invocation: trueđể chỉ bạn gọi được. - Chỉ thử một đường gọi. Kiểm cả gọi tự động lẫn gọi thủ công mới biết mô tả đã đủ chưa.
- Dùng Skill lạ tải trên mạng. Đây là rủi ro bảo mật thật, không phải cảnh báo hình thức — xem phần dưới.
Rủi ro bảo mật cần biết trước khi cài Skill của người khác
Tài liệu Anthropic nói rất thẳng: chỉ dùng Skill từ nguồn tin cậy, tức là do bạn tự viết hoặc lấy từ Anthropic. Skill trao cho Claude năng lực mới thông qua hướng dẫn và mã, nghĩa là một Skill độc hại có thể sai khiến Claude gọi công cụ hoặc chạy code theo cách không khớp với mục đích nó tự khai.
Nếu buộc phải dùng Skill từ nguồn lạ, hãy rà toàn bộ file trong đó — SKILL.md, các script, hình ảnh và tài nguyên khác — tìm những dấu hiệu bất thường như lời gọi mạng không giải thích được hay thao tác truy cập file không liên quan tới chức năng đã nêu. Skill lấy dữ liệu từ URL bên ngoài đặc biệt rủi ro, vì nội dung tải về có thể chứa chỉ dẫn độc hại, và ngay cả Skill đáng tin ban đầu cũng có thể bị tha hóa nếu phụ thuộc bên ngoài của nó thay đổi. Cách nghĩ đúng: coi việc cài một Skill như cài một phần mềm, không phải như dán một đoạn prompt.
Câu hỏi thường gặp
Tạo Skill có cần biết lập trình không?
Không bắt buộc. Một Skill tối thiểu chỉ là file markdown có vài dòng frontmatter. Bạn chỉ cần biết code khi muốn kèm script để Claude chạy.
Skill khác gì file CLAUDE.md?
CLAUDE.md luôn được đọc ở đầu mỗi phiên và mô tả bối cảnh chung của dự án. Skill chỉ nạp khi tình huống khớp mô tả, nên hợp với các quy trình chuyên biệt dùng không thường xuyên.
Cài nhiều Skill có làm Claude chậm hoặc tốn token không?
Rất ít. Cho tới khi được kích hoạt, mỗi Skill chỉ chiếm phần tên và mô tả, khoảng 100 token. Đó chính là mục đích của cơ chế nạp theo tầng.
Skill trên claude.ai có tự xuất hiện trong Claude Code không?
Không. Skill không đồng bộ giữa các bề mặt; bạn phải nạp riêng ở từng nơi.
Skill chạy trên Claude Code có kết nối internet được không?
Có — trong Claude Code, Skill có quyền truy cập mạng ngang với mọi chương trình khác trên máy bạn. Ngược lại, Skill chạy qua Claude API nằm trong container tách biệt, không có mạng và không cài thêm gói lúc chạy.
Muốn tạm ẩn một Skill mà không xóa thì làm sao?
Trong Claude Code, đặt disable-model-invocation: true để ẩn khỏi Claude, hoặc user-invocable: false để ẩn khỏi menu lệnh của bạn. Ngoài ra còn tùy chọn skillOverrides trong settings với các mức bật, chỉ hiện tên, hoặc tắt hẳn.
Kết luận
Skills là bước nâng cấp tự nhiên sau khi bạn đã dùng Claude được vài tuần và bắt đầu thấy mình gõ lại cùng một đoạn hướng dẫn. Cách vào tốt nhất không phải viết một Skill hoành tráng, mà chọn đúng một việc bạn lặp lại nhiều nhất, viết mười lăm dòng, dùng thử một tuần rồi chỉnh phần mô tả cho tới khi Claude tự nhận ra mà không cần bạn gọi tên.
Đọc tiếp trong cụm Claude của VIGO Media: Claude Code là gì, hướng dẫn cài đặt và dùng từ A đến Z · Claude Cowork là gì và cách tự động hóa công việc · Claude Projects và Skills: chuẩn hóa quy trình. Nếu bạn muốn siết lại cách ra lệnh trước đã, bắt đầu từ cấu trúc prompt 6 lớp.
Nguồn tham khảo
- Claude Platform Docs — Agent Skills — định nghĩa, kiến trúc nạp theo tầng, ràng buộc trường name và description, phạm vi chia sẻ, cảnh báo bảo mật. Truy cập 08/09/2026.
- Claude Code Docs — Skills — vị trí thư mục, các trường frontmatter tùy chọn, chèn dữ liệu sống, lệnh quản lý Skill. Truy cập 08/09/2026.
- anthropics/skills trên GitHub — kho Skill mã nguồn mở chính thức của Anthropic. Truy cập 08/09/2026.
- Claude Code Docs — Overview — vị trí của Skills trong bộ cơ chế mở rộng cùng CLAUDE.md, hooks và MCP. Truy cập 08/09/2026.
- Claude Code Docs — MCP — bối cảnh về kết nối công cụ ngoài và rủi ro prompt injection. Truy cập 08/09/2026.
- Claude Help Center — Get started with Claude Cowork — bối cảnh dùng Skill trong phiên Cowork. Truy cập 08/09/2026.
