Bỏ qua để đến nội dung

Tạo Skill Đầu Tiên

Level: L4 — AI Skills (Bài 7/12)

Sau bài này, bạn có thể:

  • Tạo 1 Skill hoàn chỉnh từ đầu, theo đúng quy trình hiện tại của claude.ai HOẶC Claude Code (2 nền tảng có quy trình khác nhau — bài này dạy cả 2).
  • Test Skill vừa tạo để xác nhận nó kích hoạt đúng lúc.
  • Tránh 3 lỗi phổ biến nhất khi tạo Skill lần đầu.

2 nền tảng, 2 quy trình khác nhau (bài 31 mục 4 — nhắc lại áp dụng cụ thể):

Trên claude.ai (S76):

  1. Viết file SKILL.md (frontmatter name+description, nội dung instructions).
  2. Thêm resources/scripts nếu cần (tùy chọn).
  3. Đóng gói toàn bộ thư mục thành 1 file ZIP đúng cấu trúc.
  4. Test trước khi upload: đọc lại cho rõ ràng, xác nhận file được tham chiếu đúng, thử hình dung với vài prompt mẫu.
  5. Upload và bật qua “Customize > Skills”.
  6. Lặp lại: thử nhiều prompt thật, xem “Claude’s thinking” để xác nhận Skill có được kích hoạt đúng không.

Trên Claude Code (S74):

  1. Tạo thư mục: mkdir -p ~/.claude/skills/ten-skill-cua-ban (skill cá nhân, dùng được mọi project) hoặc .claude/skills/ten-skill-cua-ban (chỉ project hiện tại).
  2. Viết SKILL.md trực tiếp vào thư mục đó — không cần upload, không cần đóng gói ZIP — Claude Code đọc thẳng từ filesystem.
  3. Test ngay: mở Claude Code trong project liên quan, thử 1 câu khớp description (để Claude tự kích hoạt) hoặc gõ trực tiếp /ten-skill-cua-ban (gọi thủ công).

Khác biệt cốt lõi: claude.ai cần đóng gói + upload qua giao diện web; Claude Code chỉ cần đặt đúng file vào đúng thư mục, có hiệu lực ngay trong phiên hiện tại (Live change detection — S74).

Đây là bài đầu tiên bạn thực sự tạo ra 1 Skill, sau 6 bài học khái niệm/kiến trúc. Chọn đúng quy trình theo đúng nền tảng bạn đang dùng tránh được tình huống làm theo hướng dẫn sai (ví dụ tìm “Settings → Capabilities” — đường dẫn không còn khớp giao diện hiện tại theo tài liệu hỗ trợ mới nhất).

Dù quy trình khác nhau, cả 2 nền tảng đều tuân theo đúng chuỗi đã học ở bài 31: viết SKILL.md (frontmatter + instructions) → (tùy chọn) thêm resources/scripts → hệ thống đọc metadata trước (Tầng 1) → đọc đầy đủ khi kích hoạt (Tầng 2). Sự khác biệt chỉ nằm ở bước “đăng ký” Skill với hệ thống (upload ZIP vs đặt file vào đúng thư mục filesystem) — không phải khác biệt về bản chất kiến trúc.

Nếu bài 31-34 dạy cách “viết đúng 1 bộ hồ sơ đào tạo”, bài này dạy cách “nộp hồ sơ đó vào đúng tủ hồ sơ” — claude.ai giống như nộp hồ sơ qua bộ phận tiếp nhận (đóng gói, gửi, chờ xác nhận); Claude Code giống như bạn có chìa khóa tủ hồ sơ, tự đặt hồ sơ vào đúng ngăn, có hiệu lực ngay.

Quy trình đầy đủ trên Claude Code (khuyến nghị thực hành đầu tiên — đơn giản nhất, test ngay được, đúng ví dụ chính thức S74):

  1. Chọn 1 việc đã đạt 4/4 tiêu chí ở checklist bài 29.
  2. Tạo thư mục: mkdir -p ~/.claude/skills/ten-skill.
  3. Viết SKILL.md:
    ---
    description: [Làm gì]. Use when [khi nào dùng, cụ thể].
    ---
    ## Instructions
    [Hướng dẫn súc tích, đúng nguyên tắc bài 32]
  4. Lưu file. Claude Code tự phát hiện Skill mới trong phiên hiện tại (Live change detection — S74), không cần khởi động lại.
  5. Test cách 1 — gõ 1 câu khớp description, quan sát Claude có tự kích hoạt Skill không.
  6. Test cách 2 — gõ trực tiếp /ten-skill, xác nhận Skill chạy đúng.
  7. Nếu Skill không kích hoạt ở test cách 1: sửa description cụ thể hơn, thêm từ khóa người dùng thực sự hay dùng (bài 32).

Quy trình trên claude.ai: làm theo đúng 6 bước ở mục 2 (phần claude.ai) — khác biệt chính so với Claude Code là cần đóng gói ZIP và upload thủ công qua “Customize > Skills”, sau đó lặp lại thử nghiệm bằng cách gõ prompt và đọc “Claude’s thinking” để xác nhận kích hoạt đúng.

Ví dụ chính thức — Skill tóm tắt thay đổi git (S74), áp dụng đúng quy trình Claude Code ở mục 6:

---
description: Summarizes uncommitted changes and flags anything risky. Use
when the user asks what changed, wants a commit message, or asks to
review their diff.
---
## Current changes
!`git diff HEAD`
## Instructions
Summarize the changes above in two or three bullet points, then list any
risks you notice such as missing error handling, hardcoded values, or
tests that need updating. If the diff is empty, say there are no
uncommitted changes.

