Hướng Dẫn Kỹ Thuật · 2026

Xây Dựng Skill
cho Claude

Từ lên kế hoạch và thiết kế đến kiểm thử và phân phối — mọi thứ bạn cần để xây dựng skill hiệu quả.

📖 Toàn diện ⚡ 15–30 phút để bắt đầu 🔧 Claude.ai · Claude Code · API
Mở đầu
Giới thiệu

Skill là một tập hợp các hướng dẫn — được đóng gói trong một thư mục đơn giản — giúp Claude biết cách xử lý các tác vụ hoặc quy trình công việc cụ thể. Thay vì phải giải thích lại sở thích, quy trình và kiến thức chuyên môn trong mỗi cuộc trò chuyện, skill cho phép bạn dạy Claude một lần và hưởng lợi mãi mãi.

Skill phát huy sức mạnh khi bạn có
  • Tạo giao diện frontend từ đặc tả kỹ thuật
  • Thực hiện nghiên cứu với phương pháp nhất quán
  • Tạo tài liệu theo phong cách của nhóm
  • Điều phối các quy trình nhiều bước lặp đi lặp lại
Bạn sẽ học được
  • Yêu cầu kỹ thuật và các thực hành tốt nhất về cấu trúc skill
  • Các mẫu cho skill độc lập và quy trình được tăng cường bởi MCP
  • Các mẫu hoạt động tốt trong nhiều trường hợp sử dụng
  • Cách kiểm thử, cải tiến và phân phối skill của bạn
💡
Kết quả bạn đạt được: Đến cuối hướng dẫn này, bạn sẽ có thể xây dựng một skill hoạt động trong một buổi ngồi. Dự kiến khoảng 15–30 phút để xây dựng và kiểm thử skill đầu tiên bằng skill-creator.
1
Chương 1
Kiến Thức Cơ Bản

Skill là gì?

Skill là một thư mục chứa các thành phần sau:

Tệp / Thư mụcTrạng tháiMô tả
SKILL.mdBắt buộcHướng dẫn dạng Markdown với YAML frontmatter
scripts/Tùy chọnMã thực thi (Python, Bash, v.v.)
references/Tùy chọnTài liệu được tải khi cần
assets/Tùy chọnTemplate, font, biểu tượng dùng trong đầu ra

Nguyên tắc thiết kế cốt lõi

Tiết lộ dần dần (Progressive Disclosure)
  • Cấp độ 1 — YAML frontmatter: Luôn được tải trong system prompt. Cung cấp vừa đủ để Claude biết khi nào dùng skill.
  • Cấp độ 2 — Phần thân SKILL.md: Được tải khi Claude cho rằng skill phù hợp. Chứa toàn bộ hướng dẫn.
  • Cấp độ 3 — Tệp liên kết: Các tệp bổ sung mà Claude điều hướng và khám phá khi cần thiết.
Các tính chất cốt lõi
  • Khả năng kết hợp: Claude có thể tải nhiều skill đồng thời — skill của bạn nên hoạt động tốt cùng những skill khác.
  • Khả năng di chuyển: Skill hoạt động như nhau trên Claude.ai, Claude Code và API — một lần tạo, dùng mọi nơi.

Skill + MCP: Phép ẩn dụ nhà bếp

🔧 MCP (Kết nối)
  • Kết nối Claude với dịch vụ (Notion, Asana, Linear…)
  • Cung cấp truy cập dữ liệu thời gian thực
  • Claude có thể làm gì
📖 Skill (Kiến thức)
  • Dạy Claude cách dùng dịch vụ hiệu quả
  • Nắm bắt quy trình và thực hành tốt nhất
  • Claude nên làm như thế nào
2
Chương 2
Lên Kế Hoạch & Thiết Kế

Bắt đầu từ trường hợp sử dụng

Trước khi viết bất kỳ mã nào, hãy xác định 2–3 trường hợp sử dụng cụ thể mà skill cần hỗ trợ.

