Tạo Custom Skill cho Claude Code: Đừng để AI làm “người lạ” trong dự án của bạn

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

Vấn đề: Nỗi ám ảnh debug lúc 2 giờ sáng

2 giờ sáng. Terminal đỏ lòm lỗi 500. Bạn đang vật lộn với đống legacy code rối rắm, nơi chỉ cần sửa một dòng database là frontend “sập nguồn” ngay lập tức. Bạn mở Claude Code lên với hy vọng giải quyết nhanh để đi ngủ. Thế nhưng, thay vì sửa lỗi, bạn mất thêm 15 phút chỉ để giải thích: “Này, dự án này dùng Repository Pattern, đừng dùng Prisma, hãy dùng Query Builder trong /lib/db nhé”.

Mỗi session mới là một lần lặp lại bài ca cũ. Claude Code rất thông minh nhưng nó vẫn là “người lạ” trong codebase của bạn. Nó không biết những quy tắc ngầm hay các script bash tiện ích bạn đã dày công chuẩn bị. Việc copy-paste hàng tá chỉ dẫn vào prompt khiến sự kiên nhẫn cạn kiệt nhanh hơn cả lượng caffeine trong máu.

Phân tích: Tại sao Claude vẫn chưa hiểu ý bạn?

Vấn đề không nằm ở khả năng suy luận. Thứ AI đang thiếu chính là Context (Ngữ cảnh)Capabilities (Khả năng thực thi). Mặc định, Claude Code chỉ có các công cụ cơ bản như đọc, viết file và chạy lệnh shell phổ thông. Nó chưa có “kiến thức chuyên gia” về quy trình riêng biệt của bạn.

Khi nhồi nhét mọi thứ vào một câu prompt dài dằng dặc, bạn sẽ vấp phải hai rào cản lớn:

  • Lãng phí Token: Prompt quá dài có thể ngốn tới 20-30% giới hạn context window, khiến AI dễ “ngáo” và quên nhiệm vụ chính.
  • Quá tải thao tác: Việc phải nhớ và nhắc lại các quy tắc thực thi khiến bạn mệt mỏi, dễ dẫn đến sai sót khi ra lệnh.

Nếu không đóng gói được các quy trình này, Claude Code mãi chỉ là một thợ code tay ngang thay vì một Senior thực thụ hiểu rõ từng ngõ ngách dự án.

Các giải pháp từ thủ công đến chuyên nghiệp

Mình đã thử nghiệm nhiều cách để “dạy bảo” Claude, dưới đây là những trải nghiệm thực tế:

1. Sử dụng file .clauderules

Đây là cách nhanh nhất. Bạn tạo file .clauderules ở root project để ghi các quy định về coding style. Claude Code sẽ tự đọc file này khi khởi động. Tuy nhiên, nó chỉ dừng lại ở mức nhắc nhở. Nó không thể thực hiện các workflow phức tạp như: Check log -> Parse lỗi -> Tìm file -> Chạy unit test.

2. Script Bash rời rạc

Mình từng viết sẵn các script trong folder /scripts rồi bảo Claude: “Nếu thấy lỗi DB thì chạy sh scripts/check-db.sh“. Cách này khá ổn nhưng Claude thường không biết khi nào thực sự cần chạy, hoặc nó không xử lý được các output phức tạp từ script.

3. Custom Skills – Giải pháp tối ưu nhất

Custom Skill không chỉ là tập lệnh, nó là định nghĩa về khả năng. Bạn dạy Claude hiểu: “Đây là công cụ của tôi, đây là cách dùng, và đây là lúc bạn nên gọi nó”. Giải pháp này giúp mình giảm đáng kể thời gian thao tác tay trên môi trường production.

Quy trình 3 bước triển khai Custom Skill

Thay vì bắt AI đoán mò, hãy cung cấp cho nó một bộ công cụ đặc dụng. Dưới đây là cách mình xây dựng một Skill thực tế.

Bước 1: Chọn Workflow có tần suất lặp lại cao

Đừng tham lam làm mọi thứ. Hãy chọn việc bạn làm nhiều nhất. Ví dụ: Skill analyze_production_error chuyên đọc log mới nhất, lọc lỗi Critical và đối chiếu với các commit gần nhất trong Git.

Bước 2: Định nghĩa cấu trúc Skill

Claude Code nhận diện Skill qua các file cấu hình trong thư mục .claudecode/. Một Skill chuẩn cần 4 yếu tố:

  • Name: Tên ngắn gọn (vd: deploy_hotfix).
  • Description: Mô tả chi tiết để AI biết khi nào cần “triệu hồi” skill.
  • Parameters: Các biến đầu vào như commit_id hay service_name.
  • Implementation: Các lệnh thực thi thực tế.

Ví dụ về file định nghĩa Skill audit_security mình đang dùng:

### audit_security

Quét lỗ hổng bảo mật trong các file vừa thay đổi.

**Usage:**
`audit_security --path <directory>`

**Steps:**
1. Chạy `git diff` để liệt kê file thay đổi.
2. Dùng `grep` tìm pattern nhạy cảm (API Key, Hardcoded Secret).
3. Chạy `npm audit` để kiểm tra thư viện lỗi thời.
4. Xuất báo cáo dạng bảng Markdown.

Bước 3: Chạy thử và tinh chỉnh

Khi bạn mô tả: “Check giúp mình xem code hôm nay có hở key nào không”, Claude sẽ tự nhận diện ý định và gọi skill audit_security. Bạn không cần nhớ chính xác tên lệnh hay tham số phức tạp nữa.

# Kích hoạt skill thủ công nếu cần
/activate_skill audit_security

# Hoặc ra lệnh tự nhiên
Claude, chạy audit security cho folder src/api.

Kinh nghiệm thực tế: Đừng tạo “Super Skill”

Sai lầm lớn nhất là tạo ra một Skill làm từ A đến Z. Kết quả là Claude thường xuyên bị rối. Hãy chia nhỏ thành các skill đơn nhiệm (Single Responsibility). Ví dụ: Chia thành fetch_logs, parse_errors, và suggest_fixes. Claude đủ thông minh để tự kết hợp chúng thành một chuỗi hành động hoàn chỉnh.

Kết luận

Tạo Custom Skill cho Claude Code là cách bạn truyền tư duy kỹ sư vào trợ lý ảo. Khi có bộ Skill tốt, những đêm trực production sẽ bớt kinh hoàng hơn. Thay vì vật lộn với log, bạn chỉ cần ra lệnh và giám sát AI thực thi theo quy trình chuẩn.

Hãy bắt đầu với một tác vụ nhỏ nhất ngay hôm nay. Bạn sẽ thấy Claude Code thực sự trở thành một cộng sự đắc lực chứ không chỉ là một chatbot biết code thông thường.

Share: