Khắc phục lỗi skill claude ai — Bài 8 · Claude Wiki
Bài 08Phần 3 · Vận hành

Khắc phục sự cố Skill
Troubleshooting

Khắc phục lỗi skill Claude AI qua sáu triệu chứng phổ biến nhất, kèm kỹ thuật tối ưu quan trọng nhất: khi nào dùng văn bản, khi nào bắt buộc dùng script.

🎯 Mục tiêu bài học

  • Chẩn đoán nhanh 6 sự cố skill phổ biến nhất theo triệu chứng.
  • Phân biệt lỗi do skill và lỗi do kết nối MCP để sửa đúng chỗ.
  • Biết khi nào phải chuyển quy tắc từ văn bản sang script để bảo đảm chính xác.
  • Tránh các anti-pattern làm hỏng chất lượng skill.
BẢNG CHẨN ĐOÁN

Sáu triệu chứng phổ biến nhất

Triệu chứngNguyên nhân gốcCách sửa
Upload thất bạiYAML sai thụt lề, hoặc tên file không đúng SKILL.md, hoặc frontmatter có trường ngoài 6 trường hợp lệKiểm tra thụt lề YAML, viết hoa đúng tên file, xoá mọi trường lạ khỏi frontmatter
Không triggerDescription thiếu từ khoá thực tế người dùng gõThêm các cách diễn đạt đa dạng vào description — cả từ ngữ chuyên môn lẫn từ ngữ đời thường của team
Trigger quá nhiềuDescription quá rộng, thiếu điều kiện phủ địnhThu hẹp phạm vi và ghi rõ khi nào KHÔNG dùng skill này
Lỗi MCPLỗi nằm ở kết nối MCP server, không phải do skillSửa kết nối MCP trước. Đừng sửa skill khi gốc rễ là vấn đề kết nối
Bỏ qua instructionsSkill quá dài, thông tin quan trọng bị chìm giữa các đoạn phụCắt giảm nội dung, đưa chi tiết vào file tham chiếu, để quy tắc quan trọng lên đầu
Tràn contextĐang bật quá nhiều skill cùng lúcTắt bớt skill không dùng tới. Metadata mỗi skill khoảng 100 token nên vài chục skill mới đáng kể — nhưng nhiều skill cùng kích hoạt thì rất nặng
KỸ THUẬT TỐI ƯU QUAN TRỌNG NHẤT

Dặn dò bằng văn bản hay nhúng script?

📝 Language — bất ổn⚙️ Bundle Script — chuẩn xác
Cách làmViết vào SKILL.md: "Hãy cẩn thận kiểm tra logic báo cáo nhé."Nhúng script Python vào scripts/ và gọi: python scripts/validate.py
Kết quảModel có thể diễn dịch sai, làm tắt hoặc bỏ sót bước kiểm traCode luôn cho ra một kết quả duy nhất, không suy hao qua các lượt
Chi phí contextTốn token mỗi lần skill kích hoạtMã nguồn không vào context — chỉ output của script mới tốn token
Nên dùng khiNhiều cách làm đều đúng, cần phán đoán theo ngữ cảnhQuy tắc validation cứng, thao tác mong manh, dữ liệu nặng

💡 Takeaway

Để giảm tải cửa sổ context và tăng độ chính xác, hãy đưa các quy tắc validation cứng hoặc dữ liệu nặng vào file script hay markdown phụ, và chỉ gọi tới khi thực sự cần thiết. Script pre-made còn đáng tin cậy hơn code Claude tự sinh ra mỗi lần, đồng thời tiết kiệm cả token lẫn thời gian.

ANTI-PATTERN

Bốn lỗi làm hỏng chất lượng skill

1

Đưa ra quá nhiều lựa chọn

"Bạn có thể dùng pypdf, hoặc pdfplumber, hoặc PyMuPDF, hoặc pdf2image..."
✅ Đưa một mặc định kèm một lối thoát: "Dùng pdfplumber. Với PDF scan cần OCR thì dùng pdf2image kèm pytesseract."

2

Thông tin gắn mốc thời gian

"Nếu trước tháng 8/2026 thì dùng API cũ." Ngày tháng sẽ lạc hậu.
✅ Dùng mục "Pattern cũ" gói trong thẻ <details> để lưu bối cảnh lịch sử mà không làm rối phần chính.

3

Hằng số không giải thích

TIMEOUT = 47 — tại sao lại 47?
# Request HTTP thường xong trong 30 giây; để dư cho kết nối chậm
REQUEST_TIMEOUT = 30
. Nếu bạn không biết giá trị đúng, làm sao Claude biết?

4

Script đùn đẩy lỗi cho Claude

⛔ Script chỉ open(path).read() rồi để Claude tự xử khi lỗi.
✅ Bắt FileNotFoundErrorPermissionError, in thông báo rõ ràng và trả về giá trị mặc định hợp lý.

🔧
Dùng MCP tool thì phải ghi tên đầy đủNếu skill của bạn gọi tool từ MCP, luôn dùng tên đầy đủ có tiền tố server theo dạng TenServer:ten_tool — ví dụ BigQuery:bigquery_schema hay GitHub:create_issue. Thiếu tiền tố server, Claude có thể không tìm thấy tool, đặc biệt khi bạn bật nhiều MCP server cùng lúc.
CÂU HỎI THƯỜNG GẶP

FAQ — 3 câu hỏi thường gặp về khắc phục lỗi skill claude ai

Upload skill thất bại thì kiểm tra gì trước?

Ba thứ theo thứ tự: thụt lề YAML có đúng không, tên file có đúng SKILL.md viết hoa toàn bộ không, và frontmatter có trường nào ngoài 6 trường hợp lệ không.

Khi nào nên chuyển quy tắc từ văn bản sang script?

Khi cần kết quả xác định, không được sai. Dặn dò bằng văn bản thì model có thể diễn dịch sai hoặc bỏ sót bước; script luôn cho một kết quả duy nhất. Thêm nữa, mã nguồn script không vào context — chỉ output mới tốn token.

Skill gọi MCP tool bị lỗi không tìm thấy thì sao?

Phải dùng tên đầy đủ có tiền tố server dạng TenServer:ten_tool, ví dụ BigQuery:bigquery_schema. Thiếu tiền tố, Claude có thể không tìm thấy tool, đặc biệt khi bật nhiều MCP server cùng lúc.

Nguồn: Bài viết biên soạn dựa trên tài liệu Xây dựng bộ Skills cho Claude (Anthropic Academy, bản tiếng Việt do Nguyen Ngoc Tuan trình bày), đã viết lại và đối chiếu với tài liệu Agent Skills chính thức của Anthropic (platform.claude.com và code.claude.com), cập nhật 15/08/2026. Mọi số liệu kỹ thuật lấy theo tài liệu chính thức.