# Ví dụ định nghĩa trường hợp sử dụng tốt
Trường hợp sử dụng: Lập kế hoạch Sprint dự án

Điều kiện kích hoạt:
  "giúp tôi lập kế hoạch sprint"
  "tạo task cho sprint"

Các bước:
  1. Lấy trạng thái dự án hiện tại từ Linear (qua MCP)
  2. Phân tích tốc độ và năng lực nhóm
  3. Đề xuất thứ tự ưu tiên tác vụ
  4. Tạo task trong Linear với nhãn và ước tính

Kết quả: Sprint được lập kế hoạch đầy đủ với task đã tạo

Ba danh mục trường hợp sử dụng phổ biến

📄
Danh mục 1: Tạo tài liệu & tài sản
Tạo đầu ra nhất quán, chất lượng cao: tài liệu, bản trình bày, ứng dụng, thiết kế, mã. Không cần công cụ bên ngoài.
⚙️
Danh mục 2: Tự động hóa quy trình
Các quy trình nhiều bước với phương pháp nhất quán, bao gồm điều phối qua nhiều MCP server.
🔌
Danh mục 3: Nâng cấp MCP
Hướng dẫn quy trình để nâng cao quyền truy cập công cụ mà MCP server cung cấp. Nhúng kiến thức chuyên môn.

Yêu cầu kỹ thuật

# Cấu trúc thư mục skill
your-skill-name/
  SKILL.md        # Bắt buộc
  scripts/        # Tùy chọn
    process_data.py
    validate.sh
  references/     # Tùy chọn
    api-guide.md
  assets/         # Tùy chọn
    report-template.md
Quy tắc quan trọng về đặt tên
  • Tên tệp phải là chính xác SKILL.md — phân biệt chữ hoa/thường
  • Thư mục dùng kebab-case: notion-project-setup
  • Không dùng khoảng trắng, dấu gạch dưới hay chữ hoa trong tên thư mục
  • Không đặt README.md trong thư mục skill

YAML Frontmatter

YAML frontmatter là cách Claude quyết định có tải skill của bạn hay không. Đây là phần quan trọng nhất.

--- Định dạng tối thiểu bắt buộc ---
---
name: your-skill-name
description: Nó làm gì. Dùng khi người dùng yêu cầu [cụm từ cụ thể].
---

--- Tất cả trường tùy chọn ---
---
name: skill-name
description: [description bắt buộc]
license: MIT
allowed-tools: "Bash(python:*) Bash(npm:*) WebFetch"
metadata:
  author: Tên Công ty
  version: 1.0.0
  mcp-server: ten-server
  category: nang-suat
---

Viết trường description hiệu quả

Cấu trúc: [Skill làm gì] + [Khi nào dùng] + [Khả năng chính]

❌ Description xấu
  • Quá mơ hồ: "Giúp đỡ với các dự án."
  • Thiếu điều kiện kích hoạt: "Tạo hệ thống tài liệu phức tạp."
✅ Description tốt
  • Cụ thể: "Phân tích tệp Figma, tạo tài liệu bàn giao cho nhà phát triển. Dùng khi người dùng tải lên tệp .fig hoặc yêu cầu 'đặc tả thiết kế'."
  • Có cụm từ kích hoạt: "…khi người dùng đề cập 'sprint', 'Linear tasks'…"
3
Chương 3
Kiểm Thử & Cải Tiến
💡
Lặp đi lặp lại trên một tác vụ duy nhất trước khi mở rộng. Người tạo skill hiệu quả nhất lặp trên một tác vụ thách thức cho đến khi Claude thành công, rồi trích xuất cách tiếp cận chiến thắng vào skill.

Ba lĩnh vực kiểm thử cốt lõi

1. Kiểm thử kích hoạt
  • ✅ Kích hoạt với tác vụ rõ ràng: "Giúp tôi thiết lập workspace mới"
  • ✅ Kích hoạt với yêu cầu được diễn đạt khác: "Tôi cần tạo một dự án"
  • 🚫 Không kích hoạt với chủ đề không liên quan: "Thời tiết ở Hà Nội?"