Test cách 1: gõ “What did I change?” — Claude tự nhận diện khớp description và kích hoạt. Test cách 2: gõ /summarize-changes — gọi trực tiếp [S74]. Đây là ví dụ đầy đủ nhất, ngắn gọn, đúng mọi nguyên tắc đã học (concise — bài 32; description 2 vế — bài 32; dùng dynamic context injection — !`git diff HEAD` tự động chèn dữ liệu thật trước khi Claude đọc, 1 tính năng nâng cao của Claude Code không bắt buộc phải dùng ngay).

---
description: [Skill làm gì]. Use when [khi nào dùng].
---
## Instructions
[Bước 1]
[Bước 2]
[Bước 3]
[ ] description có đủ 2 vế (làm gì + khi nào)?
[ ] Instructions có súc tích, không giải thích thừa (bài 32)?
[ ] Đã chọn đúng nền tảng (claude.ai hay Claude Code) và làm đúng quy trình
tương ứng (mục 2)?
claude.aiViết SKILL.mdĐóng gói ZIPUpload → Customize > SkillsTest qua "Claude's thinking"Claude CodeViết SKILL.mdĐặt vào đúng thư mụcHiệu lực ngay (live detection)Test: câu khớp description hoặc /ten-skill
Hình 4.7 — 2 quy trình song song để tạo 1 Skill: claude.ai (đóng gói + upload) vs Claude Code (đặt file, hiệu lực ngay).
  1. Chọn 1 việc từ bài tập bài 29 (đạt 4/4 tiêu chí).
  2. Viết SKILL.md hoàn chỉnh theo template mục 8.
  3. Tạo Skill thật theo đúng quy trình nền tảng bạn đang dùng (mục 6).
  4. Test cả 2 cách (tự động + thủ công nếu ở Claude Code; hoặc theo quy trình claude.ai) — ghi lại: Skill có kích hoạt đúng lúc không?
  5. Nếu chưa kích hoạt đúng, áp dụng bài 32 để sửa description, thử lại.
  • Làm theo quy trình sai nền tảng — ví dụ tìm cách “đóng gói ZIP” khi đang dùng Claude Code (không cần bước này), hoặc tìm thư mục filesystem khi đang dùng claude.ai (không có khái niệm này trên web).
  • Không test trước khi coi là “xong” — tạo xong Skill mà không thử với câu hỏi thật, không biết Skill có thực sự kích hoạt đúng lúc hay không.
  • Copy nguyên quy trình “phỏng vấn Skill Creator” từ nguồn cũ (S09) — quy trình này không khớp tài liệu hỗ trợ hiện tại, dễ gây bối rối khi tìm không thấy tính năng được mô tả.

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Bài này dạy quy trình tạo Skill thủ công (tự viết SKILL.md) — không đề cập tới 1 số công cụ hỗ trợ tạo Skill có thể tồn tại (ví dụ plugin skill-creator của Claude Code, dùng cho việc đánh giá/tinh chỉnh Skill đã có qua eval — khác mục đích với bài này là tạo Skill lần đầu).
  • Không áp dụng cho Skill dựng sẵn (pre-built, như pptx/xlsx/docx/pdf) — bạn không tự tạo những Skill này, chúng có sẵn.

Với Skill đầu tiên, chưa cần lo về disable-model-invocation (bài 34) trừ khi Skill có side-effect thật ngay từ đầu. Tuy nhiên, nếu bạn thêm script thực thi ngay ở bước làm quen này, áp dụng đúng nguyên tắc audit đã học ở bài 31/33: đọc kỹ mọi dòng code trước khi để Claude chạy, đặc biệt nếu bạn copy script từ nguồn không phải tự viết.

  1. Bắt đầu với 1 Skill đơn giản nhất có thể (chỉ SKILL.md, không resources/scripts) để làm quen quy trình trước khi thêm độ phức tạp.
  2. Test bằng câu hỏi người dùng thật sẽ gõ, không phải câu diễn đạt y hệt description.
  3. Sau khi Skill hoạt động đúng lần đầu, đừng dừng lại — quay lại bài 32, rà soát lại description/instructions theo đúng nguyên tắc “concise” và “degrees of freedom”.
16. Nội dung nâng cao (không bắt buộc)

Với Claude Code, có 1 plugin chính thức riêng (skill-creator, cài qua /plugin install skill-creator@claude-plugins-official) hỗ trợ quy trình eval có cấu trúc: viết test case, chạy so sánh có-Skill/không-Skill, chấm điểm tự động, và tinh chỉnh description dựa trên tỷ lệ kích hoạt đúng/sai [S74]. Đây là công cụ dành cho việc cải thiện Skill đã tồn tại (liên quan trực tiếp tới evaluation đã học ở bài 34), không phải bước bắt buộc khi mới tạo Skill lần đầu như bài này.

[S74] Extend Claude with skills, Anthropic — quy trình Claude Code đầy đủ, ví dụ summarize-changes, plugin skill-creator · [S76] Creating custom Skills, Claude Help Center — quy trình claude.ai hiện tại (ZIP + Customize > Skills), thay thế mô tả quy trình cũ của S09 · [S09] Tạo Claude Skill Đầu Tiên Của Bạn, Phan Đông Giang (Tier 3) — chỉ còn giá trị tinh thần chung, không dùng cho chi tiết quy trình UI.