Bỏ qua, sang nội dung chính
← Về danh sách

· Working

Skills trong Claude Code: dạy Claude làm theo cách của bạn

Skill là một thư mục có file SKILL.md chứa hướng dẫn Claude tự nạp khi việc bạn giao khớp với mô tả. Bài giải thích skill là gì, nằm ở đâu, frontmatter gồm những trường nào, cách tạo một skill rà soát tương phản cho designer và rủi ro khi cài skill của người khác.

Skill trong Claude Code là một thư mục chứa file SKILL.md: phần đầu mô tả skill làm gì và khi nào dùng, phần thân là hướng dẫn từng bước. Claude chỉ đọc phần mô tả, tới khi việc bạn giao khớp mới nạp hướng dẫn. Bạn viết quy trình một lần, Claude làm theo mỗi lần sau.

Repo của site này có mười skill trong .claude/skills/, từ viết copy, biên tập copy đến kiểm SEO. Kế hoạch nội dung blog bạn đang đọc được lập với ba trong số đó. Bài này giải thích skill hoạt động ra sao, rồi đi qua cách tạo một skill nhỏ cho designer. Mọi trường và đường dẫn tôi kiểm trên tài liệu chính thức ngày 05/10/2026.

Skill trong Claude Code là gì?

Theo tài liệu Claude Code, skill gói hướng dẫn, tài liệu tham khảo và tự động hoá lại thành một thư mục. Tài liệu gợi ý tạo skill khi bạn thấy mình dán đi dán lại cùng một bộ hướng dẫn hay checklist vào khung chat.

Với designer, những việc như vậy rất nhiều: rà tương phản màu, viết microcopy theo giọng thương hiệu, kiểm một component có dùng token hay chép mã hex, soạn ghi chú bàn giao cho dev. Mỗi việc là một quy trình bạn đã quen tay. Skill giúp Claude quen tay theo đúng cách đó.

Skill không riêng gì Claude Code. Anthropic gọi chung là Agent Skills, dùng được trên claude.ai và qua API. Tuy vậy, skill ở mỗi nơi tách biệt nhau: skill trong Claude Code nằm trên ổ đĩa, không tự đồng bộ lên claude.ai hay API.

Skill khác gì CLAUDE.md, prompt và MCP?

Nạp khi nàoHợp với
CLAUDE.mdToàn bộ, ở mọi lượtSự thật ngắn: luật màu, đường dẫn component
Prompt trong chatChỉ trong cuộc trò chuyện đóViệc làm một lần
SkillMô tả luôn có mặt, thân nạp khi dùngQuy trình dài lặp lại nhiều lần
MCP serverKhi Claude gọi toolQuyền đọc và thao tác trên công cụ khác

Ở repo này, AGENTS.md (được CLAUDE.md nạp vào) giữ các luật như "không có box-shadow ở bất kỳ đâu" hay "chữ chỉ dùng weight 400 và 500". Những luật đó Claude cần ở mọi lượt nên để trong CLAUDE.md là đúng chỗ. Còn quy trình kiểm SEO một bài viết thì chỉ cần khi kiểm SEO, nên nó là skill. MCP là chuyện khác hẳn, tôi viết riêng ở bài MCP là gì.

Claude biết lúc nào cần dùng skill bằng cách nào?

Tài liệu Agent Skills gọi cơ chế này là nạp theo tầng:

  1. Lúc khởi động, Claude chỉ đọc name và description của mọi skill. Mỗi skill tốn khoảng 100 token.
  2. Khi yêu cầu khớp mô tả, Claude đọc phần thân SKILL.md. Bảng trong tài liệu ghi phần này thường dưới 5.000 token.
  3. Khi cần thêm, Claude mở các file phụ trong thư mục skill mà SKILL.md trỏ tới.

Vì vậy phần description quyết định gần hết. Nó phải nói skill làm gì và khi nào dùng, bằng chính những từ bạn hay gõ. Trong Claude Code, phần mô tả bị cắt ở 1.536 ký tự (tính gộp với trường when_to_use), nên câu quan trọng nhất đặt lên đầu.

Bạn cũng gọi skill bằng tay được: gõ /tên-skill ở đầu tin nhắn. Tài liệu ghi rõ các file lệnh cũ trong .claude/commands/ giờ chạy giống hệt skill.

Skill nằm ở thư mục nào?

LoạiĐường dẫnDùng ở đâu
Cá nhân~/.claude/skills/<tên-skill>/SKILL.mdMọi dự án trên máy bạn
Dự án.claude/skills/<tên-skill>/SKILL.mdRepo này, đi theo git
Plugin<plugin>/skills/<tên-skill>/SKILL.mdNơi plugin được bật, gọi bằng /tên-plugin:tên-skill

