Giangxai Nhận tài liệu

10 Quy Tắc Viết Skill Claude Từ Anthropic Giúp Tiết Kiệm Token

Cùng model Claude Haiku, cùng một yêu cầu báo giá: skill viết kiểu cũ báo thiếu hơn 20 triệu đồng, còn skill viết lại theo hướng dẫn mới của Anthropic thì đúng tới từng đồng. Bài này đi qua 10 quy tắc viết skill Claude mà Anthropic vừa cập nhật cho các model mới, mỗi quy tắc kèm câu gốc trong tài liệu và một ví dụ chạy thật. Đọc xong, bạn biết cách viết skill ngắn hơn, tốn ít token hơn và không để lọt luật quan trọng nhất.

Nếu bạn chưa có skill nào, đây là cách viết đúng ngay từ đầu. Nếu đã có rồi, khả năng cao skill của bạn đang tốn token hơn mức cần, hoặc thiếu đúng cái luật quan trọng nhất. Bản video đầy đủ, có demo từng quy tắc: xem video trên YouTube.

Skill Claude là gì và vì sao cách viết skill quyết định số token bạn trả?

Mỗi lần nhờ AI làm một việc lặp lại, bạn thường phải gõ một prompt dài: bạn là ai, khách hàng là ai, giá sản phẩm bao nhiêu, cái gì tuyệt đối không được làm. Lần sau lại gõ lại y hệt từ đầu.

Skill là bạn viết những thứ đó một lần, vào một file văn bản tên SKILL.md. Lần sau chỉ cần nói “làm báo giá cho khách này”, Claude tự mở skill ra và làm đúng quy trình. Skill không phải code. Nó là tiếng Việt bình thường, có các bước, có checklist. Bộ GiangXAI Lab của mình cũng được xây theo đúng cách này: Agent chỉ là workflow cộng với skill, viết bằng ngôn ngữ tự nhiên.

Để thấy rõ từng quy tắc, mình dựng một skill làm báo giá cho Mộc Studio, một studio thiết kế giả định, rồi viết hai phiên bản:

  • Bản cũ: viết “kiểu quen tay”, 542 dòng, cố ý mắc đủ 10 lỗi.
  • Bản mới: cùng dữ liệu, viết lại theo 10 quy tắc, còn 53 dòng kèm vài file tham chiếu, script tính tiền và một hook.

Bài kiểm tra chung cho cả hai: khách mới “Nhà hàng Lửa” cần website bán hàng và 30 bài đăng, bàn giao trong 5 ngày. Đáp án đúng là 90.090.000₫, cọc 50% là 45.045.000₫, và báo giá phải chờ chủ studio duyệt trước khi gửi.

Quy tắc 1–2: Viết skill Claude ngắn, chia nhỏ để tiết kiệm token

Quy tắc 1: Chia nhỏ, chỉ sâu một tầng

Anthropic khuyên giữ phần thân SKILL.md dưới 500 dòng (“Keep SKILL.md body under 500 lines for optimal performance”). Phần chi tiết tách ra file riêng, còn file chính chỉ như trang mục lục. Claude chỉ mở file con khi bước đang làm thật sự cần.

Tài liệu Anthropic: Keep SKILL.md body under 500 lines for optimal performance
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Progressive disclosure patterns”: Giữ phần thân SKILL.md dưới 500 dòng.

Nhưng có một cái bẫy: file chính trỏ tới file A, file A lại trỏ tiếp file B. Với file B, Claude có thể chỉ xem trước khoảng 100 dòng đầu thay vì đọc hết, nên thông tin bị thiếu. Vì vậy mọi file con phải được link thẳng từ file chính, chỉ sâu một tầng.

Tài liệu Anthropic: Claude có thể dùng head -100 khi gặp tham chiếu lồng nhau, keep references one level deep from SKILL.md
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Avoid deeply nested references”: Gặp tham chiếu lồng nhau, Claude có thể chỉ xem trước 100 dòng đầu, nên mọi tham chiếu chỉ sâu một tầng.
Chuỗi file SKILL.md trỏ tới chi-tiet.md rồi giam-gia.md, quy tắc giảm giá nằm sau dòng 117
Bản cũ: quy tắc giảm giá và phụ phí làm gấp bị chôn ở file thứ ba, sau dòng 117.

