Claude Code Skills năm 2026: cách xây dựng thư viện Skills cho riêng bạn
MarkdownCách tạo Claude Code Skills: cấu trúc SKILL.md, công thức viết mô tả, các bộ sưu tập có sẵn từ Anthropic, cùng các phản mẫu. Hướng dẫn từng bước trong 30 phút.
Đọc toàn bộ bài viết
Điểm chính
Claude Code Skills là các thư mục chứa tệp SKILL.md mà Claude chỉ nạp vào ngữ cảnh khi cần. CLAUDE.md luôn nằm trong bộ nhớ và tiêu tốn ngân sách token, còn một skill chỉ được nạp khi có tín hiệu kích hoạt—vì vậy, hàng chục skill có thể dễ dàng cùng tồn tại trong một dự án. Phần quan trọng nhất của một skill là mô tả: Claude dựa vào đó để quyết định có kích hoạt skill hay không. Trong bài viết này, tôi giải thích cấu trúc SKILL.md, công thức viết mô tả, các bộ sưu tập có sẵn và cách tạo skill đầu tiên trong 30 phút.
Tài liệu Ailoot: API, khóa và thiết lập.
Skill trong Claude Code là gì, và tại sao nó không chỉ là “một lời nhắc lớn hơn”?
Điểm chính
Skill là một thư mục chứa tệp SKILL.md mô tả thời điểm và cách áp dụng một phương pháp cụ thể. Anthropic ví skill như hướng dẫn dành cho nhân viên mới: bạn không chỉ đạo từng bước mỗi ngày; bạn đưa cho họ một quy trình, rồi họ tự áp dụng vào đúng tình huống. Khác biệt chính so với CLAUDE.md là skill chỉ được nạp vào ngữ cảnh khi cần, nên hàng chục skill có thể nằm trong một dự án mà không chạm đến ngân sách token.
Claude Code Skills là tính năng gốc của Claude Code được Anthropic ra mắt vào tháng 10 năm 2025 cho các gói Pro/Max/Team/Enterprise. Sau đó, họ mở đặc tả Agent Skills thành một tiêu chuẩn cũng hoạt động ngoài Claude. Trong mã nguồn, nó chỉ là một thư mục:
.claude/skills/
├── deploy-to-prod/
│ ├── SKILL.md
│ └── scripts/
│ └── check-migrations.sh
├── weekly-content-plan/
│ └── SKILL.md
└── triage-support-tickets/
└── SKILL.md
Mỗi thư mục là một skill. Tệp SKILL.md là Markdown có YAML frontmatter ở đầu và phần hướng dẫn thông thường bên dưới. Khi người dùng yêu cầu “hãy triển khai lên production”, Claude thấy mô tả của skill deploy-to-prod, nhận ra tín hiệu kích hoạt “triển khai lên production”, nạp phần nội dung SKILL.md vào ngữ cảnh và làm theo các bước.
Ba cấp độ nạp dần
Anthropic xây dựng skills với cơ chế nạp dần: dữ liệu được nạp theo từng lớp khi cần. Trên blog Anthropic Engineering, nhóm mô tả đây là “nguyên tắc thiết kế cốt lõi giúp Agent Skills linh hoạt và có khả năng mở rộng” (Anthropic Engineering).
Ba cấp độ nạp:
- Siêu dữ liệu (luôn luôn) - khi bắt đầu phiên, Claude chỉ thấy
namevàdescriptioncủa từng skill. Ngân sách: khoảng 100 token mỗi skill. - Hướng dẫn (khi được kích hoạt) - khi người dùng nói điều gì đó liên quan, Claude nạp nội dung SKILL.md. Ngân sách: dưới 5000 token.
- Tài nguyên (theo yêu cầu) - các tệp đi kèm (ví dụ, mẫu, bộ dữ liệu) chỉ được lấy khi chính mô hình tìm đến chúng. Ngân sách: không giới hạn.
Trước đây, CLAUDE.md phải chứa mọi thứ AI cần “ghi nhớ”—và một dự án có 50 quy tắc nhanh chóng chạm giới hạn ngữ cảnh. Với skills, hàng chục skill có thể dễ dàng cùng tồn tại trong một dự án vì chỉ mô tả của chúng được đưa vào ngữ cảnh ban đầu.
Skills nằm ở đâu: bốn cấp độ
| Cấp độ | Đường dẫn | Áp dụng cho |
|---|---|---|
| Enterprise | Cài đặt tổ chức được quản lý | Tất cả người dùng trong công ty |
| Cá nhân | ~/.claude/skills/<name>/SKILL.md | Tất cả dự án của bạn |
| Dự án | .claude/skills/<name>/SKILL.md | Chỉ dự án này |
| Plugin | <plugin>/skills/<name>/SKILL.md | Nơi plugin được bật |
Thứ tự ưu tiên: enterprise ghi đè cá nhân, cá nhân ghi đè dự án. Plugin dùng không gian tên plugin-name:skill-name và không xung đột. Cách này tiện lợi: đặt các skill nghề nghiệp chung trong ~/.claude/skills/ và skill riêng của dự án trong .claude/skills/ của kho mã.
SKILL.md có những gì?
Điểm chính
SKILL.md là tệp Markdown có YAML frontmatter ở đầu và văn bản hướng dẫn bên dưới. Tối thiểu, tệp có hai trường: name (tối đa 64 ký tự) và description (tối đa 1024 ký tự). Lược đồ đầy đủ bao gồm allowed-tools, disable-model-invocation, paths, context: fork, agent và hooks. Anthropic khuyến nghị giữ phần nội dung hướng dẫn trong 500 dòng và đặt mọi thứ khác trong các tệp tham chiếu gần đó.
Đây là ví dụ tối giản—hai mươi dòng là đã có thể dùng skill:
---
name: weekly-content-plan
description: Prepares a weekly post plan for a Telegram channel and short-form video posts. Triggers - "make a post plan", "what should I post this week", "a 7-day channel plan". Do not activate if the request is about a website or email newsletter.
---
# Weekly Content Plan
## Steps
1. Read `knowledge/audience.md` - who we're writing for
2. Read `knowledge/tone-of-voice.md` - how we write
3. Read the last 10 posts in the channel - what has already been covered
4. Come up with 7 topics for the week: 3 sales-focused, 2 expert, 2 personal
5. For each, provide one hook line and three bullets about the post
6. Output as a table: day of the week | type | hook | plan
Vậy là đủ. Nếu người dùng viết “hãy lên kế hoạch bài đăng trong tuần”, Claude thấy tín hiệu kích hoạt trong mô tả, nạp SKILL.md, đọc các tệp được nêu tên và xuất ra một bảng.
Những giới hạn cần lưu ý
Tài liệu API chính thức của Claude đặt ra các giới hạn nghiêm ngặt:
name: tối đa 64 ký tự, chỉ gồm chữ thường, chữ số và dấu gạch nối, không có thẻ XML.anthropicvàclaudelà các tên dành riêng.description: tối đa 1024 ký tự trong API; bắt buộc và không được có thẻ XML.- Ngân sách liệt kê: trong Claude Code, mô tả của tất cả skills cộng lại chiếm khoảng 1% cửa sổ ngữ cảnh. Nếu có nhiều skill, mô tả sẽ bị cắt bớt—và từ khóa Claude cần để khớp có thể biến mất.
- Nội dung SKILL.md: Anthropic khuyến nghị giữ phần nội dung trong 500 dòng. Chuyển mọi thứ dài hơn vào các tệp
references/,scripts/vàexamples/, rồi nạp chúng thông qua phần hướng dẫn.
Sau khi nén ngữ cảnh (/compact), Claude giữ lại 5000 token đầu tiên của mỗi skill đã được gọi trước đó; tổng ngân sách cho tất cả skills được đính kèm lại là 25 000 token. Nếu một skill không vừa, hành vi của nó sẽ bị “quên”.
Lược đồ frontmatter đầy đủ
Tối thiểu, hãy dùng name và description. Skills dùng trong sản phẩm cũng có các trường khác:
| Trường | Mục đích | Ví dụ |
|---|---|---|
name | Tên skill; mặc định là tên thư mục nếu không khai báo | deploy-to-prod |
description | Tín hiệu kích hoạt tự động | Xem công thức bên dưới |
when_to_use | Các cụm từ kích hoạt bổ sung | ["deploy", "let's ship it"] |
allowed-tools | Những công cụ có thể dùng mà không cần hỏi quyền | ["Read", "Bash(npm run build)"] |
disable-model-invocation | true - chỉ người dùng mới có thể gọi skill | Dành cho thao tác nguy hiểm |
user-invocable | false - chỉ Claude có thể gọi skill | Dành cho kiến thức nền |
paths | Mẫu Glob xác định nơi skill hoạt động | ["src/**/*.ts"] |
context: fork | Chạy trong một subagent biệt lập | Khi ngữ cảnh quá nặng |
agent | Loại subagent sẽ khởi chạy | Explore, Plan, general-purpose |
effort | Mức độ suy luận | low, medium, high, xhigh, max |
model | Mô hình được gán cho skill | claude-opus-4-7 |
hooks | Hooks trong vòng đời của skill | Xem phần hooks |
Trường disable-model-invocation: true là bắt buộc đối với mọi thứ không được phép chạy tự động. Ví dụ, skill deploy-to-prod có cờ này chỉ được gọi khi người dùng chủ động nhập /deploy-to-prod. Nếu không có cờ, Claude có thể triển khai vì “mã trông đã sẵn sàng”.
Tại sao description chiếm 90% công sức, và viết nó thế nào?
Điểm chính
Description là trường duy nhất Claude thấy khi bắt đầu phiên. Nếu viết kém, skill sẽ không hoạt động dù nội dung hướng dẫn hoàn hảo. Một mô tả tốt có ba phần: chức năng của skill + các cụm từ kích hoạt đặt trong dấu ngoặc kép + trường hợp KHÔNG nên dùng. Trong skill-creator của chính mình, Anthropic khuyến nghị mô tả nên “hơi thúc đẩy”—Claude có xu hướng kích hoạt chưa đủ.
Sai lầm phổ biến nhất của vibe-coder là viết mô tả kiểu “Trợ lý cho X”. Skill nằm sẵn trong thư mục, nhưng Claude không gọi nó.
Mô tả tệ
description: Build dashboards.
Claude không thể biết: khi người dùng hỏi “cho tôi xem doanh số trong tuần”, đó có phải yêu cầu về bảng điều khiển hay không? Khi người dùng hỏi “biểu đồ doanh thu”, đó là yêu cầu về bảng điều khiển hay chỉ là một biểu đồ nói chung? Khi họ yêu cầu “báo cáo tháng”, liệu chắc chắn đó không phải bảng điều khiển?
skill-creator của chính Anthropic nêu thẳng khuyến nghị:
Hiện tại Claude có xu hướng “kích hoạt thiếu” skills—không dùng chúng trong những trường hợp chúng sẽ hữu ích. Để khắc phục, hãy viết mô tả skill hơi “thúc đẩy”.
Công thức viết mô tả tốt
Gồm ba phần:
- Skill làm gì - một câu mô tả kết quả, không phải quy trình. Không phải “tạo SQL”, mà là “xuất doanh số thành bảng cho kênh Telegram”.
- Khi nào kích hoạt - 3-5 cụm từ đặt trong dấu ngoặc kép mà người dùng thực sự nói. Đừng đoán; hãy xem lịch sử trò chuyện và hỗ trợ của bạn.
- Khi nào KHÔNG kích hoạt - 1-2 cụm từ về các việc tương tự mà skill không nên phản hồi. Nếu thiếu phần này, hai skill tương tự sẽ liên tục xung đột.
Ví dụ về mô tả hiệu quả từ dự án của tôi (đã đơn giản hóa và ẩn danh):
description: |
Writes and publishes an SEO guide to the blog, following the editorial policy.
Triggers: "write a guide about X", "let's make a new pillar",
"a blog article about Y", "build a blog guide about Z".
Do not activate if the request is about an email newsletter,
a Telegram post, or an internal team instruction—
those are other skills.
Điều gì hiệu quả ở đây:
- Động từ “viết và xuất bản” thay vì “hỗ trợ” nêu rõ kết quả cụ thể.
- Bốn cụm từ kích hoạt trong dấu ngoặc kép bao quát nhiều cách diễn đạt.
- Cũng có một cụm từ kích hoạt tiếng Anh—nếu người dùng chuyển sang ngôn ngữ của nhóm, skill vẫn hoạt động.
- Phần riêng “không kích hoạt nếu” giúp tránh xung đột với các skill về email và bài đăng.
Cách kiểm tra mô tả
Trong skill-creator, Anthropic tích hợp phương pháp trigger-evals: 20 lời nhắc để kiểm tra xem skill có kích hoạt hay không. Mười lời nhắc nên kích hoạt, mười lời nhắc không nên (bao gồm các tình huống gần giống, trong đó cách diễn đạt tương tự nhưng nhiệm vụ khác).
Theo cách nói của vibe-coder, nghĩa là: sau khi viết mô tả, hãy mở một cuộc trò chuyện trống và thử 5 cụm từ bạn thường dùng cùng 3 cụm từ nghe tương tự nhưng có ý nghĩa khác. Nếu skill không kích hoạt khi cần, hoặc kích hoạt khi không nên, hãy sửa mô tả. Chỉ sau đó mới viết phần hướng dẫn.
Tôi sẽ cài 5 skill nào trước tiên?
Điểm chính
Chiến lược nhanh nhất cho một doanh nhân là bắt đầu với các bộ sưu tập có sẵn rồi tùy chỉnh chúng. Anthropic và Vercel đã công bố các bộ sưu tập công khai có thể cài đặt bằng một lệnh duy nhất, bao quát các tác vụ thường gặp như tài liệu và thiết kế. Tính đến tháng 5 năm 2026, kho mã chính thức anthropics/skills có khoảng 138,000 sao.
Dành hai tuần đầu để tự viết skills là một chiến lược không hiệu quả. Hãy bắt đầu bằng cách cài các skill có sẵn và xem cách chúng được xây dựng; sau đó thêm skill của riêng bạn theo cùng cách. Lấy các bộ sưu tập đã được kiểm chứng do người khác làm rồi tùy chỉnh sẽ tiết kiệm hơn tự xây dựng mọi thứ từ đầu. Dưới đây là năm bộ sưu tập tôi sẽ bắt đầu với:
1. anthropics/skills - Bộ sưu tập chính thức có skill-creator
Kho mã: github.com/anthropics/skills. 138,000 sao trên GitHub. Kho này chứa các skill chính thức từ nhóm Anthropic: skill-creator (một meta-skill viết các skill khác), claude-api (hỗ trợ xây dựng tích hợp API) và các skill tài liệu có sẵn cho PowerPoint, Excel, Word và PDF.
Cài bằng Claude Code:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills
Giá trị chính là skill-creator. Nó viết SKILL.md dựa trên mô tả của bạn, sau đó chạy 20 trigger-evals và sửa mô tả cho đến khi skill bắt đầu kích hoạt đúng nơi cần thiết. Về cơ bản, đây là “một skill để tạo skill”.
2. mattpocock/skills - Bộ sưu tập lan truyền của chuyên gia TypeScript
Bộ sưu tập này có 12 skill đang hoạt động, bao gồm:
grill-me- đặt câu hỏi theo cây quyết định cho đến khi giải quyết hết những điểm chưa rõ của nhiệm vụ. Nỗi đau lớn nhất của vibe-coder—“Tôi không biết mình muốn gì”—được giải quyết ngay từ vòng đầu tiên.caveman- nén cách giao tiếp của mô hình thành kiểu điện tín.diagnose- gỡ lỗi theo chu trình tái hiện - thu gọn - giả thuyết - đo đạc - sửa - kiểm thử hồi quy.tdd- áp dụng quy trình đỏ-xanh-tái cấu trúc: trước tiên là một bài kiểm thử thất bại, sau đó là bản sửa tối thiểu, rồi tái cấu trúc.to-issues- chuyển kế hoạch thành các issue GitHub được chia theo chiều dọc (full-stack, có thể triển khai độc lập).
Cài đặt:
npx skills@latest add mattpocock/skills
/setup-matt-pocock-skills
3. coreyhaines31/marketingskills - Bộ sưu tập dành cho người làm tiếp thị
Nếu bạn điều hành các chương trình trực tuyến, làm tiếp thị tự do hoặc vận hành một agency, bạn không cần mất sáu tháng để viết skill của riêng mình. Một nửa số việc đã có sẵn thành gói.
4. vercel-labs/agent-skills - Thiết kế không mang vẻ ngoài của AI
Kho mã: github.com/vercel-labs/agent-skills. Skill nổi bật nhất là web-design-guidelines. Skill này kiểm tra mã UI theo hơn 100 quy tắc về khả năng tiếp cận, hiệu năng và tính dễ sử dụng.
Đi cùng bộ này là frontend-design của Anthropic, với hơn 110,000 lượt cài mỗi tuần. Skill này khiến AI chọn phong cách trước khi bắt đầu viết mã. Nếu không có nó, mọi trang Claude tạo ra đều có phông Inter, chuyển sắc tím và các thẻ dạng lưới. Kết quả của ai cũng giống nhau.
5. obra/superpowers - Quy trình làm việc đa agent
Nhìn chung, nếu cài ba bộ đầu tiên trong danh sách—anthropics/skills, mattpocock/skills và coreyhaines31/marketingskills—Claude Code của bạn sẽ có hàng chục skill có sẵn, bao quát phần lớn công việc của một doanh nhân trong tháng đầu tiên.
Bạn muốn không chỉ cài skills có sẵn mà còn xây dựng một cấu hình giúp Claude thực sự trở thành trợ lý của bạn? Skills là một trong ba trụ cột của phương pháp này. Cấu hình hoạt động gồm ba phần: bản sao AI (Skills dưới dạng chuyên môn được đóng gói) + Second Brain (cấu trúc kiến thức dành cho ngữ cảnh) + Kỹ thuật ngữ cảnh (cách Claude nhìn thấy toàn bộ dự án). Cấu hình này biến Claude từ một trợ lý chỉ biết đoán thành một công cụ suy nghĩ theo logic của bạn.
Những việc lặp đi lặp lại nào nên được chuyển thành skill?
Điểm chính
Quy tắc rất đơn giản: bất kỳ việc gì bạn làm hơn hai lần mỗi tuần và thực hiện theo các bước gần như giống nhau đều là ứng viên để tạo skill. Không phải một “báo cáo cho kiểm toán viên mỗi năm một lần” phức tạp, mà là công việc thường nhật: lập kế hoạch nội dung cho kênh, kiểm tra biên lai của khách hàng, viết email chào mừng người tham gia mới. Skill biến công sức một lần thành tài sản có thể hoạt động mà không cần bạn.
Trong công việc với khách hàng và dự án của người khác, tôi đã thấy kiểu này hàng chục lần. Ai đó có “việc họ luôn làm lại từ đầu mỗi lần”. Thứ Hai nào họ cũng viết cùng một loại báo cáo. Mỗi khi có khách hàng mới, họ lại làm theo cùng một quy trình. Mỗi bài xuất bản đều theo cùng một mẫu. Và lần nào cũng mất 30-90 phút vì họ phải nhớ lại các bước, mở đúng tệp và soạn lại lời nhắc cho Claude.
Giải pháp là đóng gói quy trình đó thành skill một lần. Sau đó, bạn chỉ cần nói một cụm từ, Claude sẽ nạp phương pháp, đọc các nguồn cần thiết và tạo ra kết quả. Dưới đây là ba ví dụ thuộc các lĩnh vực khác nhau:
Ví dụ 1. Người làm tiếp thị tự do - skill weekly-content-plan
Việc họ làm thủ công: mỗi thứ Hai, họ chuẩn bị bài đăng Telegram cho cả tuần của ba khách hàng. Họ mở hướng dẫn giọng điệu thương hiệu của khách hàng, xem lại các bài đăng gần đây, nghĩ chủ đề dựa trên lịch sản phẩm và lập bảng gồm câu dẫn thu hút cùng các gạch đầu dòng.
Khi được chuyển thành skill, quy trình trở thành hướng dẫn gồm năm bước: đọc tệp giọng điệu của khách hàng, đọc lịch sản phẩm, kiểm tra 10 bài đăng gần nhất để tránh lặp lại, nghĩ ra bảy chủ đề được chia theo loại (bán hàng, chuyên môn, cá nhân) và xuất thành bảng.
Câu lệnh “hãy lên kế hoạch bài đăng tuần này cho khách hàng X” biến một giờ chuẩn bị thành ba phút chờ. Người làm tiếp thị kiểm tra kết quả, chỉnh sửa có chủ đích và gửi cho khách hàng.
Ví dụ 2. Kế toán thuê ngoài - skill monthly-receipts-close (ví dụ của tác giả)
Việc họ làm thủ công: hàng tháng, với từng khách hàng trong danh mục, họ xuất sao kê ngân hàng, đối chiếu với các khoản thanh toán trong hệ thống kế toán, đánh dấu các khoản chưa phân loại, chuẩn bị báo cáo thu nhập sơ bộ và so sánh cơ cấu thu nhập với tháng trước.
Skill này là hướng dẫn gồm sáu bước, cộng thêm một vài tập lệnh shell trong thư mục scripts/ để phân tích sao kê ngân hàng. Tín hiệu kích hoạt “chốt tháng 5 cho khách hàng X” yêu cầu Claude tạo báo cáo có đánh dấu điểm bất thường trong 4-5 phút.
Ví dụ 3. Người tạo chương trình trực tuyến - skill welcome-letter-new-participant
Việc họ làm thủ công: một người tham gia mới đã thanh toán và họ cần viết email chào mừng. Lời chào mừng hay phải mang tính cá nhân: tính đến kênh người đó biết đến chương trình, sản phẩm họ mua, nhóm khóa học của họ và tài liệu cần gửi kèm. Mẫu “xin chào, chúng tôi rất vui” không làm được điều đó.
Skill yêu cầu Claude đọc knowledge/audience.md (những người này là ai), knowledge/products/<product>.md (họ nhận được gì) và ba email chào mừng gần nhất (để tránh lặp lại), rồi viết email theo cấu trúc này: câu mở đầu - chi tiết về sản phẩm - ba bước đầu tiên - lời kết.
Nhanh hơn nhiều so với làm thủ công. Chất lượng cũng nhất quán hơn vì Claude nhớ kiểm tra ba nguồn, trong khi người đang vội có thể bỏ qua một nguồn.
Những việc KHÔNG nên chuyển thành skill
- Việc chỉ làm một lần. Nếu mỗi năm bạn chỉ làm một lần khi khai thuế, cứ mô tả việc đó cho Claude trong chat. Skill bắt đầu đáng công sau hơn 3 lần lặp lại.
- Việc quá chung chung. “Giúp tôi làm tiếp thị” không phải một skill; đó là cả lĩnh vực tiếp thị. “Lập kế hoạch nội dung hàng tuần” mới là skill—một việc cụ thể với kết quả cụ thể.
- Việc không có các bước lặp lại. Nếu quy trình mỗi lần đều khác nhau, đó không phải skill mà là công việc chỉ làm một lần.
Skill Creator viết skill cho bạn như thế nào?
Điểm chính
Skill Creator là một meta-skill của Anthropic, ra mắt cùng lệnh /skill-creator. Nó dẫn dắt bạn qua sáu bước: phác thảo, kiểm thử, đánh giá, lặp lại, tối ưu và đóng gói. Kết quả là SKILL.md sẵn sàng sử dụng, đã được kiểm thử với 20 trigger-evals (10 trường hợp nên kích hoạt và 10 trường hợp không nên kích hoạt). Với người không lập trình, đây là cách nhanh nhất để viết skill hoạt động đầu tiên—mà không cần tìm hiểu YAML hay tranh luận với Claude.
Vấn đề là viết một skill tốt ngay lần đầu khá khó. Mô tả thường quá hẹp hoặc quá rộng, bỏ sót những cụm từ người dùng thực sự dùng hoặc xung đột với skill gần đó. Anthropic giải quyết vấn đề này bằng cách phát hành skill-creator, một meta-skill có thể tạo ra các skill khác.
Sau khi cài anthropics/skills, hãy nhập /skill-creator cho Claude (hoặc chỉ cần nói “hãy tạo một skill cho báo cáo hàng tuần”) và làm theo quy trình sáu giai đoạn:
- Phác thảo - skill-creator đặt câu hỏi: skill cần làm gì, dùng những cụm từ kích hoạt nào, cần đọc những nguồn nào và cần làm theo các bước nào. Kết quả là phiên bản đầu tiên của SKILL.md.
- Kiểm thử - skill-creator tạo 20 lời nhắc kiểm thử: 10 lời nhắc nên kích hoạt skill và 10 lời nhắc nghe giống tín hiệu kích hoạt nhưng không nên (các trường hợp gần giống).
- Đánh giá - công cụ chạy từng lời nhắc trong một cuộc trò chuyện mới và kiểm tra xem skill có được kích hoạt hay không. Nếu skill kích hoạt sai hoặc không kích hoạt khi cần, công cụ sẽ đánh dấu kết quả.
- Lặp lại - công cụ viết lại mô tả dựa trên các lỗi và chạy lại kiểm thử.
- Tối ưu - hoàn thiện lần cuối: kiểm tra xem có vượt giới hạn 1024 ký tự hay không và có xung đột với skills hiện có trong dự án hay không.
- Đóng gói - đóng gói SKILL.md cuối cùng cùng các tệp tham chiếu theo đúng cấu trúc.
Trên thực tế, bạn trò chuyện với Claude trong 15-20 phút, trả lời 7-8 câu hỏi làm rõ và cuối cùng nhận được một skill đã kiểm thử, sẵn sàng kích hoạt với các tín hiệu phù hợp.
Một lợi ích khác là skill-creator thể hiện phong cách viết SKILL.md mẫu mực. Bạn có thể mở chính tệp của nó để xem định dạng, giọng văn và cấu trúc các bước. Đây là trường hợp công cụ tự làm mẫu—bạn đọc nó và học cách viết skill của mình.
Skills, CLAUDE.md, Subagents, MCP, Hooks: Nên dùng loại nào?
Điểm chính
Claude Code có năm thành phần riêng biệt để mở rộng hành vi và chúng không thể thay thế cho nhau. CLAUDE.md chứa kiến thức dự án thường trực. Skills là các quy trình lặp lại được kích hoạt bằng tín hiệu. Subagents thực hiện công việc song song trong ngữ cảnh riêng. MCP kết nối với các hệ thống bên ngoài (API, cơ sở dữ liệu). Hooks tự động phản hồi sự kiện. Sai lầm phổ biến nhất của vibe-coder là nhét mọi thứ vào CLAUDE.md hoặc cố tạo một skill bằng hook.
Vấn đề phổ biến nhất tôi thấy trong các dự án mình đánh giá là CLAUDE.md cùng lúc chứa quy tắc dự án, hướng dẫn xuất bản từng bước, mẫu commit và mô tả cơ sở dữ liệu. Điều này làm quá tải ngữ cảnh và cũng không hiệu quả trong thực tế: Claude không thực hiện hướng dẫn “khi người dùng yêu cầu xuất bản” vì mô hình xem toàn bộ CLAUDE.md như ngữ cảnh chung, không có tín hiệu kích hoạt rõ ràng.
Giải pháp là giao từng mục cho đúng thành phần:
| Nội dung | Khi nào dùng | Ví dụ |
|---|---|---|
| CLAUDE.md | Kiến thức luôn luôn cần thiết | “Dự án dùng một ngôn ngữ cố định”, “không dùng dấu gạch ngang dài trong văn bản”, “tên thương hiệu được viết với chữ ‘o’” |
| Skills | Quy trình lặp lại được kích hoạt bằng tín hiệu | “Triển khai lên production”, “lập kế hoạch bài đăng hàng tuần”, “chốt sổ tháng cho khách hàng” |
| Subagents | Làm việc song song hoặc cô lập ngữ cảnh nặng | “Kiểm tra bảo mật trong khi tôi lập kế hoạch tính năng mới”, “đánh giá kho mã trong phiên riêng” |
| MCP | Kết nối với hệ thống bên ngoài | “Lấy dữ liệu từ CRM”, “lấy tác vụ từ công cụ theo dõi”, “kiểm tra website trong trình duyệt” |
| Hooks | Tự động phản hồi một sự kiện | “Chạy kiểm tra sau Edit”, “chặn các lệnh nguy hiểm”, “gửi thông báo Telegram khi hoàn tất” |
Trong ngắn gọn, bức tranh được tóm gọn thành một logic đơn giản: Skills và MCP đáp ứng phần lớn quy trình; Hooks tự động hóa các việc thường nhật—kiểm tra mã, kiểm thử và các cơ chế bảo vệ. Cần dùng Subagents khi ngữ cảnh trở nên nặng. Sai lầm phổ biến nhất là tạo subagent trong khi nên dùng skill.
Cây quyết định
Khi bạn nghĩ “Tôi cần Claude làm X”:
- Kiến thức này có cần thiết mọi lúc không? Ví dụ: “Dự án dùng một ngôn ngữ cố định” hoặc “chúng tôi không dùng dấu gạch ngang dài”. → Đưa vào
CLAUDE.md. - Đây có phải quy trình được kích hoạt mà hiện bạn đang làm thủ công không? Ví dụ: “Thứ Hai nào tôi cũng viết báo cáo.” → Tạo một skill.
- Bạn có cần truy cập hệ thống bên ngoài không? Ví dụ: Stripe API hoặc CRM của bạn. → Kết nối một máy chủ MCP.
- Claude Code có nên tự động phản hồi một sự kiện không? Ví dụ: chạy linter sau mỗi Edit. → Viết một hook.
- Nhiệm vụ có nặng, tiêu tốn toàn bộ ngữ cảnh, và bạn có cần làm việc khác song song không? → Chạy một subagent.
90% công việc của một doanh nhân-vibe-coder thuộc các nhóm 1-3. Hooks và subagents là công cụ ở cấp độ tiếp theo, dành cho khi bạn đã vượt qua giai đoạn “mỗi lần làm một việc”.
Slash Commands và Skills là cùng một thứ
Một thay đổi quan trọng trong Claude Code: hệ thống slash-command cũ (.claude/commands/) và skills về cơ bản đã hợp nhất. Tệp .claude/commands/deploy.md và .claude/skills/deploy/SKILL.md đều tạo lệnh /deploy. Nếu tên trùng nhau, skill sẽ được ưu tiên. Vì vậy, nếu bạn vẫn dùng định dạng slash-command cũ, hãy chuyển sang skills; cú pháp rõ ràng hơn và có nhiều khả năng hơn.
7 sai lầm khiến skill không hoạt động
Điểm chính
Các vấn đề thường gặp nhất với skill không phải là lỗi của Claude mà là lỗi trong chính skill. Mô tả không có tín hiệu kích hoạt, SKILL.md dài 2,000 dòng bị nhồi nhét, hai skill tương tự xung đột hoặc cố tải “mọi thứ trên marketplace”. Mỗi sai lầm này đều làm hỏng việc kích hoạt skill hoặc cách nó hoạt động.
1. Mô tả không có tín hiệu kích hoạt: Skill không kích hoạt
Triệu chứng: bạn viết skill, kiểm tra cấu trúc, mọi thứ đều hợp lệ, nhưng Claude không gọi nó khi người dùng yêu cầu. Nguyên nhân gần như luôn giống nhau: mô tả kiểu “Trợ lý viết nội dung”. Claude không biết nên phản hồi với những cụm từ nào. Cách sửa: đưa 3-5 cụm từ người dùng thực sự nói vào dấu ngoặc kép ngay trong phần mô tả.
2. SKILL.md dài hơn 500 dòng: Mất tập trung
Anthropic khuyến nghị rõ ràng rằng phần nội dung của tệp nên nằm trong 500 dòng. Nếu hướng dẫn dài 2,000 dòng, Claude mất tập trung, chỉ làm theo một phần các bước và nhầm lẫn về thứ tự. Cách sửa: chuyển các phần lớn sang những tệp gần đó—examples/, references/, scripts/—rồi dẫn chiếu chúng từ SKILL.md.
3. Một skill cho “mọi thứ về nội dung” thay vì ba skill nhỏ
Một cấu hình hấp dẫn: một skill content lớn chứa bài đăng Telegram, trang đích và email. Cách này không hiệu quả. Skill kích hoạt cho yêu cầu sai, trộn lẫn phương pháp và tạo ra kết quả trung bình hóa. Cách sửa: một skill = một hành động có thể lặp lại. Nếu bạn thực sự có ba quy trình về “nội dung”, hãy tạo ba skill: telegram-post, landing-section, email-broadcast.
4. Skill không có mục “Khi nào KHÔNG dùng”: Xung đột
Triệu chứng: trong dự án có hai skill tương tự và Claude gọi nhầm skill. Ví dụ, một skill về bản tin email và một skill khác dành riêng cho email chào mừng người tham gia chương trình. Nếu không có điều khoản rõ ràng kiểu “không kích hoạt nếu yêu cầu liên quan đến danh sách gửi thư chung”, skill email chào mừng sẽ kích hoạt mỗi khi có nhắc đến “email”. Cách sửa: nêu rõ các trường hợp phủ định trong mô tả.
5. 50 skill trong một dự án: Mô tả bị cắt bớt
Theo tài liệu Claude Code:
Tên skill luôn được đưa vào, nhưng nếu có nhiều skill, mô tả của chúng sẽ bị cắt bớt để nằm trong giới hạn ký tự, việc này có thể loại bỏ các từ khóa Claude dùng để khớp với yêu cầu của bạn. Ngân sách - 1% cửa sổ ngữ cảnh của mô hình.
Nếu bạn tải 50 bộ sưu tập skill từ marketplace, một số mô tả sẽ bị cắt bớt. Các từ khóa bạn trông đợi có thể biến mất. Cách sửa: giữ lại 10-15 skill hữu ích nhất trong dự án đang hoạt động. Giữ phần còn lại trong kho không hoạt động ngoài mọi thư mục skill có thể được phát hiện, ví dụ skill-archive/ riêng trong tài liệu bạn. Chỉ cài skill cần vào scope dự án hoặc cá nhân. ~/.claude/skills/ là thư viện cá nhân đã cài có sẵn giữa dự án, nên chuyển tới đó không loại khỏi discovery.
6. Skills từ nguồn chưa được xác minh: Rủi ro bảo mật
Anthropic cảnh báo điều này trong tài liệu chính thức:
Chỉ dùng skills từ các nguồn đáng tin cậy: những skill bạn tự tạo hoặc nhận từ Anthropic. Một skill độc hại có thể khiến Claude gọi công cụ hoặc thực thi mã theo cách khác với mục đích được nêu trong skill.
Một kho GitHub bất kỳ có thể chứa skill làm rò rỉ khóa API của bạn ngay lần đầu gọi nó. Cách sửa: tự mở và đọc SKILL.md trước khi cài. Đừng chạy skills từ tác giả không quen thuộc trong các dự án quan trọng.
7. Skill không có thư mục kiến thức sẽ tạo ra “ChatGPT trung bình”
Đây là phản mẫu tinh vi nhất và phổ biến nhất. Skill là một phương pháp, nhưng nếu không có ngữ cảnh thì phương pháp chẳng có ý nghĩa gì. Nếu bạn viết skill “tạo email chào mừng” nhưng dự án không có tệp mô tả đối tượng độc giả và tệp giọng điệu thương hiệu, Claude sẽ viết một email kiểu ChatGPT trung bình, không thể phân biệt với email của bất kỳ ai khác.
Skill phát huy hiệu quả tốt nhất chỉ khi bạn đã xây dựng Second Brain của dự án theo các nguyên tắc trong hướng dẫn về CLAUDE.md. Trước tiên hãy xây dựng cấu trúc kiến thức, rồi tạo các skill dựa vào cấu trúc đó. Đảo ngược thứ tự, bạn sẽ nhận được chất lượng thường thường, rập khuôn thay vì công việc mang dấu ấn riêng theo phong cách của bạn.
Cách xây dựng skill đầu tiên trong 30 phút
Điểm chính
Công thức từng bước để tạo skill hoạt động đầu tiên: chọn một hành động lặp lại, viết các bước ra, tạo cấu trúc thư mục, viết mô tả theo công thức, kiểm tra với 5-8 lời nhắc và lặp lại cho đến khi skill kích hoạt đúng chỗ. Thời gian thực tế để tạo skill đầu tiên là 30-40 phút. Mỗi skill tiếp theo mất 10-15 phút vì bạn đã quen với định dạng.
Dưới đây là kế hoạch cụ thể tôi đã dùng để xây dựng những skill đầu tiên trong các dự án của mình:
Bước 1. Chọn một hành động lặp lại
Mở lịch của bạn trong tháng vừa qua. Tìm một nhiệm vụ bạn đã làm ít nhất 4-5 lần, mỗi lần mất 30-60 phút. Đừng chọn việc rộng như “tiếp thị”, hãy chọn việc cụ thể: “báo cáo doanh số thứ Hai”, “đón nhận khách hàng mới” hoặc “cập nhật bảng giá cho chương trình khuyến mãi”.
Cách diễn đạt càng cụ thể thì skill càng đơn giản và tín hiệu kích hoạt càng rõ.
Bước 2. Tự viết quy trình ra
Trong một tệp riêng hoặc trong cuộc trò chuyện với Claude (không phải để làm skill mà để phác thảo), hãy viết các bước bạn thực hiện:
1. Mở cơ sở dữ liệu khách hàng
2. Lọc theo trạng thái "đang chờ email chào mừng"
3. Kiểm tra khách hàng đến từ kênh nào
4. Lấy mẫu email của kênh đó từ thư mục "templates"
5. Điền tên, sản phẩm và ngày bắt đầu
6. Gửi
Đây chưa phải skill mà chỉ là ghi chú. Nhưng không có những ghi chú này, bạn sẽ rối ngay từ đầu khi viết SKILL.md.
Bước 3. Tạo cấu trúc thư mục
mkdir -p .claude/skills/welcome-email-new-client
touch .claude/skills/welcome-email-new-client/SKILL.md
Hoặc nếu muốn dùng skill trong tất cả dự án, hãy đặt nó trong ~/.claude/skills/.
Bước 4. Viết SKILL.md theo mẫu
Khung mẫu:
---
name: welcome-email-new-client
description: |
Prepares a welcome email for a new client using the template for their acquisition channel.
Triggers: "write a welcome email for new client X",
"onboard new participant Y", "welcome email for client from channel Z".
Do not activate if the request is about a general mailing list
or an email campaign—those are other skills.
---
# Welcome Email for a New Client
## Steps
1. Read `knowledge/audience/segments.md` - what client segments we have
2. Read `knowledge/templates/welcome/` - templates by channel
3. Identify the client's channel from the request context
4. Insert the client's name, product name, and start date
5. Check the length—it should be no more than 800 characters
6. Output the final email text in a copy-ready format
## Important
- Do not use “dear friend” or “hello”—use natural speech
- One paragraph, one idea
- End with one call to action, not two
Bước 5. Thử với 5-8 lời nhắc
Mở một cuộc trò chuyện trống với Claude Code trong dự án này. Thử 5 cụm từ bạn thực sự dùng và 3 cụm từ tương tự nhưng không nên kích hoạt skill:
Nên kích hoạt:
- “Viết email chào mừng khách hàng mới Ivanov”
- “Đón tiếp người tham gia mới đã mua chương trình X”
- “Email chào mừng khách hàng đến từ Instagram”
Không nên kích hoạt:
- “Gửi email khuyến mãi cho toàn bộ danh sách”
- “Chiến dịch email cho kỳ nghỉ năm mới”
- “Viết email nhắc lại cho khách hàng chưa thanh toán”
Với từng cụm từ, hãy kiểm tra xem skill có được kích hoạt hay không. Nếu kích hoạt nhầm trường hợp, hãy thu hẹp mô tả. Nếu không kích hoạt ở nơi cần thiết, hãy mở rộng các cụm từ kích hoạt.
Bước 6. Lặp lại với mô tả
Sau mỗi lần kiểm thử thất bại, chỉ sửa mô tả—đừng động vào nội dung hướng dẫn. Sau 2-3 lần lặp, skill sẽ bắt đầu kích hoạt ổn định. Lưu lại, commit, rồi dùng hằng ngày.
Lời khuyên cuối cùng: đừng cố làm skill đầu tiên hoàn hảo. Hãy làm cho nó hoạt động. Chỉnh chu sẽ đến sau skill thứ năm hoặc thứ mười, khi bạn bắt đầu nhận thấy các mẫu trong cách diễn đạt của mình và phản hồi của Claude.
Hãy chọn một công việc lặp lại từ lịch tuần này, dành ra 30 phút và làm theo sáu bước trên. Khi đó, Claude sẽ làm theo phương pháp của bạn thay vì đoán.
Nguồn tham khảo
- Mở rộng Claude bằng skills - Tài liệu Claude Code
- Tổng quan về Agent Skills - Tài liệu Claude Platform
- Trang bị cho agent để hoạt động trong thế giới thực với Agent Skills - Blog Anthropic Engineering
- anthropics/skills - kho mã chính thức có skill-creator
- Skill Creator SKILL.md - nguồn của phương pháp trigger-evals
- vercel-labs/agent-skills - hướng dẫn thiết kế
- Tiêu chuẩn mở Agent Skills - đặc tả
Cấu hình hoạt động là bản sao AI + Second Brain + Kỹ thuật ngữ cảnh. Ba phần của một phương pháp duy nhất.
Nếu bạn cần truy cập các mô hình AI thông qua Ailoot, hãy xem Ailoot.
Xem thêm chi tiết
Câu hỏi thường gặp
Chuyển skill vào ~/.claude/skills/ có làm nó không hoạt động không?
Không. Đây là scope cá nhân đã cài, khiến skill có sẵn ở mọi dự án. Giữ gói chưa dùng trong kho lưu ngoài mọi thư mục skill được phát hiện, chỉ cài thứ đang cần.
Kiểm mô tả kích hoạt đúng thế nào?
Thử năm câu nên gọi skill và ba yêu cầu gần giống không nên gọi, dùng chat mới và ghi skill đã nạp. Sửa mô tả khi bỏ sót yêu cầu thật hoặc khớp nhầm.