Kỹ Năng Claude Code: Xây Dựng Quy Trình Làm Việc Tùy Chỉnh Cho Trợ Lý Lập Trình AI Của Bạn
Claude Code đi kèm với một trợ lý AI đa năng. Kỹ năng cho phép bạn chuyên biệt hóa nó. Một kỹ năng là một file markdown dạy Claude Code cách xử lý một loại nhiệm vụ cụ thể: triển khai lên Kubernetes, viết các bản di chuyển cơ sở dữ liệu, xem xét pull request, hoặc tuân theo quy ước mã hóa của nhóm bạn.
Sự khác biệt giữa "viết cho tôi một component React" và "viết cho tôi một component React theo hệ thống thiết kế của chúng tôi, sử dụng các custom hooks riêng, với biên giới lỗi và thuộc tính truy cập đúng chuẩn" chính là một kỹ năng.
Kỹ Năng Thực Sự Là Gì
Một kỹ năng là một file markdown nằm trong .claude/commands/ (cấp dự án) hoặc ~/.claude/commands/ (toàn cục). Khi bạn gõ /skill-name trong Claude Code, nội dung file sẽ được chèn vào cuộc trò chuyện như các hướng dẫn.
.claude/
commands/
deploy.md # /deploy
review-pr.md # /review-pr
write-test.md # /write-test
Chỉ vậy thôi. Không cần cú pháp đặc biệt, không cần biên dịch, không cần SDK. Chỉ là markdown mô tả cách làm một việc gì đó.
Viết Kỹ Năng Đầu Tiên Của Bạn
Dưới đây là một ví dụ thực tế: một kỹ năng áp dụng quy ước tin nhắn commit của nhóm bạn.
Tạo file .claude/commands/commit.md:
# Quy Trình Commit
## Các Bước
1. Chạy `git diff --staged` để xem những gì đang được commit
2. Phân tích các thay đổi và phân loại: feat, fix, refactor, docs, test, chore
3. Viết tin nhắn commit theo quy ước của chúng ta:
- Định dạng: `type(scope): description`
- Scope là tên package hoặc module
- Description dùng thể mệnh lệnh, chữ thường, không dấu chấm
- Phần thân giải thích LÝ DO, không phải NỘI DUNG
4. Nếu thay đổi ảnh hưởng đến nhiều scope, tạo các commit riêng biệt
5. Chạy `git commit -m "message"` với tin nhắn đã tạo
## Quy Tắc
- Không bao giờ dùng `--no-verify` để bỏ qua hook
- Không bao giờ sửa đổi commit đã được phát hành
- Nếu test fail trong pre-commit, sửa lỗi trước
## Ví Dụ
- `feat(billing): add stripe webhook handler`
- `fix(auth): handle expired refresh tokens`
- `refactor(api): extract rate limiter to shared package`
Bây giờ /commit cung cấp cho Claude Code một quy trình có cấu trúc thay vì chỉ là lệnh mơ hồ "commit các thay đổi của tôi".
Mẫu Thiết Kế Kỹ Năng
Mẫu Danh Sách Kiểm Tra
Phù hợp cho các nhiệm vụ có nhiều bước xác minh.
# Danh Sách Kiểm Tra Trước Triển Khai
Trước khi triển khai, xác minh từng mục:
- [ ] `pnpm typecheck` chạy thành công
- [ ] `pnpm test` chạy thành công
- [ ] Không có câu lệnh console.log trong mã sản xuất
- [ ] Biến môi trường được ghi chú trong .env.example
- [ ] Các bản di chuyển cơ sở dữ liệu có thể đảo ngược
- [ ] Thay đổi API tương thích ngược
Nếu bất kỳ kiểm tra nào thất bại, dừng lại và báo lỗi. Không tiếp tục triển khai.
Mẫu Cây Quyết Định
Phù hợp cho các nhiệm vụ mà cách tiếp cận phụ thuộc vào ngữ cảnh.
# Quy Trình Sửa Lỗi
1. Tái hiện lỗi (tìm hoặc viết test bị fail)
2. Xác định nguyên nhân gốc rễ:
- Nếu là lỗi kiểu → sửa định nghĩa kiểu tại nguồn
- Nếu là race condition → thêm khóa/điều phối đúng cách
- Nếu thiếu kiểm tra → thêm xác thực schema ở ranh giới
- Nếu lỗi logic → sửa và thêm test hồi quy
3. Xác minh sửa lỗi không làm hỏng test hiện có
4. Viết test có thể phát hiện lỗi này
Mẫu Template
Phù hợp cho việc tạo ra đầu ra nhất quán.
# Endpoint API Mới
Tạo endpoint API mới theo quy ước của chúng ta:
## Cấu Trúc File
- Route handler: `apps/api/src/routes/{resource}/{action}.ts`
- Schema: `apps/api/src/schemas/{resource}.ts`
- Test: `apps/api/src/routes/{resource}/__tests__/{action}.test.ts`
## Yếu Tố Bắt Buộc
- Schema Zod để xác thực request
- Middleware xác thực
- Giới hạn tốc độ
- Phản hồi lỗi có cấu trúc dùng errorResponse()
- Phản hồi thành công dùng successResponse()
- Bình luận tài liệu OpenAPI
Cài Đặt Kỹ Năng Cộng Đồng
Hệ sinh thái Claude Code có thư viện kỹ năng cộng đồng ngày càng phong phú. Cài đặt chúng bằng lệnh:
npx add-skill username/repo-name -y
Bộ kỹ năng phổ biến:
coreyhaines31/marketingskills(29 kỹ năng marketing/SEO)hedging8563/lemondata-api-skill(Tích hợp API LemonData)
Kỹ năng đã cài sẽ xuất hiện trong ~/.claude/commands/ và hoạt động trên tất cả các dự án.
Kỹ Năng Dự Án và Toàn Cục
| Vị Trí | Phạm Vi | Trường Hợp Sử Dụng |
|---|---|---|
.claude/commands/ |
Chỉ dự án này | Quy ước dự án, quy trình triển khai |
~/.claude/commands/ |
Tất cả dự án | Sở thích cá nhân, công cụ chung |
Kỹ năng dự án nên được commit vào repo để cả nhóm cùng hưởng lợi. Kỹ năng toàn cục dành cho sở thích quy trình cá nhân.
Nâng Cao: Kỹ Năng Với Hooks
Kỹ năng có thể tham chiếu đến hooks (lệnh shell chạy khi sự kiện cụ thể xảy ra) để tự động áp dụng:
# Kiểm Tra Trước Commit
Trước mỗi commit, các hook sau chạy tự động:
- `pre-commit`: chạy typecheck + lint
- `post-commit`: cập nhật changelog
Nếu hook thất bại, kiểm tra lỗi và sửa. Không dùng --no-verify để bỏ qua hook.
Các hook được cấu hình trong .claude/settings.json:
{
"hooks": {
"pre-commit": "pnpm typecheck && pnpm lint-staged"
}
}
Mẹo Để Kỹ Năng Hiệu Quả
Rõ ràng về đường dẫn file và quy ước đặt tên. "Tạo một component" thì mơ hồ. "Tạo component trong
src/components/ui/dùng cách đặt tên PascalCase" thì dễ thực hiện hơn.Đưa ví dụ đầu ra đúng. Claude Code học tốt hơn từ ví dụ thực tế hơn là quy tắc trừu tượng.
Định nghĩa những gì KHÔNG được làm. "Không bao giờ dùng kiểu
any" dễ áp dụng hơn "dùng kiểu đúng".Giữ kỹ năng tập trung. Một kỹ năng cho một quy trình. Một kỹ năng 200 dòng bao quát mọi thứ ít hữu ích hơn năm kỹ năng 40 dòng mỗi cái xử lý tốt một nhiệm vụ.
Phiên bản hóa kỹ năng. Khi quy ước thay đổi, cập nhật kỹ năng. Kỹ năng lỗi thời còn tệ hơn không có vì áp dụng mẫu cũ.
Tác Động Thực Tế
Những nhóm áp dụng kỹ năng báo cáo cải thiện rõ rệt:
- Chu kỳ review code giảm vì quy ước được áp dụng trước khi review
- Thời gian onboarding giảm vì lập trình viên mới nhận được hướng dẫn giống người có kinh nghiệm
- Chất lượng code do AI tạo ra cải thiện vì AI có ngữ cảnh rõ ràng về tiêu chuẩn dự án
Đầu tư nhỏ (30 phút để viết vài kỹ năng đầu tiên) và lợi ích tăng dần qua mỗi lần tương tác.
Xây dựng với AI, được hướng dẫn bởi quy tắc riêng của bạn. lemondata.cc cung cấp hạ tầng API cho các công cụ phát triển AI.
