Agent Skills: Tại sao nên cân nhắc xây dựng Skills trước thay vì Agents?

Tản mạn dev: Khi AI thông minh nhưng thiếu... kinh nghiệm
Có những hôm đang code ngon lành, tự nhiên gặp một yêu cầu… "audit toàn bộ codebase theo best practice dự án rồi sinh report", "parse nội dung các bills PDF cho vào excel theo format đặc biệt"…
Anh em dev bình thường sẽ thở dài: "Làm gì mà phải lặp lại quy trình y chang nhau hoài vậy trời?"
Vấn đề không phải AI không đủ thông minh. Claude, GPT hay Gemini đều thông minh xuất chúng rồi (hehe). Nhưng thực ra:
Agents ngày nay giống như một thiên tài toán học vừa tốt nghiệp. Thông minh thì thông minh, nhưng thiếu kinh nghiệm thực chiến.
Bạn muốn ai làm thuế cho mình? Một thiên tài toán IQ 300 hay một kế toán 10 năm kinh nghiệm?
Mình chọn cả 2 =)). Không muốn thiên tài đó ngồi tính toán luật thuế 2025 từ đầu. Mình cần sự nhất quán, đáng tin cậy và chuyên môn sâu.
Đây chính là lý do Anthropic tạo ra Agent Skills – một cách hoàn toàn mới để đóng gói procedural knowledge (kiến thức quy trình) cho AI agents.
1. Vấn đề: Agents thông minh nhưng thiếu chuyên môn

Hãy tưởng tượng bạn đang build một AI agent để làm việc với dữ liệu y tế, xử lý thanh toán, hay quản lý dự án nội bộ.
Agents hiện nay như thế nào?
- Brilliant – IQ cực cao, reasoning tốt
- Flexible – làm được nhiều thứ
- Fast learner – đọc docs nhanh
Nhưng còn thiếu gì?
- Thiếu context tổ chức (công ty bạn làm việc kiểu gì)
- Thiếu best practices (quy trình chuẩn như thế nào)
- Thiếu domain expertise (nghiệp vụ chuyên sâu)
- Không học từ kinh nghiệm (mỗi lần lại phải hướng dẫn lại từ đầu)
Nói cách khác:
"Agents giống như intern tài năng, nhưng mỗi sáng đến công ty lại quên sạch những gì đã học hôm qua."
Bạn phải:
- Giải thích lại workflow
- Nhắc lại edge cases
- Sửa lại output format
- Remind lại context lần nữa… và lần nữa… và lần nữa
Mệt.
2. Skills là gì? Đóng gói chuyên môn vào "thư mục"

Anthropic giới thiệu một khái niệm cực kỳ đơn giản nhưng mạnh mẽ:
Agent Skills = Organized folders chứa procedural knowledge
Nói thẳng ra: Skills chỉ là... thư mục.
my-skill/
├── SKILL.md # Hướng dẫn chi tiết + workflow
├── scripts/ # Python/Bash scripts làm tools
├── references/ # Docs, examples
└── assets/ # Templates, files mẫu
Tại sao lại đơn giản thế?
Bởi vì Anthropic muốn:
- Bất kỳ ai cũng tạo được (không cần dev)
- Bất kỳ agent nào cũng dùng được
- Version được bằng Git
- Share được qua Google Drive, zip file
- Chạy được ở mọi nơi có filesystem
Hãy tưởng tượng Skills như một cuốn sổ tay hướng dẫn mà bạn đưa cho nhân viên mới:
"Khi làm task X, đọc file này. Khi gặp vấn đề Y, chạy script này. Khi cần format Z, dùng template này."
Claude đọc SKILL.md giống như một senior dev đọc onboarding docs. Nó hiểu ngay:
- Task này làm sao
- Tools nào cần dùng
- Edge cases ra sao
- Output format thế nào
3. Skills khác Tools như thế nào?

Đây là điểm cực kỳ quan trọng mà nhiều người hay nhầm.
Skills ≠ Tools
| Khía cạnh | Skills | Tools (MCP) |
|---|---|---|
| Bản chất | Instruction + Workflow | Execution + Connectivity |
| Vai trò | "Làm thế nào" (How) | "Làm cái gì" (What) |
| Ví dụ | "Cách parse PDF theo chuẩn công ty" | pdftotext, Read, Write |
| Nội dung | Markdown + Scripts | Code chạy được |
| Mục đích | Tăng expertise | Tăng capabilities |
Nói cho dễ nhớ:
Skills là thứ làm Claude thông minh hơn. Tools là thứ Claude dùng để hành động.
Ví dụ thực tế:
Khi bạn cần Claude xử lý PDF:
Với Tools (MCP):
Claude → gọi tool pdftotext → nhận text → xử lý thủ công
Với Skills:
Claude → đọc SKILL.md "pdf-processing"
→ hiểu workflow: check file → extract text → clean data → format output
→ dùng tools đúng cách
→ xử lý edge cases (PDF bị lỗi, có password, nhiều pages)
→ output đúng format mong muốn
Skills điều phối tools. Không phải thay thế.
4. Code as Tools: Scripts trong Skills

