Quay lại blog

AI cho người mớiHướng dẫn

Agent skill (SKILL.md) là gì và cách kiểm tra một skill

Một skill là thư mục chứa tệp SKILL.md mà agent chỉ tải khi cần. Nó khác gì so với prompt, tốn bao nhiêu token, và cách kiểm tra một skill.

Bởi CheapTokens TeamĐã xuất bản 8 phút đọc

Header của tệp SKILL.md với các trường tên và mô tả
Trên trang này
  1. Skill là gì, và khác gì so với prompt
  2. Cách một skill vào context window
  3. Viết một skill tối giản trong hai phút
  4. Skill, AGENTS.md, MCP: cái nào là cái nào
  5. Kiểm tra một skill bên thứ ba trước khi cài

Một skill là một thư mục chứa tệp SKILL.md nằm ở nơi coding agent của bạn tìm kiếm. Agent chỉ đọc tệp khi yêu cầu của bạn khớp với nó. Cho đến lúc đó, skill chỉ tốn khoảng một trăm token, trong khi một prompt đi kèm mọi tin nhắn bạn dán nó vào.

Bạn có lẽ đã gặp từ này trong một README: "cài skill, rồi bảo agent...". Không có gì bí ẩn. Dưới đây: bên trong có gì, khi nào nó vào context window, và cách xem xét một skill trước khi cho nó lên máy bạn.

Skill là gì, và khác gì so với prompt#

Tài liệu Agent Skills của Anthropic (kiểm tra ngày 30 tháng 10 năm 2026) mô tả skill là một tài nguyên tái sử dụng dựa trên hệ thống tệp: một thư mục chứa tệp SKILL.md, cùng các script, template và tệp tham chiếu tùy chọn. SKILL.md mở đầu bằng một header YAML nhỏ (tên và mô tả) và tiếp theo là các hướng dẫn dạng văn bản thuần.

Hãy nghĩ đến một đồng nghiệp mới. Một prompt là bạn đứng sau ghế họ và lặp lại các quy tắc mỗi sáng. Một skill là một cuốn sổ trên kệ với nhãn ở gáy: "Phong cách commit message. Đọc khi ai đó bảo bạn commit." Họ chỉ lấy nó xuống khi cần.

Thẻ ghi nhớ

Những từ bạn sẽ gặp trong mọi README của skill

Hai trường header là bắt buộc, và định dạng có các quy tắc. Trong định dạng Skills của Claude, name dài tối đa 64 ký tự: chữ thường, chữ số và dấu gạch nối, và không được chứa các từ "anthropic" hay "claude". description không được để trống, giới hạn 1.024 ký tự, và phải nói cả skill làm gì lẫn khi nào dùng.

Một thư mục skill: SKILL.md cùng template và script tùy chọn
Hình dạng của một skill: một tệp bắt buộc, mọi thứ khác là tùy chọn.

Cách một skill vào context window#

Tài liệu gọi đây là progressive disclosure: agent đọc một skill theo ba giai đoạn, và mỗi giai đoạn chỉ phải trả phí nếu được chạm tới.

  • Cấp 1, luôn được tải. Tên và mô tả của mọi skill đã cài, khoảng 100 token mỗi skill.
  • Cấp 2, khi được kích hoạt. Phần thân của SKILL.md, dưới 5.000 token.
  • Cấp 3, chỉ khi cần. Các tệp và script đi kèm. Khi agent chạy một script, mã của script không vào context, chỉ có đầu ra của nó.

Các con số token là ước lượng trong tài liệu, không phải số đếm chính xác.

Sắp xếp thứ tự

Sắp xếp ba giai đoạn theo thứ tự agent gặp chúng

  1. Agent khởi động và đọc tên cùng mô tả của mọi skill đã cài
  2. Yêu cầu của bạn khớp với một mô tả, nên phần thân SKILL.md được đọc
  3. Hướng dẫn nhắc đến một script hoặc template, nên tệp đó được dùng
Ba cấp tải: tên và mô tả, phần thân SKILL.md, các tệp đi kèm
Mỗi cấp chỉ được đọc nếu cấp trước đó quyết định là cần.

Đây là lý do điều này quan trọng với hóa đơn của bạn. Giả sử bạn đã cài 20 skill. 20 × 100 = 2.000 token đi kèm từ tin nhắn đầu tiên. Agent gửi lại context ở mỗi bước (ví dụ 20 bước cho thấy lý do), nên một phiên 50 bước mang theo 50 × 2.000 = 100.000 token đầu vào của nhãn skill. Trên DeepSeek-V4-Flash đó là $0.0015 theo giá hiện tại.

Giờ theo chiều ngược lại. Nếu hai mươi skill đó được dán thành một prompt lớn, mỗi phần thân sẽ nằm trong mọi yêu cầu: tối đa 20 × 5.000 = 100.000 token mỗi yêu cầu, chứ không phải mỗi phiên. Khoảng cách đó chính là toàn bộ ý nghĩa của việc tải theo nhu cầu. Nếu thuật ngữ "context window" vẫn còn mơ hồ, bài giải thích này đề cập những gì lấp đầy nó.

