Claude Code Skills là gì? Toàn tập cho người mới (2026)
Claude Code Skills là gì? Skill là một gói hướng dẫn dạng thư mục chứa file SKILL.md (frontmatter description + phần thân markdown) giúp mở rộng khả năng của Claude Code cho một việc cụ thể - ví dụ review code, tối ưu ảnh hay deploy. Claude tự gọi skill khi ngữ cảnh phù hợp, hoặc bạn gõ tay /ten-skill. Điểm hay nhất: skill chỉ nạp phần thân vào ngữ cảnh khi thực sự cần nên tiết kiệm token. Skills tuân theo chuẩn mở Agent Skills.
kiểm chứng với tài liệu chính thức code.claude.com/docs/en/skills (truy cập 09/08/2026).
Claude Code Skills là gì?
Nếu bạn đã dùng Claude Code được một thời gian, chắc bạn từng ước gì Claude "nhớ" cách bạn muốn nó làm một việc lặp đi lặp lại - kiểu như "mỗi lần review code thì check theo checklist này", hay "khi tối ưu ảnh thì chạy đúng những lệnh kia". Đó chính là bài toán mà Skills giải quyết.
Claude Code Skills là những gói kỹ năng đóng gói dưới dạng thư mục, mỗi thư mục chứa một file SKILL.md mô tả cho Claude biết khi nào dùng và làm thế nào để thực hiện một tác vụ cụ thể. Bạn có thể hình dung skill như một "tờ hướng dẫn nghề" mà bạn dán lên tường: Claude đọc tiêu đề để biết có tờ nào phù hợp, rồi mới lật ra đọc chi tiết khi cần dùng.
Mỗi skill gồm hai phần cốt lõi:
- Frontmatter
description- một dòng mô tả ngắn nói rõ skill làm gì và khi nào nên kích hoạt. Đây là phần Claude luôn "nhìn thấy". - Phần thân (body) markdown - hướng dẫn chi tiết, các bước, quy ước, ví dụ. Phần này chỉ được đọc khi skill được gọi.
Skills không phải phát minh riêng của Claude Code. Chúng tuân theo chuẩn mở Agent Skills (agentskills.io) - nghĩa là cùng một định dạng SKILL.md có thể dùng ở nhiều bề mặt khác nhau của Claude, và về lý thuyết cả các công cụ khác hỗ trợ chuẩn này. Nhờ vậy skill bạn viết một lần có thể tái sử dụng, chia sẻ cho đồng đội, hoặc cài từ một bộ kit dựng sẵn.
Skill hoạt động thế nào? (progressive disclosure)
Đây là phần quan trọng nhất để hiểu vì sao skills đáng dùng, chứ không chỉ là "một cách lưu prompt cho gọn". Cơ chế cốt lõi tên là progressive disclosure - tiết lộ dần thông tin.
Khi Claude Code khởi động, nó không nạp toàn bộ nội dung mọi skill vào ngữ cảnh. Thay vào đó, nó chỉ nạp phần description ngắn của từng skill - đủ để biết "à, mình đang có một skill review code, một skill deploy, một skill tối ưu ảnh". Chỉ khi một tác vụ khớp với mô tả đó, Claude mới đọc full phần thân của skill tương ứng để làm theo.
So sánh cho dễ hiểu: nếu bạn nhồi tất cả quy ước vào file CLAUDE.md, mọi thứ đều nằm trong ngữ cảnh mọi lúc - kể cả những hướng dẫn 90% thời gian không dùng tới, và bạn vẫn trả token cho chúng ở mỗi lượt. Với skills, "chi phí thường trực" chỉ là vài dòng description; phần nặng chỉ vào ngữ cảnh đúng lúc cần. Đây là lý do skills giúp tiết kiệm token mà vẫn giữ được kho hướng dẫn lớn.
Có hai cách một skill được kích hoạt:
- Tự động (auto) - Claude tự đối chiếu yêu cầu của bạn với
descriptioncủa các skill và tự quyết định gọi skill nào. Bạn không cần làm gì, chỉ cần mô tả trong skill đủ rõ. - Gõ tay
/ten-skill- bạn chủ động gọi một skill cụ thể bằng slash command, ví dụ/code-review. Cách này hữu ích khi bạn muốn ép Claude đi đúng quy trình.
Chính vì Claude dựa vào description để tự chọn, nên chất lượng mô tả quyết định skill có được kích hoạt đúng lúc hay không. Một mô tả mơ hồ kiểu "giúp việc với ảnh" sẽ khiến Claude ngập ngừng; một mô tả rõ trigger như "dùng khi cần chuyển PNG sang WebP và nén dưới 200KB" thì gần như bấm đúng mỗi lần.
Cấu trúc một Skill (SKILL.md)
Về mặt file, một skill đơn giản đến bất ngờ: nó chỉ là một thư mục có tên bằng slug của skill, bên trong bắt buộc có file SKILL.md. Ngoài ra bạn có thể thêm file phụ tuỳ ý - template, script, ví dụ - để skill tham chiếu tới khi chạy:
~/.claude/skills/toi-uu-anh-web/
├── SKILL.md (bắt buộc)
├── template.md (tuỳ chọn - mẫu output)
├── examples/ (tuỳ chọn - ví dụ tham khảo)
└── scripts/convert.sh (tuỳ chọn - script hỗ trợ)
Nơi bạn đặt thư mục skill quyết định phạm vi áp dụng của nó. Claude Code tìm skill ở nhiều vị trí, theo thứ tự ưu tiên:
| Vị trí | Đường dẫn | Phạm vi |
|---|---|---|
| Enterprise | (quản trị tổ chức cấu hình) | Áp cho toàn tổ chức, ưu tiên cao nhất |
| Cá nhân | ~/.claude/skills/ | Dùng ở mọi project trên máy bạn |
| Dự án | .claude/skills/ | Chỉ trong repo đó, commit chung cho cả team |
| Plugin | (đi kèm plugin đã cài) | Do plugin cung cấp |
Còn nội dung SKILL.md thì tối giản như thế này - đây là một skill thật có thể chạy được:
---
description: Chuyển ảnh PNG sang WebP và nén dưới 200KB. Dùng khi user cần tối ưu ảnh cho web.
---
# Tối ưu ảnh web
Khi được yêu cầu tối ưu một ảnh:
1. Chạy `cwebp -q 80 input.png -o output.webp`.
2. Kiểm tra dung lượng file kết quả. Nếu vẫn > 200KB, giảm chất lượng
xuống `-q 70` rồi chạy lại.
3. Báo lại đường dẫn file mới và dung lượng cuối cùng.
Chỉ vậy thôi. Frontmatter cho Claude biết khi nào dùng, phần thân cho biết làm thế nào. Nếu bạn muốn đi sâu từng bước tạo skill (đặt tên, viết trigger tốt, thêm script), phần đó thuộc bài cách tự tạo một custom skill - bài này chỉ dừng ở mức bản đồ.
Skills khác Commands, Plugins, Subagents, Hooks, MCP thế nào?
Đây là chỗ nhiều người mới bối rối nhất - và cũng là nơi phần lớn bài viết tiếng Việt bỏ trống. Claude Code có cả một họ khái niệm nghe na ná nhau. Dưới đây là bảng phân biệt nhanh, mỗi khối một hai câu để bạn định vị:
| Khái niệm | Nó là gì | Quan hệ với Skills |
|---|---|---|
| Commands | Slash command tuỳ biến (/deploy…) | Đã gộp vào Skills từ 2026: giờ .claude/skills/deploy/SKILL.md cũng tạo ra lệnh /deploy. Command kiểu cũ vẫn chạy được. |
| Plugins | Gói phân phối đóng gói nhiều thứ | Là "hộp" để đóng gói & chia sẻ skills kèm cả agents, hooks, MCP trong một lần cài. |
| Subagents | Tác nhân phụ, ngữ cảnh riêng biệt | Là "người làm việc" tách context; một skill có thể được chạy trong subagent để không chiếm ngữ cảnh chính. |
| Hooks | Script tự chạy quanh sự kiện | Tự động kích hoạt theo sự kiện (trước/sau khi gọi tool), không phải theo ngữ nghĩa yêu cầu như skill. |
| MCP | Giao thức kết nối tool/dữ liệu ngoài | Là "đường ống" nối Claude tới hệ thống bên ngoài; skill là hướng dẫn cách dùng, MCP là kết nối. |
Cột đáng chú ý nhất là Commands. Trước đây Claude Code tách riêng "custom commands" (file trong .claude/commands/) và skills. Từ 2026, custom commands đã được hợp nhất vào Skills - một file SKILL.md vừa cho Claude tự gọi theo description, vừa tạo ra slash command cùng tên (theo tài liệu Skills chính thức, truy cập 09/08/2026). Nhiều bài hướng dẫn tiếng Việt viết từ đầu 2025 vẫn dạy theo mô hình cũ, nên nếu bạn thấy chỗ nào tách bạch "commands" với "skills" như hai thứ hoàn toàn khác, hãy nhớ mốc gộp này.
Nếu bạn muốn mổ xẻ kỹ ranh giới giữa năm khái niệm này, mình có một bài riêng: phân biệt skills, subagents, hooks & MCP chi tiết. Còn từng khối thì có spoke riêng: hướng dẫn subagents cho người mới, Claude Code hooks, MCP là gì, và slash commands trong Claude Code.
Claude Skills (app) vs Claude Code Skills (CLI) - khác nhau không?
Một điểm dễ gây nhầm: bạn sẽ thấy cụm "Claude Skills" xuất hiện ở hai nơi và tưởng là hai công nghệ khác nhau. Thực ra chúng cùng một chuẩn, chỉ khác bề mặt.
- Claude Skills (trong app) - skills dùng trong ứng dụng Claude ở claude.ai hoặc app desktop, phục vụ hội thoại và tác vụ thường ngày.
- Claude Code Skills (trong CLI) - skills dùng trong công cụ dòng lệnh
claudedành cho lập trình, chính là thứ bài này đang nói.
Cả hai đều xây trên cùng chuẩn mở Agent Skills với định dạng SKILL.md giống nhau về ý tưởng. Khác biệt nằm ở bối cảnh: skill cho CLI thường liên quan tới file, lệnh terminal, quy trình dev; còn skill trong app nghiêng về xử lý tài liệu, nội dung. Khi tìm tài liệu, cứ để ý bạn đang đọc về bề mặt nào để không áp nhầm hướng dẫn.
Dùng skill có sẵn & tạo skill đầu tiên
Tin vui cho người mới: bạn không cần viết skill nào cũng đã có sẵn một số để dùng ngay. Claude Code ship kèm một bộ bundled skills - gõ / trong terminal là thấy. Vài cái hay dùng gồm /code-review (soát diff/PR), /run (chạy và kiểm tra app), /security-review, cùng các skill khởi tạo dự án. Danh sách chính xác tuỳ phiên bản, cứ mở menu / để xem cái nào có trên máy bạn.
Muốn tự tạo một skill nhanh, quy trình chỉ ba bước:
# 1. Tạo thư mục skill trong home (dùng cho mọi project)
mkdir -p ~/.claude/skills/tao-changelog
# 2. Viết file SKILL.md
# (frontmatter description + vài bước hướng dẫn)
# 3. Mở Claude Code, gõ /tao-changelog hoặc để Claude tự gọi
Ví dụ nội dung tối thiểu cho ~/.claude/skills/tao-changelog/SKILL.md:
---
description: Sinh changelog từ các commit git gần đây theo nhóm feat/fix/docs.
---
# Tạo changelog
1. Chạy `git log --oneline` cho các commit chưa release.
2. Gom theo tiền tố conventional commit (feat, fix, docs, chore).
3. Xuất markdown, nhóm rõ ràng, câu ngắn gọn.
Mình cố tình để phần này ngắn vì nó chỉ là "nếm thử". Toàn bộ hướng dẫn chi tiết - viết trigger tốt, thêm script, debug skill không kích hoạt - nằm ở bài cách tự tạo một custom skill.
Skills dựng sẵn: hệ sinh thái & bộ kit
Tự viết từng skill rất hay khi bạn muốn "may đo" đúng quy trình riêng. Nhưng nếu cần một kho skill chất lượng cho công việc thường gặp (frontend, backend, database, DevOps, code review…) mà không muốn viết lại từ đầu, bạn có thể cài một bộ kit skills dựng sẵn.
Một lựa chọn phổ biến là AgentKit có 108+ skills dựng sẵn cho Claude Code (cài qua CLI ak). Thay vì gõ tay từng SKILL.md, bạn cài kit và có ngay một loạt skill theo quy ước thống nhất, kèm cập nhật trọn đời. Nếu muốn xem đầy đủ có những gì, mình có bài tổng quan 108+ skills của AgentKit. Bạn có thể xem AgentKit (giảm 20% qua link) để tự đối chiếu - Engineer Kit hiện niêm yết $99, trang không nêu phí định kỳ.
Lỗi & lưu ý thường gặp khi dùng skills
Skills rất tiện nhưng không phải "cài là chạy hoàn hảo". Đây là những chỗ mình hay vấp và cách xử lý:
- Skill không tự kích hoạt. Nguyên nhân số một là
descriptionviết mờ. Claude chọn skill dựa hoàn toàn vào mô tả này, nên hãy nêu rõ khi nào dùng và làm gì. Nếu vẫn không tự gọi, cứ gõ tay/ten-skillđể ép. - Cài quá nhiều skill làm loãng lựa chọn. Khi có hàng chục skill, phần mô tả hiển thị có thể bị cắt và Claude khó phân biệt cái nào hợp. Giữ số skill vừa phải, đặt tên và mô tả khác biệt rõ ràng; công cụ chẩn đoán
/doctorgiúp phát hiện cấu hình lỗi. - Skill đã nạp sẽ nằm trong ngữ cảnh cả phiên. Progressive disclosure tiết kiệm token ở phần "chưa dùng", nhưng khi một skill đã được gọi thì phần thân của nó vào ngữ cảnh và ở lại. Vì vậy hãy giữ body skill ngắn gọn, tập trung - đẩy nội dung dài (ví dụ, tài liệu tham chiếu) sang file phụ và chỉ trỏ tới khi cần.
- Đừng nhồi mọi thứ thành skill. Quy ước áp dụng cho mọi lượt (coding style chung của repo) vẫn nên ở CLAUDE.md; skill hợp với quy trình theo tác vụ. Chọn đúng chỗ mới tối ưu được token.
Câu hỏi thường gặp (FAQ)
Skills có miễn phí không?
Bản thân tính năng Skills là một phần của Claude Code, bạn dùng và tự viết skill không mất thêm phí ngoài chi phí Claude Code bạn đang trả (ví dụ gói Pro $20/tháng). Chi phí chỉ phát sinh nếu bạn mua một bộ kit skills dựng sẵn của bên thứ ba.
Skills khác Plugin thế nào?
Skill là một đơn vị hướng dẫn (một SKILL.md). Plugin là gói phân phối lớn hơn, có thể chứa nhiều skill kèm cả subagents, hooks, MCP, để cài và chia sẻ trọn gói. Nói ngắn: plugin là cái hộp, skill là món bên trong.
Skills khác Subagent thế nào?
Skill là hướng dẫn "làm việc này thế nào". Subagent là một tác nhân phụ chạy với ngữ cảnh tách biệt. Chúng bổ sung cho nhau: một skill có thể được thực thi bên trong một subagent để không chiếm ngữ cảnh chính.
Có cần biết code để tạo skill không?
Không nhất thiết. SKILL.md chủ yếu là markdown mô tả bằng lời - bạn viết được nếu diễn đạt rõ ràng các bước. Biết chút terminal sẽ giúp khi skill cần gọi script, nhưng nhiều skill hữu ích chỉ toàn hướng dẫn văn bản.
Skills chạy trên Windows được không?
Được. Claude Code hỗ trợ Windows, và skills chỉ là file SKILL.md trong thư mục nên hoạt động đa nền tảng. Lưu ý nếu skill của bạn gọi lệnh terminal thì lệnh đó cần đúng cho môi trường Windows (hoặc dùng qua WSL/Git Bash).
Claude Code Skills khác Claude Skills (app) ra sao?
Cùng chuẩn mở Agent Skills, khác bề mặt sử dụng. Claude Code Skills dùng trong CLI cho lập trình; Claude Skills (app) dùng trong claude.ai hoặc app desktop cho tác vụ hội thoại/tài liệu. Cách viết SKILL.md tương tự nhau về ý tưởng.
Kết luận + bước tiếp theo
Tóm lại, Claude Code Skills là cách gọn gàng để "dạy nghề" cho Claude theo từng tác vụ: một thư mục, một SKILL.md, kích hoạt tự động hoặc bằng /ten-skill, và tiết kiệm token nhờ progressive disclosure. Hiểu skill rồi, bạn nên đi tiếp: đọc phân biệt skills, subagents, hooks & MCP chi tiết để nắm cả họ khái niệm, xem hướng dẫn subagents cho người mới, rồi bắt tay tự tạo custom skill đầu tiên. Nếu muốn khởi đầu nhanh với kho skill dựng sẵn, tham khảo review AgentKit - kit skills cho Claude Code để cân nhắc trước khi tự viết.