Một điểm hay của Skills là scripts có thể làm tools.
Trước đây, traditional tools có nhiều vấn đề:
- Instructions mơ hồ – model không hiểu rõ
- Không sửa được – khi tool lỗi, agent bó tay
- Luôn trong context – chiếm token liên tục
Code giải quyết:
- Self-documenting – code tự giải thích
- Modifiable – agent có thể sửa nếu cần
- Lives in filesystem – chỉ load khi dùng
Ví dụ thực tế:
"Mình thấy Claude viết đi viết lại cùng một đoạn Python script để style slides. Vậy thì bảo nó lưu vào skill luôn."
# scripts/style_slides.py
# Script tự động apply company branding lên slides
def apply_company_style(slide_path):
# Load template
# Apply colors, fonts, logo
# Export styled version
pass
Lần sau cần style slides:
Claude: "Chạy script style_slides.py với file này"
Không cần viết lại. Không cần nhớ logic. Chỉ cần... chạy.
Những việc lặp đi lặp lại theo 1 style mình cũng hay đóng gói lại thành 1 skill như: review code cho dự án, figma to code, viết blogs theo style cá nhân mình ^^
5. Progressive Disclosure: Bí quyết giữ context sạch

Một skill có thể chứa rất nhiều thông tin:
- Hướng dẫn dài
- Scripts phức tạp
- References nhiều
Vậy làm sao không làm tràn context window?
Anthropic dùng kỹ thuật Progressive Disclosure:
Cách hoạt động:
Bước 1: Startup
Context chỉ chứa:
- Tên skill: "pdf-processing"
- Description: "Extract and process PDF files"
Bước 2: Khi cần skill
User: "Parse file report.pdf này giúp tôi"
Claude: "Tôi thấy có skill 'pdf-processing', cho tôi dùng nhé?"
→ Load SKILL.md vào context
Bước 3: Trong quá trình chạy
SKILL.md hướng dẫn:
"Nếu cần clean text → đọc scripts/clean_text.py"
→ Chỉ load script khi thực sự cần
Kết quả:
- Context luôn gọn
- Skills có thể rất phức tạp
- Agent chỉ đọc những gì cần thiết
Giống như bạn không đọc hết sách giáo khoa. Bạn chỉ mở trang cần thiết khi làm bài tập.
6. Ba loại Skills: Foundational, Third-party, Enterprise