2. Kiểm thử chức năng
  • Đầu ra hợp lệ được tạo ra
  • Gọi API thành công, không có lỗi
  • Xử lý lỗi hoạt động đúng
  • Các trường hợp biên được bao phủ
3. So sánh hiệu suất
Không có skill
  • 15 tin nhắn qua lại
  • 3 lần gọi API thất bại
  • 12,000 token tiêu thụ
Với skill
  • Chỉ 2 câu hỏi làm rõ
  • 0 lỗi gọi API
  • 6,000 token tiêu thụ

Tín hiệu để cải tiến

Triệu chứngNguyên nhânGiải pháp
Skill không tự động tảiDescription quá mơ hồThêm cụm từ kích hoạt cụ thể hơn
Skill tải cho query không liên quanDescription quá chungThêm điều kiện kích hoạt âm
Kết quả không nhất quánHướng dẫn không rõ ràngCải thiện hướng dẫn, thêm xử lý lỗi
4
Chương 4
Phân Phối & Chia Sẻ

Mô hình phân phối

Trường hợp sử dụngNền tảng phù hợp
Người dùng cuối tương tác trực tiếpClaude.ai / Claude Code
Kiểm thử thủ công trong phát triểnClaude.ai / Claude Code
Ứng dụng dùng skill theo chương trìnhAPI
Triển khai sản xuất quy mô lớnAPI
Pipeline tự động & hệ thống agentAPI

Cách tiếp cận được khuyến nghị

Bước 1: Lưu trữ trên GitHub
  • Repository công khai cho skill mã nguồn mở
  • README rõ ràng với hướng dẫn cài đặt
  • Ví dụ sử dụng và ảnh chụp màn hình
Bước 2: Tài liệu trong Repo MCP
  • Liên kết đến skill từ tài liệu MCP
  • Giải thích giá trị của việc dùng cả hai cùng nhau
  • Cung cấp hướng dẫn bắt đầu nhanh
# Hướng dẫn cài đặt mẫu trong README
## Cài đặt skill [Dịch vụ của bạn]

1. Tải xuống:   git clone https://github.com/yourcompany/skills
2. Cài đặt:   Claude.ai › Cài đặt › Skills › Tải lên skill
3. Bật:       Toggle on [Dịch vụ] skill + đảm bảo MCP đã kết nối
4. Kiểm thử:  "Thiết lập dự án mới trong [Dịch vụ]"
Định vị đúng: Tập trung vào kết quả, không phải tính năng. "Skill ProjectHub giúp nhóm thiết lập workspace hoàn chỉnh chỉ trong vài giây — thay vì 30 phút thiết lập thủ công."
5
Chương 5
Các Mẫu & Xử Lý Sự Cố

5 mẫu thiết kế skill phổ biến

🔢
Mẫu 1: Quy trình tuần tự
Nhiều bước theo thứ tự cụ thể. Gọi MCP từng bước, xác thực trước khi chuyển tiếp.
🌐
Mẫu 2: Đa MCP
Quy trình trải rộng nhiều dịch vụ: Figma → Drive → Linear → Slack.
🔄
Mẫu 3: Tinh chỉnh lặp
Chất lượng được cải thiện qua các vòng lặp kiểm tra và chỉnh sửa.
🌿
Mẫu 4: Lựa chọn theo ngữ cảnh
Cùng kết quả nhưng dùng công cụ khác nhau dựa trên điều kiện (kích thước, loại tệp…).
🧠
Mẫu 5: Trí tuệ chuyên môn
Nhúng kiến thức chuyên môn (tuân thủ, kiểm toán, quản trị) vào logic skill.

Xử lý sự cố thường gặp

Skill không tải lên được
  • Lỗi "Không tìm thấy SKILL.md": Đổi tên thành đúng SKILL.md (phân biệt chữ hoa/thường)
  • Lỗi "Frontmatter không hợp lệ": Đảm bảo có --- ở đầu và cuối frontmatter
  • Lỗi "Tên skill không hợp lệ": Đổi sang kebab-case: my-cool-skill