Ngoài ra còn skill do tổ chức triển khai và skill bật trong tài khoản claude.ai. Khi trùng tên, thứ tự ưu tiên là tổ chức, rồi cá nhân, rồi dự án.

Cấu trúc một skill thật trong repo này trông như sau:

.claude/skills/copywriting/
├── SKILL.md
├── references/
│   ├── ai-tells.md
│   ├── copy-frameworks.md
│   └── natural-transitions.md
└── evals/
    └── evals.json

SKILL.md giữ quy trình chính. Các file trong references/ chỉ được mở khi cần, ví dụ danh sách mẫu văn AI cần tránh.

File SKILL.md gồm những gì?

Hai phần: frontmatter YAML bắt đầu ở dòng đầu tiên, rồi nội dung Markdown. Các trường tôi thấy designer cần nhất:

TrườngTác dụng
nameTên hiện trong menu /. Bỏ trống thì lấy tên thư mục. Chỉ dùng chữ thường, số và dấu gạch ngang, tối đa 64 ký tự
descriptionSkill làm gì và khi nào dùng. Trường nên có nhất
when_to_useThêm cụm từ gợi ý khi nào gọi, nối vào sau description
allowed-toolsCho phép sẵn một số công cụ trong lượt đó, Claude không phải hỏi lại
disable-model-invocationĐặt true để chỉ bạn gọi được, Claude không tự gọi
argument-hintGợi ý tham số khi gõ, ví dụ [đường-dẫn-file]

Tài liệu còn nhiều trường khác (model, context, paths, hooks...). Bạn không cần chúng cho skill đầu tiên.

Tạo skill rà soát tương phản cho designer thế nào?

Tôi chọn việc rà tương phản vì nó có ngưỡng rõ ràng và tôi làm nó thường xuyên. Ở site này, màu #ff009d chỉ đạt 3,66:1 trên nền trắng, đủ cho nền nút nhưng trượt chuẩn AA với chữ cỡ thường. Chữ xám #717171 đạt 4,88:1 trên nền trắng nhưng chỉ còn 4,60:1 trên dải nền xám #f8f8f8. Kiểm những cặp này bằng tay mỗi lần đổi màu rất dễ sót.

  1. Tạo thư mục cho skill cá nhân, để dùng ở mọi dự án:

    mkdir -p ~/.claude/skills/ra-soat-tuong-phan
  2. Tạo file SKILL.md trong thư mục đó với nội dung:

    ---
    name: ra-soat-tuong-phan
    description: Rà soát tỉ lệ tương phản giữa màu chữ và màu nền theo WCAG mức AA trong component, file CSS hoặc file token. Dùng khi người dùng hỏi về tương phản, độ dễ đọc, màu chữ có đạt chuẩn không, hoặc nhờ kiểm accessibility của màu.
    argument-hint: [đường-dẫn-file]
    allowed-tools: Read Grep
    ---
    
    # Rà soát tương phản
    
    Kiểm file $ARGUMENTS. Nếu không có tham số, hỏi người dùng muốn kiểm file nào.
    
    ## Ngưỡng WCAG mức AA
    - Chữ thường: tối thiểu 4.5:1.
    - Chữ lớn (từ 24px, hoặc từ 18.66px khi đậm): tối thiểu 3:1.
    - Viền, icon và vòng focus của thành phần giao diện: tối thiểu 3:1.
    
    ## Cách làm
    1. Đọc file token màu của dự án để biết mỗi token ứng với giá trị nào.
    2. Tìm mọi cặp màu chữ và màu nền thật sự xuất hiện cùng nhau trong file.
    3. Tính tỉ lệ theo công thức relative luminance của WCAG, làm tròn 2 chữ số.
    4. Kiểm cả các nền phụ như nền xám của section hay trạng thái hover, không chỉ nền chính.
    5. Không sửa file. Chỉ báo cáo.
    
    ## Báo cáo
    Một bảng gồm các cột: Vị trí, Màu chữ, Màu nền, Tỉ lệ, Cỡ chữ, Đạt hay Trượt, Token gợi ý thay thế.
    Dòng cuối ghi tổng số cặp trượt.
  3. Mở Claude Code trong một dự án và gọi thử: /ra-soat-tuong-phan components/blog/mdx/note.tsx. Hoặc hỏi bình thường, kiểu "màu chữ trong file này có đủ tương phản không?", và xem Claude có tự nạp skill không.

  4. Sửa mô tả nếu skill không tự chạy. Tài liệu khuyên thêm đúng những từ bạn hay dùng khi hỏi. Nếu skill chạy quá thường, viết mô tả hẹp lại.

Vài điểm về file trên. $ARGUMENTS là chỗ Claude Code thay bằng phần bạn gõ sau tên skill. allowed-tools: Read Grep cho phép Claude đọc và tìm trong file mà không hỏi lại ở lượt đó. Trường này không giới hạn công cụ: quyền chung của bạn vẫn áp dụng. Ngưỡng màu tôi lấy từ hai tiêu chí 1.4.3 và 1.4.11 của WCAG, link ở cuối bài.

