Bỏ qua điều hướng

Tùy biến Claude Code: CLAUDE.md, skill, slash command hay plugin?

Mẹo Claude Code về tùy biến: phân biệt CLAUDE.md, skill, slash command và plugin, giữ CLAUDE.md gọn, plugin dx, artifact và tự động hoá việc lặp lại.

Tuan Tran Van
11 phút đọc
Mục lục (9 phần)
  1. CLAUDE.md, skill, slash command và plugin khác nhau thế nào?
  2. Làm thế nào để giữ CLAUDE.md gọn gàng?
  3. Plugin dx có những gì và cài đặt ra sao?
  4. Artifact dùng để làm gì trong Claude Code?
  5. Có đáng đầu tư thời gian xây dựng workflow riêng không?
  6. Tự động hóa việc tự động hóa nghĩa là gì?
  7. Thời của phần mềm cá nhân hóa đã đến chưa?
  8. Nên bắt đầu tùy biến từ đâu?
  9. Tài liệu tham khảo

CLAUDE.md, skill, slash command và plugin đều giúp đóng gói chỉ dẫn cho Claude Code. Chúng khác nhau ở thời điểm được nạp, cách được gọi và những thành phần có thể gộp vào cùng một gói.

Đây là phần tám trong loạt bài giới thiệu 50 mẹo Claude Code từ repo claude-code-tips của YK Sugi. Phần này tập hợp bảy mẹo về cách tùy biến Claude Code theo nhu cầu của bạn, gồm các mẹo số 23, 28, 44, 33, 11, 41 và 37. Nửa đầu giúp bạn biết nên đặt từng loại chỉ dẫn ở đâu, nửa sau giải thích vì sao bạn nên dành thời gian tùy biến công cụ.

Quy tắc chung rất đơn giản: những gì bạn thường xuyên phải nhắc lại thì đưa vào CLAUDE.md, còn những quy trình bạn phải lặp đi lặp lại thì chuyển thành skill hoặc script.

CLAUDE.md, skill, slash command và plugin khác nhau thế nào?

Bốn tính năng này có vẻ khá giống nhau nên lúc mới dùng, bạn rất dễ nhầm lẫn. Cách phân biệt đơn giản nhất là xem chúng được nạp khi nào và ai là người gọi:

Tính năngNạp khi nàoAi gọiPhù hợp với
CLAUDE.mdĐầu mọi hội thoại, bất kể chủ đềTự độngBối cảnh dự án, quy ước luôn đúng
SkillChỉ khi cầnClaude tự gọi, hoặc bạn gõ /my-skillChỉ dẫn chuyên biệt, dùng thỉnh thoảng
Slash commandKhi được gọiChủ yếu là bạnViệc cần chạy đúng lúc, theo nhịp của bạn
PluginTuỳ thành phần bên trongCài một lầnĐóng gói skill, command, agent, hook, MCP server

CLAUDE.md là loại đơn giản nhất. Bạn chỉ cần một hoặc vài file làm prompt mặc định, để Claude Code tự nạp vào đầu mỗi hội thoại. Bạn có thể mô tả dự án trong file ./CLAUDE.md ở thư mục dự án, hoặc đặt chỉ dẫn dùng chung trong ~/.claude/CLAUDE.md. Skill cũng chứa chỉ dẫn tương tự CLAUDE.md, nhưng có cấu trúc rõ ràng hơn và chỉ được nạp khi cần. Chẳng hạn, repo có một skill giúp mở link Google Translate đúng định dạng khi bạn hỏi cách phát âm một từ. Nếu đặt chỉ dẫn này trong skill, Claude chỉ nạp nó khi cần. Còn nếu đưa vào CLAUDE.md, chỉ dẫn sẽ chiếm context trong mọi hội thoại, nên về lý thuyết, dùng skill sẽ tiết kiệm token hơn.

Slash command và skill hoạt động khá giống nhau. Điểm khác biệt nằm ở mục đích thiết kế: skill chủ yếu để Claude sử dụng, còn slash command chủ yếu để bạn chủ động gọi. Cuối cùng, Claude Code đã gộp hai cơ chế này làm một từ bản 2.1.3, đúng như đề xuất mà tác giả repo từng gửi trong một issue. Plugin giúp bạn đóng gói skill, slash command, agent, hook và MCP server thành một gói, nhưng không nhất thiết phải dùng tất cả các thành phần đó. Chẳng hạn, plugin frontend-design chính thức của Anthropic về cơ bản chỉ chứa một skill. Định dạng plugin giúp việc cài đặt thuận tiện hơn. Bạn có thể tìm hiểu thêm qua các bài Agent Skills là gì, agent plugin là gì và bài so sánh CLAUDE.md, AGENTS.md và SKILL.md.