# SAI — thiếu dấu phân cách
name: my-skill
description: Does things

# ĐÚNG
---
name: my-skill
description: Does things
---
Skill không kích hoạt / kích hoạt quá nhiều
  • Không kích hoạt: Description quá mơ hồ — thêm cụm từ kích hoạt người dùng thực sự nói
  • Kích hoạt quá nhiều: Thêm điều kiện âm vào description: "KHÔNG dùng cho khám phá dữ liệu đơn giản"
  • Gỡ lỗi nhanh: Hỏi Claude "Khi nào bạn sẽ dùng skill [tên]?" — Claude sẽ trích dẫn description để bạn điều chỉnh
6
Chương 6
Tài Nguyên & Tham Khảo
Tài liệu chính thức từ Anthropic
  • Hướng dẫn thực hành tốt nhất — docs.anthropic.com
  • Tài liệu Skill API & Tham chiếu API
  • Tài liệu MCP (Model Context Protocol)
  • Blog kỹ thuật: Giới thiệu Agent Skills
Skill ví dụ & cộng đồng
  • GitHub: anthropics/skills — Skill do Anthropic tạo ra để tùy chỉnh
  • Thư mục Skill Đối tác: Asana, Canva, Figma, Sentry, Zapier…
  • Claude Developers Discord — câu hỏi kỹ thuật
  • GitHub Issues: anthropics/skills/issues — báo cáo lỗi
🛠️
Dùng skill-creator: Có sẵn tích hợp trong Claude.ai và Claude Code. Có thể tạo skill từ mô tả, đánh giá và gợi ý cải tiến. Cách dùng: "Giúp tôi xây dựng một skill bằng skill-creator"
A
Phụ lục
Danh Sách Kiểm Tra Nhanh

Trước khi bắt đầu

Xác định 2–3 trường hợp sử dụng cụ thể
Xác định công cụ cần thiết (tích hợp sẵn hoặc MCP)
Đã xem xét hướng dẫn này và skill ví dụ
Đã lên kế hoạch cấu trúc thư mục

Trong quá trình phát triển

Thư mục được đặt tên bằng kebab-case
Tệp SKILL.md tồn tại (chính xác từng chữ)
YAML frontmatter có dấu phân cách ---
Trường name: kebab-case, không khoảng trắng, không chữ hoa
Description bao gồm CẢ WHAT và WHEN
Không có thẻ XML (< >) ở bất kỳ đâu
Hướng dẫn rõ ràng, có thể hành động
Xử lý lỗi được bao gồm

Trước khi tải lên

Đã kiểm thử kích hoạt với tác vụ rõ ràng
Đã kiểm thử với yêu cầu diễn đạt khác
Xác minh không kích hoạt với chủ đề không liên quan
Kiểm thử chức năng đạt
Đã nén thành tệp .zip

Sau khi tải lên

Kiểm thử trong cuộc trò chuyện thực
Theo dõi kích hoạt quá nhiều/ít
Thu thập phản hồi người dùng
Cập nhật phiên bản trong metadata
B
Phụ lục B
Giải Thích Thuật Ngữ

Tổng hợp các thuật ngữ kỹ thuật xuất hiện trong tài liệu này, giải thích theo ngôn ngữ đơn giản dành cho người mới.

YAML
Yet Another Markup Language

Định dạng văn bản dùng để lưu trữ dữ liệu theo kiểu key: value (khóa: giá trị), dễ đọc hơn nhiều so với JSON hay XML. Dùng nhiều trong các file cấu hình.

# Ví dụ YAML đơn giản
name: my-skill
version: 1.0
tags:
  - productivity
  - automation
Frontmatter
Phần đầu trang (metadata)

Khối thông tin mô tả nằm ở đầu một tệp, được đặt giữa hai dòng ---. Máy tính đọc phần này để hiểu tệp là gì trước khi đọc nội dung thực sự. Tương tự như trang bìa của một cuốn sách.

