Skill không phải Prompt, Tool hay Agent
Phân biệt instruction, skill, tool, MCP, hook, plugin, harness và sub-agent bằng runtime contract thay vì tên gọi marketing.
Skill là procedural knowledge được nạp vào context; tool là capability được runtime thực thi; harness là control plane quyết định discovery, quyền, execution và lifecycle.
Những điều cần nắm chắc
AGENTS.md là policy luôn hiện diện trong scope; skill chỉ được disclose khi task phù hợp.
Một script nằm trong skill vẫn chỉ là code trên đĩa cho đến khi harness cho phép agent chạy nó.
MCP chuẩn hóa giao tiếp với capability bên ngoài; nó không thay thế instruction về cách dùng capability đó.
Plugin là đơn vị đóng gói và phân phối; một plugin có thể chứa nhiều skill, hook và MCP server.
Nội dung bài viết
Bắt đầu từ câu hỏi: runtime làm gì với artifact này?
Tên file không quyết định semantics. Cùng một Markdown có thể là system instruction được inject mọi turn, skill được nạp theo nhu cầu, hoặc tài liệu tham khảo chỉ được đọc khi một workflow trỏ tới. Hãy phân loại bằng thời điểm nạp, chủ thể kích hoạt, quyền thực thi và vòng đời.
Skill không làm model có thêm quyền. Nó chỉ thay đổi context và quy trình ra quyết định. Quyền đọc file, gọi mạng, chạy shell hoặc tạo sub-agent vẫn thuộc harness và policy của môi trường.
- Instruction/rule: constraint mặc định trong một scope.
- Skill: workflow hoặc knowledge package được progressive-disclose.
- Tool: interface có schema để tạo observation hoặc side effect.
- Hook: callback deterministic tại lifecycle event.
- Plugin: bundle phân phối nhiều extension point.
AGENTS.md, CLAUDE.md và file instruction theo harness
AGENTS.md phù hợp với quy tắc repository phải được áp dụng thường xuyên: command chuẩn, boundary thư mục, definition of done và điều cấm. CLAUDE.md phục vụ vai trò tương tự trong Claude Code. Không nên giả định mọi harness tự đọc mọi tên file; portability cần một installer, symlink, fallback configuration hoặc file adapter rõ ràng.
Một anti-pattern phổ biến là đưa mọi runbook vào AGENTS.md. Điều đó tiêu tốn context ở cả những task không liên quan và làm instruction quan trọng bị chìm. Runbook theo tình huống nên chuyển thành skill; invariant có thể kiểm tra tự động nên chuyển thành lint, test hoặc hook.
Skill + Tool mới tạo thành capability vận hành được
Skill có thể dạy agent khi nào gọi database tool, cách giới hạn query và cách xác minh kết quả. Tool mới là thành phần nhận arguments, thực thi query và trả observation. Nếu chỉ có tool, agent thiếu domain workflow; nếu chỉ có skill, agent không có capability thực thi.
MCP cung cấp protocol để client khám phá và gọi tools/resources/prompts. Một skill có thể tham chiếu MCP tool nhưng authorization, consent và isolation vẫn phải nằm ngoài lời văn của skill.
Code & cấu trúc tham khảo
Decision table tối thiểu
1Need Artifact2Always-on repository rule AGENTS.md / CLAUDE.md3Situational expert workflow Skill4Deterministic enforcement Test / lint / hook5External side effect Tool / MCP server6Installable extension bundle Plugin7Independent delegated work Sub-agent + task contractTakeaway: Chọn artifact theo lifecycle và quyền, không theo việc tên nào đang thịnh hành.
Tài liệu đọc thêm
Repo, đặc tả và bài viết gốc để đi sâu sau bài học.
Agent Skills specification
Đặc tả cấu trúc SKILL.md, resources và progressive disclosure.
Model Context Protocol
Protocol kết nối agent host với tools, resources và prompts.
Custom instructions with AGENTS.md
Discovery chain và precedence của instruction trong Codex.
Anthropic — Building effective agents
Phân biệt workflow, agent và tool orchestration bằng complexity ladder.
OpenAI — MCP and Connectors
Capability integration và trust boundary của remote MCP servers.