Làm thế nào để giữ CLAUDE.md gọn gàng?

Ban đầu, bạn chưa cần tạo CLAUDE.md. Chỉ khi nhận ra mình liên tục phải nhắc Claude Code cùng một điều, bạn mới nên thêm chỉ dẫn đó vào file. Cách đơn giản nhất là yêu cầu Claude Code tự bổ sung nội dung vào CLAUDE.md của dự án hoặc file CLAUDE.md toàn cục. Nó sẽ biết cần chỉnh sửa file nào.

Bạn cũng nên định kỳ xem lại các file CLAUDE.md vì nội dung của chúng có thể lỗi thời theo thời gian. Một chỉ dẫn từng hữu ích vài tháng trước có thể không còn phù hợp, hoặc bạn đã có thêm quy ước mới cần ghi lại. Repo có sẵn skill review-claudemd để hỗ trợ việc này. Skill sẽ phân tích các hội thoại gần đây của bạn rồi đề xuất những chỗ cần cập nhật trong CLAUDE.md.

Lý do cần giữ file ngắn gọn rất thực tế: CLAUDE.md được nạp vào mọi hội thoại, nên mỗi dòng không cần thiết đều khiến bạn tốn thêm token trong mọi phiên làm việc. Bài CLAUDE.md best practices sẽ giúp bạn hiểu rõ hơn nên giữ lại những gì và lược bỏ những gì.

Plugin dx có những gì và cài đặt ra sao?

Chính repo claude-code-tips cũng là một plugin Claude Code mang tên dx (developer experience), tập hợp nhiều công cụ đã giới thiệu ở các phần trước để bạn cài đặt chỉ với hai lệnh:

bash
claude plugin marketplace add ykdojo/claude-code-tips
claude plugin install dx@ykdojo
SkillTác dụng
/dx:gha <url>Phân tích lỗi GitHub Actions (phần sáu)
/dx:handoffTạo tài liệu bàn giao để giữ mạch giữa các phiên (phần hai)
/dx:half-cloneHalf-clone để giảm context (phần hai)
/dx:quarter-cloneQuarter-clone, giảm context nhiều hơn nữa (phần hai)
/dx:reddit-fetchLấy nội dung Reddit qua JSON API của Reddit
/dx:review-claudemdĐọc các hội thoại để đề xuất cải thiện CLAUDE.md
/dx:hn-summarizeTóm tắt tin nổi bật, bài viết và luồng bình luận trên Hacker News
/dx:version-checkKhuyên nên chạy phiên bản Claude Code nào, hoặc có nên cập nhật
/dx:private-github-searchTìm kiếm toàn văn trên mọi repo GitHub của bạn, kể cả repo riêng tư

Skill reddit-fetch tự kích hoạt khi bạn hỏi về một link Reddit, nên không cần gọi thủ công. Nếu dùng half-clone, hãy nhớ thêm quyền Read(~/.claude) như đã hướng dẫn ở phần hai. Một công cụ khác được khuyên dùng là Playwright MCP để tự động hóa trình duyệt:

bash
claude mcp add -s user playwright npx @playwright/mcp@latest

Artifact dùng để làm gì trong Claude Code?

Nếu đang xây dựng một trang front-end bằng HTML, CSS và JavaScript, bạn có thể dùng artifact để xem nhanh kết quả và chia sẻ với người khác. Chỉ cần yêu cầu Claude Code đưa trang web vào một artifact, nó sẽ xuất bản trang lên claude.ai rồi trả về đường link để bạn truy cập.

Một ưu điểm đáng chú ý là artifact nằm sau lớp đăng nhập Anthropic. Artifact mới tạo chỉ mình bạn xem được, vì vậy bạn có thể kiểm tra riêng hoặc chủ động chia sẻ khi cần. Artifact cũng hoạt động tốt trên điện thoại. Trong ứng dụng Claude dành cho di động, bạn chỉ cần chạm vào thẻ artifact để mở trang ngay trong ứng dụng.

Tuy nhiên, bạn cần lưu ý một số giới hạn: artifact chỉ là một trang đơn tự chứa, không có backend và phần lớn request ra bên ngoài đều bị chặn. Các script từ một số CDN nằm trong danh sách cho phép, chẳng hạn cdnjs, vẫn chạy được. Với những thư viện và tài nguyên khác, bạn nên đóng gói trực tiếp vào file trước khi sử dụng.

Có đáng đầu tư thời gian xây dựng workflow riêng không?