Sau 5 tuần ra mắt, ecosystem của Skills đã phát triển cực nhanh với hàng ngàn skills.
6.1. Foundational Skills
Là gì: Skills cung cấp capabilities mới mà Claude chưa có sẵn.
Ví dụ:
- Document Skills (từ Anthropic) – tạo và edit Word, PowerPoint, Excel chuyên nghiệp
- Scientific Research Skills (từ Cadence) – phân tích EHR data, dùng Python bioinformatics libraries
Khi nào dùng: Khi bạn cần Claude làm việc hoàn toàn mới, không có trong training data.
6.2. Third-party Skills
Là gì: Skills do partners/ecosystem build để dùng tools của họ tốt hơn.
Ví dụ:
- Browserbase Skill – navigate web tự động với Stagehand
- Notion Skills – deep research trong Notion workspace
Khi nào dùng: Khi bạn dùng tools/platforms bên thứ 3 và muốn Claude hiểu rõ cách dùng.
6.3. Enterprise Skills
Là gì: Skills nội bộ công ty, mã hóa best practices riêng.
Ví dụ thực tế từ Fortune 100:
- Skills về quy trình onboarding nhân viên
- Skills về cách dùng internal tools (Salesforce custom setup)
- Skills về code style guide nội bộ (cho dev team 10,000+ người)
Khi nào dùng: Khi bạn muốn Claude làm việc theo "cách của công ty bạn", không phải cách chung chung.
Mình cũng hay dùng bộ skills này cho công việc coding hằng ngày, thấy rất hiệu quả, nếu mọi người có thời gian thì cứ nghiên cứu dùng thử: https://github.com/obra/superpowers
7. Skills + MCP: Kiến trúc General Agent
Một insight rất hay và mình xem được trong một seminar:
"Chúng tôi nghĩ mỗi domain sẽ cần một agent riêng. Nhưng hóa ra agent có thể general hơn nhiều."
Kiến trúc đang hội tụ về:
┌─────────────────────────────────────┐
│ General Agent (Claude Code) │
│ - Agent loop (context management) │
│ - Runtime (filesystem, code exec) │
└─────────────────────────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ MCP Servers │ │ Skills Lib │
│ - GitHub │ │ - Finance │
│ - Slack │ │ - Legal │
│ - Notion │ │ - DevOps │
│ - Database │ │ - Research │
└──────────────┘ └──────────────┘
↓ ↓
Connectivity Expertise
Cách hoạt động:
- MCP servers kết nối agent với thế giới bên ngoài (data, APIs)
- Skills dạy agent cách dùng MCP tools hiệu quả
- Agent reasoning để chọn skill + tools phù hợp
Ví dụ financial report:
Agent nhận task: "Generate Q4 financial report"
→ Load skill "financial-reporting"
→ Skill hướng dẫn:
- Dùng MCP "database" lấy transaction data
- Dùng MCP "stripe" lấy payment data
- Chạy script "analyze_financials.py"
- Dùng MCP "google-sheets" export report
→ Agent execute theo workflow
→ Done
Một agent. Nhiều skills. Nhiều MCP servers. Vô vàn khả năng.
8. Kinh nghiệm thực tế: Skills trong production
Case Study 1: Developer Productivity Team (Fortune 100)
Vấn đề: Team phục vụ 10,000+ developers, mỗi team lại có code style khác nhau.
Giải pháp: Tạo Enterprise Skills:
code-review-backend– review Python/Go theo chuẩn backend teamcode-review-frontend– review React/TypeScript theo chuẩn frontenddeployment-checklist– verify trước khi deploy
Kết quả:
- Code review tự động 70% pull requests
- Onboarding dev mới nhanh gấp 3 lần
- Consistency tăng rõ rệt
Case Study 2: Anthropic chính họ
Vấn đề: Ra mắt offerings mới cho Financial Services và Life Sciences.
Giải pháp:
- MCP servers: Kết nối với Bloomberg Terminal, EHR systems
- Skills: "financial-compliance", "clinical-data-analysis"
Kết quả: Deploy agent vào vertical mới chỉ trong vài tuần thay vì vài tháng.
Bài học kinh nghiệm:
Mình cũng đã thử build skills cho team nhỏ (hehe). Nhận ra rằng:
Skills giống như SOP (Standard Operating Procedures):
- Viết một lần
- Mọi người (và agents) dùng
- Cải tiến dần theo thời gian
Không nên:
- Viết quá dài (agent khó đọc)
- Quá general (mất focus)
- Hardcode values (dùng config thay vì)
Nên:
- Tách nhỏ skills (mỗi skill một nhiệm vụ rõ ràng)
- Có examples cụ thể trong SKILL.md
- Version control bằng Git
- Test kỹ trước khi share team
9. Tương lai: Continuous Learning & Skill Ecosystem