Skill nằm trong context, nên model đứng sau agent cần đủ chỗ cho chúng. DeepSeek-V4-Flash trên CheapTokens (id deepseek-ai/DeepSeek-V4-Flash-0731) có context window 380K và tối đa 32.768 token đầu ra mỗi câu trả lời, một mức giá bất kể thời điểm trong ngày, và API tương thích với OpenAI và Anthropic. Với agent dòng lệnh, hãy làm theo cách kết nối Claude Code với CheapTokens; với bất kỳ công cụ nào khác, bắt đầu từ tài liệu. Trang riêng của model ở đây.

Viết một skill tối giản trong hai phút#

Đọc sẽ dễ hơn sau khi viết một cái. Skill này khiến agent viết commit message theo một định dạng cố định. Trong Claude Code, skill cá nhân nằm ở ~/.claude/skills/ và skill dự án ở .claude/skills/, nên một skill dự án có thể đi cùng repository.

bash
mkdir -p ~/.claude/skills/commit-message-style
nano ~/.claude/skills/commit-message-style/SKILL.md   # or any editor

Dán đoạn này vào tệp:

markdown
---
name: commit-message-style
description: Writes git commit messages in this project's format. Use when the user asks to commit, to write a commit message, or to summarize staged changes.
---

# Commit message style

1. Run `git diff --staged` and read it.
2. First line: `type(scope): summary`, at most 72 characters. Types: feat, fix, docs, refactor, test.
3. Blank line, then up to three bullets that say why the change was made, not what changed.
4. Do not put file names in the first line.

Giờ mở agent trong một repository có thay đổi đã stage và hỏi: "viết commit message cho những gì tôi đã stage". Agent thấy mô tả, quyết định nó khớp, đọc bốn quy tắc và làm theo. Nếu nó bỏ qua skill, hãy xem description trước: nó phải nêu tình huống, ở đây là "commit", bằng đúng những từ bạn thực sự dùng.

Một lưu ý: skill không đồng bộ giữa claude.ai, API và Claude Code. Một skill bạn tạo ở một nơi phải được thêm vào các nơi khác riêng.

Skill, AGENTS.md, MCP: cái nào là cái nào#

Ba thứ này luôn bị nhầm lẫn. Một tệp quy tắc như AGENTS.md hay CLAUDE.md được đọc ở đầu phiên và chứa các sự kiện về dự án (cách tệp đó có thể hỏng trong thư mục Downloads). Một MCP server cung cấp cho agent công cụ và dữ liệu mới để tiếp cận (MCP nói đơn giản). Một skill là một quy trình: cách làm một loại việc, được tải khi việc đó xuất hiện.

Kiểm tra nhanh

Bạn đã cài 20 skill và hôm nay không dùng cái nào. Chúng tốn của bạn bao nhiêu trong context?

Hiện đáp án

Trả lời: Khoảng 100 token mỗi cái, cho tên và mô tả

Tên và mô tả luôn được tải (khoảng 100 token mỗi skill, theo tài liệu). Phần thân chỉ tải khi một skill được kích hoạt, và mã script không bao giờ vào context, chỉ có đầu ra của nó.

Kiểm tra một skill bên thứ ba trước khi cài#

Một skill là văn bản agent làm theo, và đôi khi là mã agent chạy. Tài liệu khuyên chỉ dùng skill từ nguồn tin cậy, kiểm tra mọi tệp đi kèm (SKILL.md, script, tài nguyên), và tìm các cuộc gọi mạng hay truy cập tệp bất thường. Skill tải URL bên ngoài thì rủi ro hơn. Trong Claude Code, một skill có cùng quyền truy cập mạng như bất kỳ chương trình nào trên máy bạn, nên hãy đối xử với việc cài đặt như cài phần mềm.

Một mẫu tốt là universal-modder, một bộ công cụ mod game. README của nó (kiểm tra ngày 30 tháng 10 năm 2026) mô tả một bộ skill giấy phép MIT theo định dạng Agent Skills, một CLI Python tên um, một MCP server để tạo tài nguyên qua fal, và một cơ sở tri thức chung gồm các ghi chú thực địa. Skill chính, mod-any-game, bao gồm trinh sát, reverse engineering, tạo tài nguyên, kiểm thử trong game và đóng gói. README liệt kê Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot và OpenCode là các công cụ được hỗ trợ, và nói bộ công cụ từ chối vượt qua anti-cheat hay DRM. Trong Claude Code nó cài bằng /plugin marketplace add rehan-remade/universal-modder, và việc tạo tài nguyên cần một API key fal riêng.

Hãy để ý danh sách đó chứa gì: skill, một chương trình dòng lệnh và một server. Đọc một SKILL.md sẽ chỉ bao quát một phần nhỏ những gì bạn đang cài. Vậy hãy đi qua từng phần:

Danh sách kiểm tra

Trước khi bạn cài skill của người khác

Quy tắc then chốt nằm trong cách lưu trữ API key an toàn. Trang repository không hiển thị ngày commit cuối, nên hãy kiểm tra dự án được cập nhật gần đây đến mức nào trước khi bạn dựa vào nó.