Có, ngay cả khi bạn chỉ dành một chút thời gian. Tác giả repo đã tùy biến khá sâu, từ tự viết ứng dụng chép giọng nói bằng Swift đến xây dựng status line bằng bash, tất cả đều có Claude Code hỗ trợ. Bạn không nhất thiết phải làm nhiều đến vậy.

Chỉ cần chăm chút CLAUDE.md, giữ file ngắn gọn nhưng vẫn đủ để giúp bạn đạt mục tiêu, là đã có ích rồi. Bạn cũng nên dành thời gian học các mẹo, công cụ và tính năng quan trọng. Đây đều là những khoản đầu tư vào chính công cụ bạn dùng để xây dựng sản phẩm, và giá trị mang lại sẽ tích lũy qua từng phiên làm việc.

Tự động hóa việc tự động hóa nghĩa là gì?

Đó là thói quen quan sát quy trình làm việc của mình, tìm những phần lặp lại để tự động hóa, rồi tiếp tục tìm cách tự động hóa chính những bước vừa tạo ra. Tác giả repo bắt đầu với ChatGPT và muốn tự động hóa thao tác sao chép các lệnh ChatGPT đưa ra rồi chạy chúng trong terminal. Vì vậy, tác giả đã viết một plugin ChatGPT tên Kaguya. Ngày nay, bạn không còn nhất thiết phải tự viết một công cụ riêng như vậy, vì Claude Code đã có thể đảm nhiệm công việc này.

Sau một thời gian sử dụng, bạn có thể nghĩ tiếp: "Nếu tự động hóa cả việc gõ phím thì sao?". Đó cũng là cách tác giả dùng Claude Code để viết ứng dụng chép giọng nói. Tương tự, nếu nhận ra mình thường xuyên phải nhắc lại cùng một điều, hãy thêm nó vào CLAUDE.md. Nếu cứ phải chạy đi chạy lại một lệnh, bạn có thể nhờ Claude thực hiện, đưa quy trình đó vào skill hoặc yêu cầu nó viết một script.

Bài học rút ra là: làm một việc vài lần không có gì đáng ngại, nhưng nếu phải lặp lại liên tục, hãy tìm cách tự động hóa cả quy trình. Tác giả còn chia sẻ một ý mà tôi thấy rất đúng: cách làm này không chỉ giúp bạn làm việc năng suất hơn mà còn khiến công việc thú vị hơn.

Thời của phần mềm cá nhân hóa đã đến chưa?

Theo repo, thời điểm đó đã đến. Nhờ AI, đặc biệt là Claude Code, bạn có thể tự viết nhiều phần mềm hơn trước, kể cả những công cụ chỉ phục vụ nhu cầu cá nhân. Trong loạt bài này, các ví dụ đã xuất hiện gồm ứng dụng chép giọng nói dùng hằng ngày, những tùy biến cho chính Claude Code và các tác vụ phân tích, trực quan hóa dữ liệu bằng Python mà giờ đây bạn có thể hoàn thành nhanh hơn nhiều.

Một ví dụ cụ thể là slack-mcp-server của korotovsky, một MCP server cho Slack có gần 1.000 sao và được thiết kế để chạy trong container Docker. Khi thử chạy nó trong container Docker của mình, tác giả gặp đủ rắc rối với Docker-in-Docker. Thay vì tiếp tục loay hoay với cấu hình, tác giả yêu cầu Claude Code viết hẳn một CLI sử dụng trực tiếp Node SDK của Slack. Kết quả hoạt động rất tốt.

Với những công cụ có phạm vi nhỏ, bạn có thể hoàn thành chỉ trong một hoặc hai giờ. Tác giả còn tự làm một mẫu slide bằng một file HTML duy nhất, gồm CSS và JavaScript, có thể nhúng một tiến trình terminal tương tác chạy liên tục ngay bên trong. Thay vì mất thời gian tìm một phần mềm gần đáp ứng được nhu cầu, giờ đây bạn có thể tự làm công cụ phù hợp chính xác với cách mình muốn sử dụng.

Nên bắt đầu tùy biến từ đâu?

Hãy bắt đầu với CLAUDE.md và giữ file thật ngắn gọn. Khi lần đầu nhận ra mình đang gõ lại cùng một chỉ dẫn, hãy thêm nó vào file. Khi thấy mình phải lặp lại cùng một quy trình, hãy chuyển quy trình đó thành skill. Plugin dx cũng là một điểm khởi đầu tốt, giúp bạn hình dung một bộ skill hoàn chỉnh trông như thế nào trước khi tự xây dựng bộ công cụ của riêng mình.

Tài liệu tham khảo

Chia sẻ bài viết

X / TwitterFacebookLinkedIn