Ba mảnh ghép, một hệ thống
Người mới thường lẫn lộn ba khái niệm này. Hãy đặt chúng cạnh nhau bằng một phép so sánh: xây cho Claude một phòng làm việc.
| Mảnh ghép | Vai trò | Ví von |
|---|---|---|
| MCP | Kết nối tool & dữ liệu ngoài | Đôi tay + chìa khóa các phòng ban |
| Skills | Tri thức quy trình nạp theo ngữ cảnh | Sổ tay nghiệp vụ trên bàn |
| Subagents | Phiên AI riêng cho việc chuyên biệt | Đồng nghiệp được giao việc |
Kịch bản thực chiến: "Báo cáo sức khỏe dự án hàng tuần"
- MCP (GitHub + Linear): Claude lấy danh sách PR đã merge, issue đang mở, velocity sprint — dữ liệu thật, không bịa
- Skill
bao-cao-du-an: quy định cấu trúc báo cáo, ngưỡng cảnh báo (ví dụ: >5 issue blocked = 🔴), tone viết cho leadership - Subagent
risk-analyzer: được giao riêng việc soi rủi ro tiềm ẩn từ dữ liệu, trả về phân tích để tổng hợp vào báo cáo
Một câu lệnh "làm báo cáo tuần" kích hoạt cả bộ ba — mỗi mảnh làm đúng vai.
Quy tắc chọn nhanh
- Cần dữ liệu/hành động bên ngoài (đọc DB, gửi Slack, gọi API)? → MCP
- Cần làm việc theo chuẩn riêng, lặp lại nhất quán? → Skill
- Việc nặng, độc lập, cần context riêng (research sâu, review lớn)? → Subagent
Anti-pattern cần tránh
- Viết skill dạy Claude "cách gọi API thủ công" trong khi nên dựng MCP server — skill không thay được kết nối hệ thống
- Dựng MCP chỉ để nhét tài liệu tĩnh — file markdown trong skill rẻ và đơn giản hơn nhiều
- Subagent cho việc 30 giây — chi phí khởi tạo context không đáng
💡 Trong Claude Code, một skill có thể khai báo
allowed-toolsđể giới hạn skill chỉ được dùng những tool nhất định — tăng an toàn khi skill được chia sẻ cho team.