Trong skill báo giá bản cũ, quy tắc giảm giá và phụ phí làm gấp nằm ở file thứ ba, sau dòng 117. Bản mới chỉ còn file chính 53 dòng, bảng giá tách riêng và link thẳng từ file chính. Kết quả: lượng chữ Claude phải đọc cho một báo giá giảm từ 49.944 xuống 7.311 ký tự, tức giảm khoảng 85%. Đây là cách tiết kiệm token rõ nhất: Claude đọc ít hơn mà vẫn đủ thông tin cần cho từng bước. Quan trọng hơn, luật không còn nằm ở chỗ Claude có thể không đọc tới.

Quy tắc 2: Đặt mục lục ở đầu file dài

File tham chiếu nào dài hơn 100 dòng thì đặt mục lục ở đầu. Kể cả khi chỉ đọc lướt phần đầu, Claude vẫn biết bên dưới có gì để nhảy tới đúng chỗ.

Tài liệu Anthropic: For reference files longer than 100 lines, include a table of contents at the top
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Structure longer reference files with table of contents”: File tham chiếu dài hơn 100 dòng thì đặt mục lục ở đầu.

File giảm giá cũ dài 123 dòng, không có mục lục, quy tắc thật nằm tận cuối. Bảng giá mới mở đầu bằng mục lục, dòng cuối ghi rõ: quy tắc giảm giá, phụ phí, VAT.

Quy tắc 3–5: Cách viết skill Claude vừa đủ, đúng model, đúng thứ cần nói

Quy tắc 3: Mức tự do tương xứng với rủi ro

Mức chi tiết của chỉ dẫn phải tương xứng với rủi ro của công việc. Anthropic ví có những việc như một cây cầu hẹp, hai bên là vực: chỉ có một lối đi an toàn. Có những việc lại như cánh đồng trống, đi lối nào cũng tới. Từ đó có ba mức tự do cho AI:

Tài liệu Anthropic so sánh cây cầu hẹp hai bên là vực với cánh đồng trống
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Set appropriate degrees of freedom”: Cây cầu hẹp (tự do thấp) và cánh đồng trống (tự do cao).
Bảng ba mức tự do cho AI: tự do cao, tự do vừa, tự do thấp
Ba mức tự do: chỉ nói mục tiêu, cho một khung linh hoạt, hoặc bắt làm đúng từng bước.
  • Tự do cao: chỉ nói mục tiêu.
  • Tự do vừa: cho một khung, bên trong được linh hoạt.
  • Tự do thấp: bắt làm đúng từng bước.

Một skill có thể dùng cả ba mức. Trong skill báo giá, phần tính tiền là cây cầu hẹp: sai một con số là mất tiền thật, nên Claude không được cộng nhẩm mà phải chạy đúng một lệnh script tính. Phần viết email là cánh đồng: mình chỉ bắt buộc có tổng tiền, tiền cọc và ngày hết hạn, còn lại Claude tự viết theo văn phong mẫu có sẵn.

Hãy phân định rõ chỗ nào phải chặt, chỗ nào được linh hoạt. Với các model Claude mới, khóa chặt mọi thứ thì chính chất lượng đầu ra bị kìm lại. Nếu bạn thấy kết quả chưa như ý, có thể skill đang vi phạm quy tắc này.

Quy tắc 4: Test trên đúng model bạn dùng

Anthropic viết: “Test your Skill with all the models you plan to use it with.” Mỗi model cần một câu hỏi khác nhau:

  • Haiku: skill đã đủ hướng dẫn chưa?
  • Sonnet: skill có rõ và gọn không?
  • Opus: skill có đang giải thích thừa không?
Tài liệu Anthropic: Test your Skill with all the models you plan to use it with
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Test with all models you plan to use”: Test skill trên mọi model bạn định dùng.

Anthropic còn nói thẳng: skill viết cho model đời trước thường quá chi tiết với model mới và có thể làm kết quả tệ hơn.