Barry và Mahesh share một vision rất hấp dẫn:
9.1. Claude tự tạo Skills
Hiện tại Claude đã có thể tạo skills (dùng skill "skill-creator").
Tưởng tượng workflow:
Ngày 1: Bạn hướng dẫn Claude cách làm task X
→ Claude tự tạo skill "task-x"
Ngày 30: Bạn lại cần task tương tự
→ Claude: "Tôi đã có skill cho việc này rồi!"
→ Chạy ngay, không cần hướng dẫn lại
Đây chính là continuous learning thực sự.
9.2. Skill Sharing Ecosystem
Vision dài hạn:
"Một knowledge base tập thể, tiến hóa liên tục, được curate bởi cả con người và agents."
Ví dụ:
- Developer A tạo skill "debug-typescript"
- Developer B improve thêm edge cases
- Company C fork và customize cho internal use
- Agent D suggest optimization dựa trên usage data
Giống như:
- GitHub cho code
- npm cho packages
- Skills cho procedural knowledge
9.3. Skills as "Software for AI"
Một insight hay từ bài seminar:
"Vài công ty build processors (Intel, AMD) Vài công ty build OS (Microsoft, Apple) Hàng triệu developers build applications
Tương tự: Vài công ty build models (Anthropic, OpenAI) Vài công ty build agent runtime (Claude Code SDK) Hàng triệu người sẽ build skills"
Skills là "software layer" cho AI agents.
Và điều hay là: bất kỳ ai cũng có thể build skills, không cần biết code.
10. So sánh: Trước và sau Skills
| Trước khi có Skills | Sau khi có Skills |
|---|---|
| Prompt dài ngoằng mỗi lần | Kích hoạt skill, done |
| Agent "quên" sau mỗi session | Skill lưu trữ kiến thức |
| Phải giải thích edge cases | Skill đã document sẵn |
| Output không nhất quán | Theo chuẩn trong skill |
| Không scale (nhiều agent = nhiều prompt) | Scale dễ dàng (share skills) |
| Domain expertise phụ thuộc vào prompting | Expertise được đóng gói trong skill |
11. Getting Started: Tạo skill đầu tiên
Nếu bạn muốn thử ngay:
Bước 1: Tạo thư mục skill
mkdir my-first-skill
cd my-first-skill
Bước 2: Tạo SKILL.md
---
name: my-first-skill
description: A simple example skill
---
# My First Skill
## Purpose
This skill demonstrates how to create basic skills.
## Workflow
1. Read user input
2. Process data
3. Return formatted result
## Example
When user asks "format this data", you should:
- Parse the input
- Apply formatting rules
- Return clean output
Bước 3: (Optional) Thêm script
# scripts/format_data.py
def format_data(raw_data):
# Your logic here
return formatted_data
Bước 4: Dùng với Claude Code
# Copy skill vào Claude Code skills folder
cp -r my-first-skill ~/.claude/skills/
# Restart Claude Code
claude
Done! Skill của bạn đã sẵn sàng.
12. Câu hỏi thường gặp
Q: Skills có thay thế được MCP không?
A: Không. Skills và MCP bổ sung cho nhau:
- MCP = connectivity
- Skills = expertise
Bạn cần cả hai.
Q: Skills có tốn token không?
A: Có, nhưng nhờ progressive disclosure, chỉ load khi cần. Tiết kiệm hơn nhiều so với nhét hết vào system prompt.
Q: Tôi có thể bán skills không?
A: Skills là open standard, bạn hoàn toàn có thể:
- Share miễn phí
- Bán trên marketplace
- Dùng nội bộ công ty
Q: Skills chạy trên agent nào?
A: Hiện tại:
- Claude Code (Anthropic)
- VS Code (Microsoft)
- Cursor, Goose, Amp, OpenCode...
Danh sách đang mở rộng nhanh.
Kết luận: Stop building agents, start building skills
Bài talk của Barry và Mahesh kết thúc với một message rất rõ ràng:
"It's time to stop rebuilding agents and start building skills instead."
Tại sao?
1. General agents mạnh hơn ta nghĩ Không cần build riêng agent cho mỗi domain. Một agent tốt + đúng skills = đủ.
2. Skills dễ build và share hơn agents File markdown + scripts. Ai cũng làm được.
3. Ecosystem sẽ phát triển cực nhanh Giống như npm, PyPI. Skills sẽ có marketplace riêng.
4. Continuous learning thực sự Agent ngày 30 thông minh hơn agent ngày 1. Nhờ skills.
5. Enterprise adoption đang tăng tốc Fortune 100 đã bắt đầu. Bạn cũng nên bắt đầu.
Nếu bạn đang build AI agents, hãy dừng lại một chút và tự hỏi:
"Thay vì build thêm một agent mới, tôi có thể tạo một skill để agent hiện tại làm việc này không?"
Câu trả lời thường là: Có.
Và điều đó sẽ tiết kiệm cho bạn rất nhiều thời gian, tiền bạc và công sức.
Hy vọng bài viết này giúp bạn hiểu rõ hơn về Agent Skills – một bước tiến quan trọng trong cách chúng ta xây dựng AI systems. Còn nhiều thứ thú vị đang chờ khám phá (hehe).
Nếu bạn đã thử build skills, hãy share kinh nghiệm nhé!
Nguồn:
- Equipping agents for the real world with Agent Skills - Anthropic
- Agent Skills Specification
- Claude Skills vs. MCP: A Technical Comparison - IntuitionLabs
- Extending Claude's capabilities with skills and MCP servers
- Building Effective AI Agents - Anthropic
- Don't Build Agents, Build Skills Instead – Barry Zhang & Mahesh Murag, Anthropic
All rights reserved