---               <-- bắt đầu frontmatter
name: my-skill
description: Làm điều gì đó hữu ích.
---               <-- kết thúc frontmatter

# Nội dung thực sự bắt đầu từ đây
Markdown
Ngôn ngữ đánh dấu văn bản nhẹ

Cách viết văn bản có định dạng (tiêu đề, in đậm, danh sách…) bằng các ký tự đơn giản, không cần phần mềm đặc biệt. File Markdown thường có đuôi .md.

# Tiêu đề lớn
## Tiêu đề nhỏ hơn
**In đậm**  *In nghiêng*
- Mục danh sách 1
- Mục danh sách 2
MCP
Model Context Protocol

Giao thức tiêu chuẩn cho phép Claude kết nối với các dịch vụ bên ngoài như Notion, Asana, GitHub, Slack… MCP giống như "ổ cắm điện tiêu chuẩn" — bất kỳ dịch vụ nào hỗ trợ MCP đều có thể kết nối với Claude theo cùng một cách.

API
Application Programming Interface

Giao diện lập trình ứng dụng — tức là "cổng giao tiếp" giữa các phần mềm. Khi một ứng dụng gọi API của dịch vụ khác, nó đang gửi yêu cầu và nhận kết quả theo quy tắc đã định sẵn, giống như gọi món ở nhà hàng qua thực đơn chuẩn.

Kebab-case
Quy tắc đặt tên dùng dấu gạch ngang

Cách viết tên file hoặc biến bằng chữ thường, các từ nối với nhau bằng dấu -. Gọi là "kebab" vì trông như các miếng thịt xiên que.

✓ Đúng  my-cool-skill   notion-project-setup
✗ Sai  My Cool Skill   notion_project_setup
System prompt
Lệnh hệ thống / Hướng dẫn nền

Đoạn hướng dẫn được nạp vào Claude trước khi cuộc trò chuyện bắt đầu, người dùng thường không thấy. Nó định hình cách Claude hành xử trong toàn bộ phiên làm việc. Phần YAML frontmatter của skill được đưa vào đây.

Context / Context window
Ngữ cảnh / Cửa sổ ngữ cảnh

"Bộ nhớ làm việc" của Claude trong một cuộc trò chuyện — tất cả những gì Claude có thể "nhìn thấy" cùng lúc: lịch sử chat, hướng dẫn, tài liệu đã tải… Context window có giới hạn, vì vậy skill được thiết kế để dùng token hiệu quả nhất có thể.

Token
Đơn vị xử lý văn bản của AI

Đơn vị nhỏ nhất mà mô hình AI đọc và tạo ra — thường là một từ hoặc một phần của từ. Ví dụ, "xin chào" ≈ 2 token. Token quan trọng vì nó ảnh hưởng đến tốc độ, chi phí và giới hạn độ dài của câu trả lời.

Progressive Disclosure
Tiết lộ dần dần

Kỹ thuật thiết kế: chỉ tải thông tin khi thực sự cần, thay vì tải tất cả cùng lúc. Trong skill, điều này có nghĩa là Claude chỉ đọc frontmatter lúc đầu, rồi mới đọc toàn bộ SKILL.md khi xác định skill phù hợp — tiết kiệm bộ nhớ và tốc độ xử lý.

Rollback
Quay lại trạng thái trước

Hành động hoàn tác các thay đổi đã thực hiện khi có lỗi xảy ra trong một quy trình, đưa hệ thống về trạng thái ban đầu ổn định. Ví dụ: nếu bước 3 trong quy trình 4 bước thất bại, rollback sẽ xóa những gì bước 1 và 2 đã tạo ra.

Bash / Python / Script
Ngôn ngữ lập trình & tập lệnh

Bash là ngôn ngữ dòng lệnh trên Linux/Mac, dùng để tự động hóa tác vụ hệ thống. Python là ngôn ngữ lập trình phổ biến, dễ đọc. Script là tên gọi chung cho các tệp mã chạy tự động một loạt lệnh mà không cần can thiệp thủ công.