Cài đặt

Ngôn ngữ

Claude Code Skills: 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

L
LemonData
·26 tháng 2, 2026·598 lượt xem
Claude Code Skills: 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. Các kỹ năng (Skills) cho phép bạn chuyên biệt hóa nó. Một kỹ năng là một tệp markdown hướng dẫn Claude Code cách xử lý một loại tác vụ cụ thể: triển khai lên Kubernetes, viết migration cơ sở dữ liệu, xem xét pull request, hoặc tuân thủ các quy ước lập trình 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 tuân theo hệ thống thiết kế của chúng tôi, sử dụng các custom hooks của chúng tôi, với các error boundary và thuộc tính accessibility phù hợp" chính là một kỹ năng.

Tài liệu chính thức của Claude Code hiện đã nêu rõ: các lệnh tùy chỉnh (custom commands) đã được hợp nhất vào các kỹ năng (skills). Các tệp hiện có trong .claude/commands/ vẫn hoạt động, nhưng kỹ năng là cơ chế trừu tượng được khuyến nghị vì chúng hỗ trợ metadata phong phú hơn, các tệp hỗ trợ và tự động tải. Nếu bạn đang chuẩn hóa quy trình làm việc của nhóm hôm nay, hãy xây dựng nó dưới dạng kỹ năng trước và coi các lệnh cũ là một lộ trình tương thích.

Kỹ năng thực sự là gì

Một kỹ năng nằm trong một thư mục với một điểm đầu vào SKILL.md. Claude có thể tự động tải nó khi mô tả khớp với tác vụ hiện tại, hoặc bạn có thể gọi trực tiếp bằng /skill-name.

.claude/
  skills/
    deploy/
      SKILL.md         # /deploy
    review-pr/
      SKILL.md         # /review-pr
    write-test/
      SKILL.md         # /write-test

Claude vẫn hỗ trợ .claude/commands/deploy.md, và lệnh slash vẫn sẽ hoạt động. Nhưng phiên bản hiện đại là .claude/skills/deploy/SKILL.md.

Điều đó nghe có vẻ như một sự thay đổi nhỏ về cách đặt tên. Nhưng nó quan trọng vì các kỹ năng có thể mang theo các tệp hỗ trợ, frontmatter, các điều khiển gọi lệnh và gợi ý cho subagent. Một tệp lệnh mỏng có thể bảo Claude phải làm gì. Một kỹ năng có thể bảo Claude nhóm của bạn mong đợi công việc được thực hiện như thế nào.

Viết kỹ năng đầu tiên của bạn

Đây là một ví dụ thực tế: một kỹ năng thực thi các quy ước thông điệp commit của nhóm bạn.

Tạo .claude/skills/commit/SKILL.md:

---
name: commit
description: Generate and validate conventional commits for this repo.
---

# Commit Workflow

## Steps
1. Run `git diff --staged` to see what's being committed
2. Analyze the changes and categorize: feat, fix, refactor, docs, test, chore
3. Write a commit message following our convention:
   - Format: `type(scope): description`
   - Scope is the package or module name
   - Description is imperative mood, lowercase, no period
   - Body explains WHY, not WHAT
4. If changes touch multiple scopes, create separate commits
5. Run `git commit -m "message"` with the generated message

## Rules
- Never use `--no-verify` to skip hooks
- Never amend published commits
- If tests fail in pre-commit, fix the issue first

## Examples
- `feat(billing): add stripe webhook handler`
- `fix(auth): handle expired refresh tokens`
- `refactor(api): extract rate limiter to shared package`

Giờ đây /commit cung cấp cho Claude Code một quy trình làm việc có cấu trúc thay vì một hướng dẫn mơ hồ "commit các thay đổi của tôi".

Nếu bạn đã có các tệp lệnh cũ, hãy giữ cho chúng hoạt động trong khi di chuyển, nhưng đừng tiếp tục đầu tư vào bố cục cũ. Tài liệu chính thức đã nêu rõ rằng kỹ năng là hướng đi tương lai.

Nơi lưu trữ các kỹ năng hiện nay

Claude Code hiện khám phá các kỹ năng từ bốn vị trí:

  • kỹ năng cá nhân: ~/.claude/skills/<skill-name>/SKILL.md
  • kỹ năng dự án: .claude/skills/<skill-name>/SKILL.md
  • kỹ năng dự án lồng nhau trong monorepos
  • kỹ năng do plugin cung cấp

Điều đó mang lại cho bạn một sự phân chia rõ ràng:

  • kỹ năng cá nhân cho phong cách làm việc của riêng bạn
  • kỹ năng dự án cho các quy ước của repo
  • kỹ năng plugin cho các quy trình làm việc được đóng gói có thể tái sử dụng

Để áp dụng trong nhóm, hãy commit các kỹ năng dự án vào repo. Đó là sự khác biệt giữa “Tôi có một prompt hay trên máy tính xách tay của mình” và “nhóm hiện có một quy trình làm việc có thể lặp lại.”

Các mô hình thiết kế kỹ năng

Mô hình Danh sách kiểm tra (Checklist)

Tốt nhất cho các tác vụ có nhiều bước xác minh.

# Pre-Deploy Checklist

Before deploying, verify each item:

- [ ] `pnpm typecheck` passes
- [ ] `pnpm test` passes
- [ ] No console.log statements in production code
- [ ] Environment variables documented in .env.example
- [ ] Database migrations are reversible
- [ ] API changes are backward compatible

If any check fails, stop and report the issue. Do not proceed with deployment.

Mô hình Cây quyết định (Decision Tree)

Tốt nhất cho các tác vụ mà cách tiếp cận phụ thuộc vào ngữ cảnh.

# Bug Fix Workflow

1. Reproduce the bug (find or write a failing test)
2. Identify the root cause:
   - If it's a type error → fix the type definition at the source
   - If it's a race condition → add proper locking/sequencing
   - If it's a missing validation → add schema validation at the boundary
   - If it's a logic error → fix and add regression test
3. Verify the fix doesn't break existing tests
4. Write a test that would have caught this bug

Mô hình Bản mẫu (Template)

Tốt nhất để tạo đầu ra nhất quán.

# New API Endpoint

Create a new API endpoint following our conventions:

## File Structure
- 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`

## Required Elements
- Zod schema for request validation
- Authentication middleware
- Rate limiting
- Structured error responses using errorResponse()
- Success responses using successResponse()
- OpenAPI documentation comments

Cài đặt các kỹ năng cộng đồng

Hệ sinh thái Claude Code có một thư viện các kỹ năng cộng đồng đang ngày càng phát triển. Cài đặt chúng bằng:

npx add-skill username/repo-name -y

Các bộ sưu tập kỹ năng phổ biến:

  • coreyhaines31/marketingskills (29 kỹ năng marketing/SEO)
  • hedging8563/lemondata-api-skill (tích hợp LemonData API)

Các kỹ năng đã cài đặt xuất hiện trong ~/.claude/commands/ và hoạt động trên tất cả các dự án. Các gói kỹ năng được cài đặt ngày càng hiển thị các kỹ năng thực thụ thay vì chỉ là markdown lệnh slash. Nếu bạn duy trì repo của riêng mình, mô hình từ OpenCode + LemonData cũng áp dụng ở đây: giữ kỹ năng gần với quy trình làm việc, không ẩn trong các tệp prompt tùy tiện.

Kỹ năng dự án so với Kỹ năng toàn cục

Vị trí Phạm vi Trường hợp sử dụng
.claude/skills/ Chỉ dự án này Quy ước dự án, quy trình triển khai
~/.claude/skills/ Tất cả dự án Sở thích cá nhân, thói quen tái sử dụng
.claude/commands/ Tương thích cũ Các tệp lệnh slash cũ vẫn hoạt động

Các kỹ năng dự án nên được commit vào repo của bạn để cả nhóm đều được hưởng lợi. Các kỹ năng toàn cục dành cho sở thích quy trình làm việc cá nhân.

Nâng cao: Kỹ năng với Hook

Các kỹ năng có thể tham chiếu đến các hook (lệnh shell chạy trên các sự kiện cụ thể) để thực thi tự động:

# Pre-Commit Check

Before any commit, the following hooks run automatically:
- `pre-commit`: runs typecheck + lint
- `post-commit`: updates changelog

If a hook fails, investigate the error output and fix the issue.
Do not use --no-verify to bypass hooks.

Bản thân các hook được cấu hình trong .claude/settings.json:

{
  "hooks": {
    "pre-commit": "pnpm typecheck && pnpm lint-staged"
  }
}

Đây là nơi các kỹ năng trở nên quan trọng hơn cả những đoạn prompt ngắn. Một thiết lập nhóm hữu ích thường có ba lớp:

  1. một kỹ năng cho Claude biết quy trình làm việc
  2. các hook thực thi quy trình làm việc
  3. tài liệu repo giải thích quy trình làm việc cho con người

Nếu thiếu một trong những lớp đó, hệ thống sẽ trở nên mong manh. Một kỹ năng không có hook sẽ trở thành lời khuyên. Hook không có kỹ năng sẽ trở nên mơ hồ. Tài liệu không có cả hai sẽ trở thành chính sách lỗi thời mà không ai tuân theo.

Các tệp hỗ trợ là bản nâng cấp thực sự

Lý do quan trọng nhất để ưu tiên kỹ năng hơn markdown lệnh cũ là các tệp hỗ trợ.

Với một tệp lệnh, mọi thứ phải nằm trong một khối duy nhất. Với một thư mục kỹ năng, bạn có thể giữ:

  • templates (bản mẫu)
  • examples (ví dụ)
  • shell helpers (trình hỗ trợ shell)
  • longer reference notes (ghi chú tham chiếu dài hơn)
  • validator scripts (kịch bản xác thực)

Điều đó cho phép bạn giữ SKILL.md ngắn gọn và có tín hiệu cao trong khi vẫn cung cấp cho Claude tài liệu có cấu trúc để lấy vào khi cần thiết.

Điều này đặc biệt hữu ích cho:

  • quy trình triển khai
  • danh sách kiểm tra migration schema
  • quy trình xem xét mã nhiều bước
  • sổ tay tích hợp cụ thể cho sản phẩm

Nếu nhóm của bạn cũng đang sử dụng nhiều mô hình hoặc nhiều công cụ lập trình, hãy kết hợp trang này với so sánh mô hình lập trìnhhướng dẫn thiết lập Cursor / Cline / Windsurf. Các kỹ năng tốt quan trọng hơn khi mô hình hoặc trình soạn thảo cơ bản thay đổi.

Mẹo để có các kỹ năng hiệu quả

  1. Hãy cụ thể về đường dẫn tệp và quy ước đặt tên. "Tạo một component" là mơ hồ. "Tạo một component trong src/components/ui/ sử dụng cách đặt tên PascalCase" là có thể thực hiện được.

  2. Bao gồm các ví dụ về đầu ra chính xác. Claude Code học tốt hơn từ các ví dụ so với các quy tắc trừu tượng.

  3. Xác định những gì KHÔNG được làm. "Không bao giờ sử dụng kiểu any" dễ thực thi hơn là "sử dụng các kiểu dữ liệu phù hợp."

  4. Giữ cho các kỹ năng tập trung. Một kỹ năng cho mỗi quy trình làm việc. Một kỹ năng dài 200 dòng bao quát mọi thứ sẽ kém hữu ích hơn năm kỹ năng 40 dòng, mỗi kỹ năng xử lý tốt một tác vụ.

  5. Phiên bản hóa các kỹ năng của bạn. Khi các quy ước của bạn phát triển, hãy cập nhật các kỹ năng. Các kỹ năng lỗi thời còn tệ hơn là không có kỹ năng vì chúng thực thi các mô hình cũ.

  6. Quyết định xem kỹ năng nên tự động tải hay chỉ chạy thủ công. Nhiều nhóm quên điều này và sau đó tự hỏi tại sao Claude lại gọi một kỹ năng triển khai trong các cuộc hội thoại không liên quan.

Tác động trong thế giới thực

Các nhóm áp dụng kỹ năng báo cáo những cải thiện nhất quán:

  • Chu kỳ xem xét mã giảm vì các quy ước được thực thi trước khi xem xét
  • Thời gian làm quen (onboarding) giảm vì các lập trình viên mới nhận được sự hướng dẫn giống như những người kỳ cựu
  • Chất lượng mã do AI tạo ra cải thiện vì AI có ngữ cảnh rõ ràng về các tiêu chuẩn dự án

Khoản đầu tư là nhỏ (30 phút để viết vài kỹ năng đầu tiên của bạn) và lợi ích sẽ cộng dồn qua mỗi lần tương tác.

Mô hình tư duy hữu ích nhất là thế này: một kỹ năng không phải là một lối tắt cho Claude. Nó là một tạo vật quy trình làm việc có phiên bản cho nhóm của bạn.

Nếu bạn chỉ viết một kỹ năng, hãy biến nó thành kỹ năng mã hóa quyết định lặp lại tốn kém nhất trong codebase của bạn.


Xây dựng với AI, được hướng dẫn bởi các quy tắc của riêng bạn. LemonData cung cấp cho bạn một API key cho các mô hình lập trình trên các nhà cung cấp, vì vậy một khi các quy trình làm việc của bạn được mã hóa dưới dạng kỹ năng, bạn có thể chuyển đổi mô hình mà không cần xây dựng lại toàn bộ chuỗi công cụ.

Share: