{"product_id":"claude-skills-la-gi-dạy-claude-lam-việc-theo-cach-của-bạn-một-lần-ap-dụng-mai-mai","title":"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","description":"\u003cdiv class=\"video-embed\" style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;margin-bottom:2rem;\"\u003e\n  \u003ciframe src=\"https:\/\/www.youtube.com\/embed\/bjdBVZa66oU\" title=\"What are skills?\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;\"\u003e\u003c\/iframe\u003e\n\u003c\/div\u003e\n\n\u003cp\u003e\u003cem\u003eVideo chính thức từ kênh Anthropic — \"What are skills?\" (2 phút 54 giây).\u003c\/em\u003e\u003c\/p\u003e\n\n\u003ch2\u003eVấn đề Skills giải quyết\u003c\/h2\u003e\n\n\u003cp\u003eNế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.\u003c\/p\u003e\n\n\u003cp\u003eLầ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.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eSkills giải quyết chính xác vấn đề này.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eThay 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.\u003c\/p\u003e\n\n\u003ch2\u003eĐịnh nghĩa: Skill là gì?\u003c\/h2\u003e\n\n\u003cp\u003eTheo định nghĩa chính thức từ Anthropic: \u003cstrong\u003eA skill is a Markdown file that teaches Claude how to do something once, and Claude applies that knowledge automatically whenever relevant.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eMộ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.\u003c\/p\u003e\n\n\u003cp\u003eCó hai cấp độ skills:\u003c\/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eSimple skill:\u003c\/strong\u003e Một file Markdown với phần \u003ccode\u003edescription\u003c\/code\u003e giả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\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAgent skill:\u003c\/strong\u003e 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\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eCấu trúc kỹ thuật: Skill file trông như thế nào?\u003c\/h2\u003e\n\n\u003cp\u003eMột skill file tối thiểu trông như thế này:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003e---\ndescription: Use this skill when reviewing pull requests. Checks for security issues, performance problems, and ensures code follows our team standards.\n---\n\n# PR Review Checklist\n\n## Security\n- Check for SQL injection vulnerabilities\n- Verify input validation on all user-facing endpoints\n- Ensure no secrets or API keys in code\n\n## Performance\n- Look for N+1 query problems\n- Check for unnecessary re-renders in React components\n- Verify database indexes exist for new queries\n\n## Code Standards\n- Functions under 50 lines\n- Meaningful variable names (no abbreviations)\n- Tests required for all new business logic\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003cp\u003ePhần quan trọng nhất là \u003ccode\u003edescription\u003c\/code\u003e 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.\u003c\/p\u003e\n\n\u003ch2\u003eHai loại skills: Personal và Project\u003c\/h2\u003e\n\n\u003cp\u003eClaude Code hỗ trợ hai vị trí lưu trữ skills, mỗi loại có mục đích khác nhau:\u003c\/p\u003e\n\n\u003ch3\u003ePersonal Skills — \u003ccode\u003e~\/.claude\/skills\/\u003c\/code\u003e\n\u003c\/h3\u003e\n\n\u003cp\u003eSkills đặt trong thư mục home của bạn (\u003ccode\u003e~\/.claude\/skills\/\u003c\/code\u003e) hoạt động trên \u003cem\u003emọi\u003c\/em\u003e project bạn làm việc. Đây là nơi cho:\u003c\/p\u003e\n\n\u003cul\u003e\n\u003cli\u003eChuẩn commit message của cá nhân bạn\u003c\/li\u003e\n\u003cli\u003ePhong cách code review bạn luôn áp dụng\u003c\/li\u003e\n\u003cli\u003eCách bạn muốn documentation được viết\u003c\/li\u003e\n\u003cli\u003eDebug approach bạn ưa thích\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eBấ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.\u003c\/p\u003e\n\n\u003ch3\u003eProject Skills — \u003ccode\u003e.claude\/skills\/\u003c\/code\u003e trong repo root\u003c\/h3\u003e\n\n\u003cp\u003eSkills đặt trong thư mục \u003ccode\u003e.claude\/skills\/\u003c\/code\u003e ở root của repository chỉ active khi bạn làm việc trong project đó. Đây là nơi cho:\u003c\/p\u003e\n\n\u003cul\u003e\n\u003cli\u003eCoding conventions của team\u003c\/li\u003e\n\u003cli\u003eArchitecture patterns của codebase cụ thể\u003c\/li\u003e\n\u003cli\u003eTesting frameworks và patterns đặc thù của project\u003c\/li\u003e\n\u003cli\u003eDomain-specific knowledge (ví dụ: cách API của công ty bạn hoạt động)\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eProject 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.\u003c\/p\u003e\n\n\u003ch2\u003eCLAUDE.md và Skills: Hai thứ khác nhau\u003c\/h2\u003e\n\n\u003cp\u003eMột điểm quan trọng cần hiểu là sự khác biệt giữa \u003ccode\u003eCLAUDE.md\u003c\/code\u003e và skills:\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eCLAUDE.md\u003c\/strong\u003e là file tải vào \u003cem\u003emọi\u003c\/em\u003e 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.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eSkills\u003c\/strong\u003e chỉ tải \u003cem\u003ekhi liên quan\u003c\/em\u003e. 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.\u003c\/p\u003e\n\n\u003cp\u003eCơ 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.\u003c\/p\u003e\n\n\u003cp\u003eVí 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 đủ.\u003c\/p\u003e\n\n\u003ch2\u003eSo sánh với Slash Commands\u003c\/h2\u003e\n\n\u003cp\u003eNếu bạn đã dùng slash commands trong Claude Code (\u003ccode\u003e\/commit\u003c\/code\u003e, \u003ccode\u003e\/review\u003c\/code\u003e), bạn có thể tự hỏi skills khác gì.\u003c\/p\u003e\n\n\u003cp\u003eSự khác biệt cơ bản:\u003c\/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eSlash commands:\u003c\/strong\u003e Bạn phải nhớ chúng tồn tại và gõ chúng rõ ràng\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSkills:\u003c\/strong\u003e 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ì\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eĐ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.\u003c\/p\u003e\n\n\u003ch2\u003eUse cases tốt nhất cho Skills\u003c\/h2\u003e\n\n\u003cp\u003eSkills phát huy giá trị cao nhất ở những tình huống này:\u003c\/p\u003e\n\n\u003ch3\u003eCode Review Standards\u003c\/h3\u003e\n\u003cp\u003eĐâ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.\u003c\/p\u003e\n\n\u003ch3\u003eCommit Message Format\u003c\/h3\u003e\n\u003cp\u003eNế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 đó.\u003c\/p\u003e\n\n\u003ch3\u003eBrand Guidelines\u003c\/h3\u003e\n\u003cp\u003eCho 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.\u003c\/p\u003e\n\n\u003ch3\u003eTesting Patterns\u003c\/h3\u003e\n\u003cp\u003eNế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.\u003c\/p\u003e\n\n\u003ch3\u003eArchitecture Decisions\u003c\/h3\u003e\n\u003cp\u003eKhi 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 đó.\u003c\/p\u003e\n\n\u003ch2\u003eCách tạo skill đầu tiên của bạn\u003c\/h2\u003e\n\n\u003cp\u003eQuy trình thực tế để bắt đầu:\u003c\/p\u003e\n\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eTạo thư mục:\u003c\/strong\u003e Tạo \u003ccode\u003e~\/.claude\/skills\/\u003c\/code\u003e nếu chưa có (cho personal skills) hoặc \u003ccode\u003e.claude\/skills\/\u003c\/code\u003e trong root repo (cho project skills)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTạo file:\u003c\/strong\u003e Tạo file \u003ccode\u003ecommit-messages.md\u003c\/code\u003e (hay tên phù hợp với skill bạn muốn)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eViết description:\u003c\/strong\u003e Phần quan trọng nhất — description trong YAML frontmatter phải đủ rõ để Claude biết khi nào activate skill này\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eViết nội dung:\u003c\/strong\u003e Phần thực tế của skill — format, rules, examples\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTest:\u003c\/strong\u003e Thử một task phù hợp và xem Claude có apply skill không\u003c\/li\u003e\n\u003c\/ol\u003e\n\n\u003cp\u003eBắ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.\u003c\/p\u003e\n\n\u003ch2\u003eTại sao Skills quan trọng hơn chỉ là tiện ích?\u003c\/h2\u003e\n\n\u003cp\u003eSkills 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:\u003c\/p\u003e\n\n\u003cp\u003eKhi bạn viết một skill, bạn đang buộc phải \u003cem\u003earticulate\u003c\/em\u003e (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.\u003c\/p\u003e\n\n\u003cp\u003eKhi 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.\u003c\/p\u003e\n\n\u003cp\u003eVà 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.\u003c\/p\u003e\n\n\u003ch2\u003eBắt đầu với Skills ngay hôm nay\u003c\/h2\u003e\n\n\u003cp\u003eSkills là tính năng của Claude Code — bạn cần \u003ca href=\"https:\/\/claude.ai\/download\" target=\"_blank\" rel=\"noopener\"\u003eClaude Desktop\u003c\/a\u003e với Claude Code enabled để sử dụng.\u003c\/p\u003e\n\n\u003cp\u003eSkill đầ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.\u003c\/p\u003e\n\n\u003cp\u003eThờ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.\u003c\/p\u003e","brand":"Minh Tuấn","offers":[{"title":"Default Title","offer_id":47722630676692,"sku":null,"price":0.0,"currency_code":"VND","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0821\/0264\/9044\/files\/claude-skills-la-gi-d_y-claude-lam-vi_c-theo-cach-c_a-b_n-m_t-l_n-ap-d_ng-mai-mai.jpg?v=1774526756","url":"https:\/\/claude.vn\/products\/claude-skills-la-gi-d%e1%ba%a1y-claude-lam-vi%e1%bb%87c-theo-cach-c%e1%bb%a7a-b%e1%ba%a1n-m%e1%bb%99t-l%e1%ba%a7n-ap-d%e1%bb%a5ng-mai-mai","provider":"CLAUDE.VN","version":"1.0","type":"link"}