
Trang 43 / 43
Chương 43
Viết skill cho Claude Code như đội Anthropic: 9 loại skill và 9 bài học thực chiến
Skill trong Claude Code là một thư mục chứa hướng dẫn, đoạn mã và tài liệu mà AI tự tìm thấy và dùng khi gặp đúng việc. Đội làm Claude Code ở Anthropic dùng skill hằng ngày, và Thariq Shihipar (Anthropic) đã chia sẻ cách họ làm trong bài "Lessons from building Claude Code: How we use skills" trên trang claude.dev. Bài này tóm lại 9 loại skill họ hay viết và 9 bài học để skill của bạn thật sự có ích, trong khoảng 15 phút đọc.
Nếu chưa biết skill là gì, đọc trước bài Claude Skills là gì và bài Claude Code là gì.
Chuẩn bị
- Claude Code đã cài trên máy (miễn phí cài đặt, cần gói Claude trả phí hoặc tài khoản API để dùng).
- Một việc bạn làm đi làm lại: đăng báo cáo tuần, kiểm tra trang web sau khi sửa, tra dữ liệu bán hàng...
- Thư mục
.claude/skills/trong dự án, mỗi skill là một thư mục con có fileSKILL.md.
Hiểu lầm hay gặp nhất, theo bài gốc: skill không chỉ là một file markdown. Nó là cả một thư mục, có thể chứa đoạn mã, mẫu, dữ liệu để AI đọc và dùng.
Làm từng bước
Bước 1: Chọn đúng loại skill
Anthropic chia skill của họ thành 9 loại. Skill tốt nằm gọn trong một loại. Skill ôm nhiều loại cùng lúc làm AI rối.
- Hướng dẫn dùng thư viện, công cụ: cách dùng đúng một thư viện hay công cụ dòng lệnh, kèm các bẫy hay gặp.
- Kiểm tra sản phẩm: mô tả cách thử xem sản phẩm chạy đúng chưa. Theo bài gốc, đây là loại giúp chất lượng đầu ra của Claude tăng rõ nhất trong nội bộ Anthropic.
- Lấy và phân tích dữ liệu: nối với nơi chứa số liệu, kèm cách truy vấn.
- Tự động hóa quy trình nhóm: ví dụ đăng cập nhật buổi họp sáng, viết tóm tắt tuần.
- Tạo khung dự án theo mẫu: dựng sẵn bộ khung cho một loại ứng dụng.
- Soát chất lượng code: giữ chuẩn viết code của nhóm.
- Đưa code lên máy chủ: kéo, đẩy và triển khai code.
- Sổ tay xử lý sự cố: nhận dấu hiệu lỗi (cảnh báo, thông báo lỗi) rồi viết báo cáo điều tra có cấu trúc.
- Vận hành hạ tầng: việc bảo trì định kỳ, có rào chắn trước các thao tác xóa.
Người không viết code thường bắt đầu với loại 3, 4 hoặc 8.
Bước 2: Đừng viết điều AI đã biết
Skill nên chứa thứ đẩy Claude vượt qua cách làm mặc định. Ví dụ skill thiết kế giao diện của Anthropic tồn tại để kéo Claude ra khỏi kiểu quen thuộc như phông Inter và nền chuyển màu tím.
Bước 3: Viết phần "Gotchas" (bẫy hay gặp)
Bài gốc gọi đây là phần đáng giá nhất của mọi skill: những chỗ AI hay làm sai, được bổ sung dần theo thời gian. Ví dụ trong bài: bảng thuê bao chỉ được ghi thêm, không sửa, nên dòng cần lấy là dòng có số phiên bản cao nhất, không phải dòng tạo gần nhất.
## Gotchas
- [Điều AI hay hiểu sai] → [Cách đúng]
- [Tên cột khác nhau giữa hai hệ thống] → [Cột nào là cột đúng]
Bước 4: Chia nhỏ bằng thư mục, chỉ đọc khi cần
Đừng nhồi hết vào một file. Để mẫu trong assets/, tài liệu tra cứu trong references/, đoạn mã trong scripts/, rồi trong SKILL.md chỉ đường cho Claude tới đúng file khi cần. Cách này gọi là progressive disclosure (mở dần thông tin): AI chỉ đọc phần liên quan, đỡ tốn bộ nhớ làm việc.
Bước 5: Nêu mục tiêu, đừng bắt đi từng bước
Thay vì liệt kê sáu lệnh git cụ thể, bài gốc khuyên viết mục tiêu, ví dụ: "Đưa commit sang một nhánh sạch. Khi có xung đột, giữ đúng ý định ban đầu." Đưa thông tin và ràng buộc, nhưng để Claude linh hoạt.
Bước 6: Lo phần cài đặt ban đầu
Lưu thông tin cấu hình (kênh Slack nào, bảng số liệu nào) trong file config.json của skill. Nếu chưa có, cho Claude hỏi lại người dùng bằng các lựa chọn rõ ràng.
Bước 7: Viết mô tả cho AI đọc, không phải cho người
Phần mô tả (description) không phải bản tóm tắt. Nó là thứ Claude đọc để quyết định có dùng skill hay không, nên hãy ghi luôn những câu người dùng hay nói. Ví dụ trong bài gốc:
description: Theo dõi một PR cho tới khi được gộp.
Dùng khi người dùng nói "trông giúp", "canh CI", "đảm bảo cái này lên được".
Bước 8: Giúp Claude nhớ và tái dùng đoạn mã
- Một file nhật ký chỉ ghi thêm (ví dụ lưu trong thư mục mà biến
${CLAUDE_PLUGIN_DATA}trỏ tới) giúp Claude nhớ lần trước đã làm gì. - Để sẵn các hàm tiện ích trong skill, ghi chú bẫy ngay trong phần mô tả hàm, để Claude ghép lại thay vì viết lại từ đầu.
Bước 9: Gắn "rào chắn" chỉ khi skill được gọi
Skill có thể bật hook (đoạn kiểm tra tự chạy) chỉ khi được dùng. Ví dụ Anthropic có /careful chặn lệnh nguy hiểm khi làm trên hệ thống thật, và /freeze chỉ cho sửa trong một vài thư mục.
Kết quả mẫu
Một skill "báo cáo tuần" gọn gàng có thể trông như sau:
.claude/skills/weekly-report/
├── SKILL.md # mục tiêu, các bước chính, phần Gotchas
├── config.json # kênh gửi báo cáo, tên bảng số liệu
├── references/
│ └── metrics.md # ý nghĩa từng chỉ số
└── assets/
└── template.md # khung báo cáo mẫu
Mô tả trong SKILL.md: "Viết báo cáo tuần từ số liệu bán hàng. Dùng khi người dùng nói 'báo cáo tuần', 'tổng kết tuần', 'weekly recap'." Phần Gotchas ghi: "Doanh thu tính theo ngày thanh toán, không theo ngày đặt hàng."
Mẹo để kết quả tốt hơn
- Bắt đầu nhỏ. Bài gốc kết luận: phần lớn skill tốt nhất của họ bắt đầu chỉ vài dòng và một bẫy, rồi tốt dần nhờ mọi người bổ sung mỗi khi Claude gặp tình huống mới.
- Chia sẻ đúng cách. Nhóm nhỏ thì để skill ngay trong kho code (
.claude/skills). Nhóm lớn thì gom thành một "chợ plugin" để mỗi người tự chọn cài. - Đo xem skill nào được dùng. Anthropic dùng hook ghi lại mỗi lần skill chạy, để biết skill nào được ưa chuộng và skill nào ít được gọi hơn mong đợi.
- Đọc thêm bài CLAUDE.md, tờ hướng dẫn giúp Claude nhớ mọi thứ để biết việc nào nên để trong CLAUDE.md, việc nào nên tách thành skill.
Giới hạn cần biết
- Skill không thay được việc bạn kiểm tra. Nhất là skill đưa code lên máy chủ hay xóa dữ liệu: luôn có bước xác nhận.
- Đừng để mật khẩu, khóa API trong file skill nếu thư mục đó được chia sẻ hay đưa lên GitHub.
- Skill từ người khác chạy với quyền như Claude Code trên máy bạn. Chỉ cài skill từ nguồn bạn tin.
- Cách làm skill vẫn đang thay đổi, chính bài gốc nói các "best practice" còn đang tiến hóa.
Câu hỏi thường gặp
Skill khác gì CLAUDE.md? CLAUDE.md được đọc ở đầu mỗi phiên làm việc, nên giữ ngắn. Skill chỉ được nạp khi gặp đúng việc, nên có thể chứa hướng dẫn dài, mẫu và đoạn mã mà không làm chật bộ nhớ của AI.
Người không biết code có viết skill được không? Được. Skill cơ bản chỉ là một file chữ mô tả mục tiêu, các bước chính và bẫy hay gặp. Bạn có thể nhờ chính Claude Code viết khung skill rồi sửa lại.
Loại skill nào nên viết đầu tiên? Theo bài gốc, skill kiểm tra sản phẩm giúp chất lượng tăng rõ nhất. Với người làm nội dung hay vận hành, một skill cho việc lặp lại hằng tuần là điểm khởi đầu dễ nhất.
Vì sao skill của tôi không được Claude tự dùng? Thường do phần mô tả viết như bản tóm tắt cho người đọc. Hãy thêm những câu người dùng hay nói khi cần việc đó.
Nội dung này lấy từ đâu? Từ bài "Lessons from building Claude Code: How we use skills" của Thariq Shihipar trên claude.dev, trang chia sẻ kinh nghiệm của đội ngũ phát triển Anthropic.
#ClaudeCode #ClaudeSkills #AIAgent #TuDongHoa #VibeCoding #VibeAICoder
