Claude Skills là gì? Dạy Claude làm việc theo cách của bạn — một lần, áp dụng mãi mãi
Điểm nổi bật
Nhấn để đến mục tương ứng
- 1 Nếu bạn đã dùng Claude Code một thời gian, bạn chắc hẳn đã trải qua tình huống này: bắt đầu một conversation mới, và phải giải thích lại từ đầu — coding standards của team bạn, cách bạn muốn commit message được viết, format cho code review, hay bất kỳ convention nào khác mà bạn đã dành thời gian xây dựng.
- 2 A skill is a Markdown file that teaches Claude how to do something once, and Claude applies that knowledge automatically whenever relevant. Một skill là một file Markdown dạy Claude cách làm một việc gì đó một lần, và Claude áp dụng kiến thức đó tự động mỗi khi nó liên quan.
- 3 Claude Code hỗ trợ hai vị trí lưu trữ skills, mỗi loại có mục đích khác nhau: Personal Skills — /.claude/skills/ Skills đặt trong thư mục home của bạn ( /.claude/skills/ ) hoạt động trên mọi project bạn làm việc.
- 4 Claude nhận ra khi nào chúng phù hợp và áp dụng proactively — bạn không cần làm gì Điều này quan trọng hơn bạn nghĩ. Nếu bạn đã dùng slash commands trong Claude Code ( /commit , /review ), bạn có thể tự hỏi skills khác gì.
- 5 Thay vì mỗi lần review nhắc lại "đừng quên check N+1 queries, đảm bảo có error handling, verify input validation...", bạn viết tất cả vào một skill. Skills phát huy giá trị cao nhất ở những tình huống này: Code Review Standards Đây là use case kinh điển.
Video chính thức từ kênh Anthropic — "What are skills?" (2 phút 54 giây).
Vấn đề Skills giải quyết
Nếu bạn đã dùng Claude Code một thời gian, bạn chắc hẳn đã trải qua tình huống này: bắt đầu một conversation mới, và phải giải thích lại từ đầu — coding standards của team bạn, cách bạn muốn commit message được viết, format cho code review, hay bất kỳ convention nào khác mà bạn đã dành thời gian xây dựng.
Lần đầu giải thích thì hợp lý. Lần thứ năm thì bực bội. Lần thứ hai mươi thì là dấu hiệu bạn đang làm sai.
Skills giải quyết chính xác vấn đề này.
Thay vì lặp lại mình trong mỗi conversation, bạn viết knowledge đó ra một lần — vào một file Markdown — và Claude áp dụng nó tự động mỗi khi nó liên quan. Bạn không phải nhớ dùng nó. Bạn không phải gõ slash command. Claude nhận ra khi nào skill đó phù hợp và áp dụng proactively.
Định nghĩa: Skill là gì?
Theo định nghĩa chính thức từ Anthropic: A skill is a Markdown file that teaches Claude how to do something once, and Claude applies that knowledge automatically whenever relevant.
Một skill là một file Markdown dạy Claude cách làm một việc gì đó một lần, và Claude áp dụng kiến thức đó tự động mỗi khi nó liên quan.
Có hai cấp độ skills:
-
Simple skill: Một file Markdown với phần
descriptiongiải thích khi nào dùng nó và nội dung về cách thực hiện — đủ cho hầu hết use cases - Agent skill: Một folder chứa instructions, scripts, và resources — dành cho các quy trình phức tạp hơn cần nhiều file và tài nguyên
Cấu trúc kỹ thuật: Skill file trông như thế nào?
Một skill file tối thiểu trông như thế này:
---
description: Use this skill when reviewing pull requests. Checks for security issues, performance problems, and ensures code follows our team standards.
---
# PR Review Checklist
## Security
- Check for SQL injection vulnerabilities
- Verify input validation on all user-facing endpoints
- Ensure no secrets or API keys in code
## Performance
- Look for N+1 query problems
- Check for unnecessary re-renders in React components
- Verify database indexes exist for new queries
## Code Standards
- Functions under 50 lines
- Meaningful variable names (no abbreviations)
- Tests required for all new business logic
Phần quan trọng nhất là description trong YAML frontmatter — đây là thứ Claude đọc để quyết định khi nào load và áp dụng skill này. Mô tả càng rõ ràng, Claude càng chính xác trong việc nhận biết khi nào skill phù hợp.
Hai loại skills: Personal và Project
Claude Code hỗ trợ hai vị trí lưu trữ skills, mỗi loại có mục đích khác nhau:
Personal Skills — ~/.claude/skills/
Skills đặt trong thư mục home của bạn (~/.claude/skills/) hoạt động trên mọi project bạn làm việc. Đây là nơi cho:
- Chuẩn commit message của cá nhân bạn
- Phong cách code review bạn luôn áp dụng
- Cách bạn muốn documentation được viết
- Debug approach bạn ưa thích
Bất kể bạn đang làm việc trên project nào — startup cá nhân, client project, hay internal tool — các personal skills này theo bạn mọi lúc.
Project Skills — .claude/skills/ trong repo root
Skills đặt trong thư mục .claude/skills/ ở root của repository chỉ active khi bạn làm việc trong project đó. Đây là nơi cho:
- Coding conventions của team
- Architecture patterns của codebase cụ thể
- Testing frameworks và patterns đặc thù của project
- Domain-specific knowledge (ví dụ: cách API của công ty bạn hoạt động)
Project skills được commit vào repository — nghĩa là toàn bộ team đều có cùng skills khi làm việc với codebase đó. Đây là cách để đảm bảo Claude luôn follow team conventions của mọi developer trong team, không chỉ người setup.
CLAUDE.md và Skills: Hai thứ khác nhau
Một điểm quan trọng cần hiểu là sự khác biệt giữa CLAUDE.md và skills:
CLAUDE.md là file tải vào mọi conversation — nó là context luôn có mặt. Phù hợp cho những thứ Claude luôn cần biết: project overview, tech stack, critical constraints.
Skills chỉ tải khi liên quan. Claude đọc tên và description của tất cả available skills nhưng chỉ tải full content của skill khi nó nhận ra rằng skill đó cần thiết cho task hiện tại.
Cơ chế này rất thông minh từ góc độ kỹ thuật: Claude không đọc toàn bộ content của mọi skill vào context window — điều đó sẽ lãng phí tokens và làm đầy context với thông tin không liên quan. Thay vào đó, chỉ description được tải ban đầu; full content chỉ được tải khi skill đó được kích hoạt.
Ví dụ: PR review checklist skill của bạn sẽ không được tải khi bạn đang debug một lỗi runtime. Chỉ khi bạn yêu cầu review code hay Claude nhận ra đây là PR review context, skill đó mới được tải đầy đủ.
So sánh với Slash Commands
Nếu bạn đã dùng slash commands trong Claude Code (/commit, /review), bạn có thể tự hỏi skills khác gì.
Sự khác biệt cơ bản:
- Slash commands: Bạn phải nhớ chúng tồn tại và gõ chúng rõ ràng
- Skills: Claude nhận ra khi nào chúng phù hợp và áp dụng proactively — bạn không cần làm gì
Điều này quan trọng hơn bạn nghĩ. Khi bạn đang trong flow của coding, phải dừng lại để gõ slash command là một interruption nhỏ nhưng liên tục. Skills loại bỏ interruption đó hoàn toàn — bạn chỉ làm việc, Claude áp dụng đúng knowledge đúng lúc.
Use cases tốt nhất cho Skills
Skills phát huy giá trị cao nhất ở những tình huống này:
Code Review Standards
Đây là use case kinh điển. Thay vì mỗi lần review nhắc lại "đừng quên check N+1 queries, đảm bảo có error handling, verify input validation...", bạn viết tất cả vào một skill. Claude áp dụng consistently mọi lần, không miss bước nào.
Commit Message Format
Nếu team bạn dùng Conventional Commits, hay có format riêng (ví dụ: "JIRA-123: description"), viết một skill một lần. Mọi commit message Claude giúp viết sẽ follow đúng format đó.
Brand Guidelines
Cho những team dùng Claude Code để generate user-facing text (error messages, tooltips, notification copy), một skill về brand voice đảm bảo tone nhất quán không phụ thuộc vào việc người viết là ai.
Testing Patterns
Nếu team bạn có conventions về test structure (describe/it format, naming conventions, mock patterns), một testing skill đảm bảo Claude luôn viết tests theo chuẩn của team.
Architecture Decisions
Khi codebase có những quyết định kiến trúc quan trọng mà mọi người cần biết (ví dụ: "luôn dùng repository pattern cho data access", "không bao giờ gọi database trực tiếp từ controller"), một architecture skill giúp Claude luôn follow decisions đó.
Cách tạo skill đầu tiên của bạn
Quy trình thực tế để bắt đầu:
-
Tạo thư mục: Tạo
~/.claude/skills/nếu chưa có (cho personal skills) hoặc.claude/skills/trong root repo (cho project skills) -
Tạo file: Tạo file
commit-messages.md(hay tên phù hợp với skill bạn muốn) - Viết description: Phần quan trọng nhất — description trong YAML frontmatter phải đủ rõ để Claude biết khi nào activate skill này
- Viết nội dung: Phần thực tế của skill — format, rules, examples
- Test: Thử một task phù hợp và xem Claude có apply skill không
Bắt đầu với một skill, không phải mười. Làm tốt một skill và học từ đó trước khi mở rộng.
Tại sao Skills quan trọng hơn chỉ là tiện ích?
Skills không chỉ là shortcut. Chúng đại diện cho một thay đổi trong cách nghĩ về làm việc với AI:
Khi bạn viết một skill, bạn đang buộc phải articulate (diễn đạt rõ ràng) những gì bạn muốn — tiêu chuẩn của bạn là gì, tại sao chúng quan trọng, và cách áp dụng chúng. Quá trình đó tự nó có giá trị vì nhiều "best practices" trong đầu bạn thực ra chưa bao giờ được viết ra rõ ràng.
Khi bạn commit skill vào repository, bạn đang mã hóa team knowledge — những quyết định và conventions mà thông thường chỉ tồn tại trong đầu của những người senior nhất hoặc trong các tài liệu không ai đọc. Skills làm cho knowledge đó accessible và actionable với mọi người trong team, kể cả người mới.
Và khi bạn update skills theo thời gian — khi team học được điều gì đó mới, khi best practices thay đổi, khi codebase phát triển — bạn đang xây dựng một hệ thống knowledge management sống, không phải tài liệu tĩnh.
Bắt đầu với Skills ngay hôm nay
Skills là tính năng của Claude Code — bạn cần Claude Desktop với Claude Code enabled để sử dụng.
Skill đầu tiên nên là thứ bạn giải thích cho Claude nhiều nhất — nếu bạn thường xuyên nhắc "hãy follow Conventional Commits format" hay "nhớ thêm JSDoc comments", đó là skill đầu tiên cần viết.
Thời gian đầu tư: 15-20 phút để viết một skill tốt. Thời gian tiết kiệm: mỗi lần bạn không phải giải thích lại điều đó nữa.
Bai viet co huu ich khong?
Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.