Tài liệu Anthropic: Skills developed for prior models are often too prescriptive for Claude Fable 5 and can degrade output quality
Câu gốc trong tài liệu Prompting Claude Fable 5 của Anthropic, mục “Recommended scaffolding changes”: Skill viết cho model đời trước thường quá chi tiết với Claude Fable 5 và có thể làm giảm chất lượng đầu ra.

Mình chạy bài test Nhà hàng Lửa, mỗi lượt trong một phiên hoàn toàn mới:

Model Skill bản cũ Skill bản mới
Haiku Báo 69.300.000₫, thiếu 20.790.000₫ vì bỏ sót phụ phí làm gấp. Cọc sai, hạn sai, email tự bịa “100+ website nhà hàng”. Đúng hết, tick đủ 5 bước, dừng chờ duyệt.
Opus Đúng tổng tiền, nhưng phải đọc gần 50.000 ký tự. Chính nó nhận xét skill bị độn nhiều nội dung lặp. Đúng hết.

Model mạnh bù được skill viết kém, nhưng bạn trả bằng token. Model nhẹ thì không bù được, và bạn có thể trả bằng tiền thật.

Test mọi skill trên mọi model rất tốn token. Hãy ưu tiên skill bạn dùng nhiều nhất và skill mà sai một lần là mất tiền.

Quy tắc 5: Chỉ viết thứ Claude chưa biết

Anthropic gọi context window là tài sản chung (“The context window is a public good”), và chỉ nên thêm những gì Claude chưa biết. Skill cũ mở đầu bằng “báo giá là gì”, “VAT là gì”, “cách tính phần trăm”. Claude biết hết rồi. Thứ nó không biết là bảng giá của studio, ai là khách cũ, được giảm bao nhiêu.

Tài liệu Anthropic: The context window is a public good
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Concise is key”: Context window là tài sản chung, chỉ thêm những gì Claude chưa biết.

Phần mô tả (description) của skill cũng vậy: viết ở ngôi thứ ba, nói rõ làm gì và dùng khi nào.

Tài liệu Anthropic: Always write in third person
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Writing effective descriptions”: Luôn viết mô tả skill ở ngôi thứ ba.
  • Đừng viết: “Tôi có thể giúp bạn làm báo giá.”
  • Hãy viết: “Lập báo giá dịch vụ… Dùng khi người dùng cần báo giá.”

Quy tắc 6–8: Giúp skill Claude tự kiểm lỗi và ra đúng định dạng

Quy tắc 6: Checklist và dòng quay lại

Việc nhiều bước thì đưa cho Claude một checklist để nó chép ra và tick dần. Nhưng phần quan trọng nhất là dòng quay lại. Ví dụ của chính Anthropic kết thúc bằng câu: nếu kiểm tra không đạt, quay lại Bước 2. Không có dòng này, checklist dễ bị tick cho xong rồi giao luôn.

Tài liệu Anthropic: provide a checklist that Claude can copy into its response and check off as it progresses
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Use workflows for complex tasks”: Đưa Claude một checklist để chép vào câu trả lời và tick dần.
Ví dụ workflow của Anthropic kết thúc bằng dòng If verification fails, return to Step 2
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Use workflows for complex tasks (ví dụ PDF form filling)”: Ví dụ của Anthropic kết thúc bằng dòng quay lại: nếu kiểm tra không đạt, quay lại Bước 2.
Bước 3 trong SKILL.md bản mới: đối chiếu yêu cầu của khách, sai chỗ nào quay lại Bước 1
Bản mới có Bước 3 đối chiếu với yêu cầu của khách, kèm dòng “Sai chỗ nào → quay lại Bước 1”.

Bản mới có Bước 3: đối chiếu với yêu cầu của khách, sai chỗ nào thì quay lại Bước 1. Khi test lại, cả Haiku lẫn Opus đều chép checklist ra và tick đủ 5 bước.

Quy tắc 7: Vòng lặp kiểm, sửa, lặp lại

Anthropic viết: “Run validator → fix errors → repeat. This pattern greatly improves output quality.” Bộ kiểm không nhất thiết là code, một file hướng dẫn văn phong cũng được. Nhưng nếu có script, hãy cho nó báo lỗi thật rõ: không chỉ ghi “lỗi”, mà nói lỗi gì, nằm ở đâu.