Muốn viết microcopy theo giọng của mình thì làm skill thứ hai cùng khuôn, thay ngưỡng màu bằng quy tắc giọng văn và vài ví dụ đúng sai. Khi làm form inquiry cho Car From Japan, tôi thiết kế lại nhãn nút, nội dung form và màn hình xác nhận. Phần chữ trong đó là loại việc tôi sẽ viết thành skill nếu làm lại hôm nay. Chi tiết dự án ở case study form inquiry.

Cài skill của người khác có an toàn không?

Anthropic viết rõ trong tài liệu Agent Skills: chỉ dùng skill từ nguồn tin cậy, tức là skill bạn tự viết hoặc lấy từ Anthropic. Skill có thể chứa hướng dẫn và code, nên một skill độc hại có thể khiến Claude gọi công cụ hay chạy code khác hẳn mục đích nó tự giới thiệu, dẫn tới lộ dữ liệu.

Trong Claude Code, skill có quyền mạng như mọi chương trình khác trên máy bạn. Đọc hết mọi file trong thư mục skill trước khi dùng, kể cả script và file tham khảo.

Khi đọc một skill lạ, tôi tìm ba thứ tài liệu Claude Code nhắc tới:

  1. allowed-tools quá rộng. Skill có thể tự cho phép mình chạy lệnh shell. Tài liệu khuyên xem trường này trong skill của repo trước khi chạy Claude Code ở repo bạn chưa tin.
  2. Lệnh chèn sẵn. Cú pháp !`lệnh` trong SKILL.md chạy lệnh trên máy bạn trước khi Claude đọc nội dung.
  3. Nội dung lấy từ URL bên ngoài. Tài liệu Agent Skills cảnh báo nội dung tải về có thể chứa câu lệnh độc hại, và skill đang tốt vẫn có thể hỏng khi nguồn bên ngoài thay đổi.

Điều này áp dụng cả khi bạn clone repo của người khác: thư mục .claude/skills/ trong đó sẽ được nạp khi bạn mở Claude Code ở repo đó.

Bắt đầu từ đâu?

Chọn một việc bạn đã giải thích cho Claude từ ba lần trở lên. Viết quy trình đó thành SKILL.md, đặt ở ~/.claude/skills/, gọi thử vài lần rồi sửa mô tả. Nếu bạn chưa cài Claude Code, đọc cài đặt Claude Code trước. Viết SKILL.md giống viết prompt tốt, nên cách viết prompt cho Claude áp dụng được ngay. Muốn xem skill nằm ở đâu trong cả quy trình thiết kế ra code, đọc Claude Code cho designer. Còn nếu skill của bạn cần biết hệ thống thiết kế, trỏ nó tới file DESIGN.md thay vì chép lại luật vào skill.

Bạn muốn trao đổi về cách đưa design system vào quy trình làm việc với AI, phần giới thiệu về tôi có cách liên hệ.

Nguồn

Đường dẫn thư mục, trường frontmatter và cảnh báo bảo mật kiểm theo các trang trên ngày 05/10/2026.

Câu hỏi thường gặp

Skill trong Claude Code đặt ở thư mục nào?
Skill cá nhân đặt ở ~/.claude/skills/<tên-skill>/SKILL.md và dùng được ở mọi dự án trên máy. Skill của dự án đặt ở .claude/skills/<tên-skill>/SKILL.md trong repo và đi theo git. Skill cũng có thể đến từ plugin.
SKILL.md bắt buộc phải có những trường nào?
Trong Claude Code, không trường frontmatter nào bắt buộc. Tài liệu khuyên luôn viết description, vì Claude dựa vào đó để quyết định khi nào nạp skill. Nếu bỏ name, tên skill lấy theo tên thư mục.
Gọi skill bằng tay thế nào?
Gõ dấu gạch chéo và tên skill ở đầu tin nhắn, ví dụ /ra-soat-tuong-phan. Nếu không gọi tay, Claude tự nạp skill khi yêu cầu của bạn khớp với phần description.
Skill khác gì CLAUDE.md?
CLAUDE.md được nạp toàn bộ ở mọi lượt. Thân của skill chỉ được nạp khi dùng tới, nên skill hợp với quy trình dài làm thỉnh thoảng, còn CLAUDE.md hợp với sự thật ngắn mà Claude cần biết mọi lúc.
Cài skill tải từ mạng có an toàn không?
Chỉ an toàn khi bạn tin nguồn và đã đọc hết nội dung. Anthropic khuyên chỉ dùng skill do chính bạn viết hoặc lấy từ Anthropic, vì skill độc hại có thể khiến Claude gọi công cụ hay chạy code sai mục đích đã nêu.