Tài liệu Anthropic: Run validator, fix errors, repeat. This pattern greatly improves output quality
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Implement feedback loops”: Kiểm, sửa lỗi, lặp lại: cách này cải thiện chất lượng đầu ra rất nhiều.
Terminal chạy script tính báo giá, báo lỗi dịch vụ ANH-SP tối thiểu 10 ảnh nhưng yêu cầu là 6
Script báo lỗi cụ thể để Claude tự sửa và chạy lại.
  • LỖI: "ANH-SP" tối thiểu 10 ảnh, yêu cầu đang là 6.
  • Gõ sai mã dịch vụ thì script liệt kê luôn các mã đang có.

Đọc lỗi như vậy, Claude tự sửa được, chạy lại cho tới khi đạt.

Quy tắc 8: Template, ví dụ và ngã rẽ

Khi cần đầu ra đúng hình dạng, bạn có ba cách:

  1. Template: nói rõ là bắt buộc giống y nguyên, hay chỉ là gợi ý.
  2. Ví dụ: đưa cặp đầu vào và đầu ra mẫu. Theo Anthropic, ví dụ truyền văn phong rõ hơn mọi lời mô tả.
  3. Ngã rẽ: báo giá mới thì đi lối này, sửa báo giá cũ thì đi lối kia.
Tài liệu Anthropic: Examples convey the desired style and level of detail to Claude more clearly than descriptions alone
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Examples pattern”: Ví dụ truyền đạt văn phong và mức chi tiết rõ hơn mô tả đơn thuần.

Ví dụ mạnh tới mức nào? Skill cũ có một email mẫu “Kính gửi Quý khách, tôi xin gửi báo giá”, và model viết ra đúng giọng đó. Skill mới có ví dụ thân thiện hơn, email ra cũng thân thiện theo. Ví dụ sai giọng thì kết quả cũng sai giọng.

Quy tắc 9–10: Đóng gói skill Claude để chia sẻ và khóa luật sống còn bằng hook

Quy tắc 9: Viết để người khác dùng được

Sớm muộn bạn sẽ chia skill cho đồng nghiệp, cho team hoặc cho khách. Đừng giả định máy người khác đã cài sẵn công cụ như máy bạn.

Tài liệu Anthropic: Don't assume packages are available
Câu gốc trong tài liệu Skill authoring best practices của Anthropic, mục “Avoid assuming tools are installed”: Đừng giả định thư viện đã được cài sẵn.
  • Skill cũ bảo chạy một file Python gửi mail, không nói cần cài gì, và lưu vào ổ D:\ của riêng một máy.
  • Bản mới có mục “Cần có” nói rõ cần cài gì (chỉ cần Node 18 trở lên), mọi đường dẫn đều tương đối.
  • Luôn dùng dấu gạch chéo xuôi / trong đường dẫn, kể cả trên Windows.

Quy tắc 10: Luật sống còn đưa vào hook

Đây là quy tắc ít người dùng nhất, nhưng quan trọng nhất. Skill cũ viết: “LUÔN LUÔN PHẢI HỎI CHỦ STUDIO TRƯỚC KHI GỬI BÁO GIÁ TRÊN 50 TRIỆU!!!”. Phần lớn thời gian Claude sẽ nghe. Nhưng với tiền thật, “phần lớn thời gian” là không đủ.

Hook là một đoạn code nhỏ mà Claude Code tự chạy mỗi khi một sự kiện xảy ra, dù Claude có đang làm theo skill hay không. Bạn có thể khai báo hook ngay trong phần đầu (frontmatter) của skill.

Tài liệu Claude Code: Claude Code runs a hook every time its event occurs, whether or not Claude is following the skill
Câu gốc trong tài liệu Claude Code · Skills của Anthropic, mục “Claude stops following a skill”: Luật phải đúng mọi lúc thì đưa vào hook: hook chạy dù Claude có đang làm theo skill hay không.
Sơ đồ hook đứng chặn giữa bước sắp chạy lệnh và lệnh mới chạy
Hook đứng chặn trước mỗi lệnh, kiểm tra báo giá sắp gửi.

Trong skill báo giá, trước mỗi lệnh, hook đọc báo giá sắp gửi. Trên 50 triệu thì bắt buộc dừng lại hỏi người. Khi thử gửi báo giá 90 triệu, hook bật hộp xác nhận ngay. Báo giá 21 triệu thì đi qua bình thường.

Hãy chọn vài luật mà sai một lần là mất tiền, mất dữ liệu hoặc mất khách, rồi đưa chúng vào hook.

Mẹo thêm từ tài liệu Claude Code: khi hội thoại dài bị nén lại, Claude chỉ giữ khoảng 5.000 token đầu của mỗi skill. Vì vậy luật quan trọng nhất phải nằm ngay đầu file.

Tài liệu Claude Code: sau khi nén hội thoại, keeping the first 5,000 tokens of each skill
Câu gốc trong tài liệu Claude Code · Skills của Anthropic, mục “Skill content lifecycle”: Sau khi nén hội thoại, Claude Code chỉ giữ 5.000 token đầu của mỗi skill.

Muốn đi sâu hơn về cách các mảnh workflow, skill và vòng lặp ghép thành một agent, bạn có thể đọc thêm bài Kiến trúc AI Agent: Harness, Loop và Graph là gì?

Câu hỏi thường gặp khi viết skill Claude

Viết skill Claude có cần biết code không?

Không. Skill là file văn bản viết bằng tiếng Việt bình thường, có các bước và checklist. Chỉ phần cần chính xác tuyệt đối như tính tiền hay hook mới cần một script nhỏ.

Có cần test mọi skill trên mọi model không?

Không cần, vì rất tốn token. Hãy ưu tiên skill bạn dùng nhiều nhất và skill mà sai một lần là mất tiền.

Viết luật bằng chữ in hoa trong skill có đủ không?

Phần lớn thời gian Claude sẽ nghe, nhưng không phải mọi lúc. Luật liên quan tới tiền, dữ liệu hay khách hàng nên đưa vào hook, vì hook luôn chạy dù Claude có làm theo skill hay không.

Làm sao biết skill hiện tại của mình vi phạm quy tắc nào?

Dùng Prompt Audit bản tiếng Việt mình chia sẻ trong video: dán vào Claude Code, đổi đường dẫn thư mục skill. Claude báo cáo trước những gì cần sửa, và chỉ sửa những mục bạn duyệt.

Kết luận: 3 điều cần nhớ khi viết skill Claude

Nếu chỉ nhớ ba điều từ 10 quy tắc này:

  1. Skill ngắn và đặt thông tin đúng chỗ.
  2. Luôn có dòng quay lại bước trước khi kiểm tra không đạt.
  3. Luật cần chính xác cao thì đưa vào hook và để ở đầu skill.
So sánh kết quả cùng model rẻ nhất: skill cũ 69.300.000 đồng báo thiếu 20 triệu, skill mới 90.090.000 đồng đúng tới từng đồng
Cùng một model rẻ nhất, chỉ đổi cách viết skill: từ báo thiếu 20 triệu thành đúng tới từng đồng.

Cùng một model rẻ nhất, chỉ đổi cách viết skill, kết quả đi từ báo thiếu 20 triệu thành đúng tới từng đồng. Viết skill đúng cách vừa tiết kiệm token với model mạnh, vừa giúp model rẻ làm đúng việc. Việc nên làm ngay hôm nay: mở skill bạn dùng nhiều nhất và chạy Prompt Audit bản tiếng Việt (kèm bảng 10 quy tắc và câu gốc của Anthropic) — nhận Prompt Audit tại đây.

Nếu bạn muốn hiểu cách biến những skill riêng lẻ thành một hệ thống làm việc hằng ngày, đọc thêm Cách biến Claude từ chatbot thành hệ thống làm việc. Theo dõi fanpage GiangxAI để nhận các bài hướng dẫn mới.

Muốn có sẵn một đội agent đã viết theo đúng các quy tắc này? Bộ AI Agent của GiangXAI Lab gồm 8 AI Agent và 40+ skill thực chiến cho research, content, video, trang bán hàng, thanh toán và báo cáo, giá 2.399.000₫ một lần, dùng trọn đời. Xem chi tiết Bộ AI Agent.