Sự khác biệt giữa Claude Code Skills và các lệnh slash

Claude Code Skills và lệnh slash đều tự động hóa các tác vụ lặp đi lặp lại, nhưng chúng hoạt động khác nhau. Hãy tìm hiểu khi nào nên sử dụng cái nào Claude Code Skills và lệnh slash, cũng như cách xây dựng cả hai một cách hiệu quả.

Hai công cụ, một mục tiêu: Tự động hóa công việc lặp đi lặp lại trong Claude Code

Bất cứ ai sử dụng Claude Code trong vài ngày đều nhận thấy cùng một mô hình: Bạn liên tục gõ cùng một hướng dẫn, thực hiện cùng các bước thiết lập và giải thích lại cùng một ngữ cảnh. Claude Code cung cấp cho bạn hai cách riêng biệt để khắc phục điều này — lệnh slash và skill — và hầu hết người dùng không hiểu rõ sự khác biệt giữa chúng hoặc nên sử dụng cái nào.

Bài viết này sẽ phân tích cả hai cách tiếp cận. Bạn sẽ tìm hiểu lệnh slash và Claude Code Skills thực sự là gì, cách thức hoạt động của từng loại và các tình huống thực tế mà loại này hiệu quả hơn loại kia. Cho dù bạn đang xây dựng một mình hay thiết lập workflow cho một nhóm, việc hiểu đúng sự khác biệt này sẽ tiết kiệm thời gian thực sự.

Các lệnh slash trong Claude Code là gì?

Lệnh slash là các shortcut dựa trên văn bản, chèn các hướng dẫn được viết sẵn vào phiên Claude Code của bạn. Gõ / vào terminal, và Claude Code sẽ hiển thị cho bạn danh sách các lệnh có sẵn. Một số lệnh được tích hợp sẵn. Một số khác do bạn tự tạo.

Các lệnh slash tích hợp sẵn

Claude Code đi kèm với một bộ lệnh slash gốc xử lý việc quản lý phiên và các tác vụ phổ biến của nhà phát triển:

  • /help — liệt kê các lệnh có sẵn và cách sử dụng
  • /clear — reset ngữ cảnh hội thoại
  • /compact — tóm tắt hội thoại để tiết kiệm không gian cửa sổ ngữ cảnh
  • /cost — hiển thị số lượng token mà phiên hiện tại đã tiêu thụ
  • /doctor — chạy kiểm tra tình trạng thiết lập Claude Code của bạn
  • /model — chuyển đổi mô hình đang hoạt động giữa phiên
  • /memory — chỉnh sửa file bộ nhớ dự án CLAUDE.md của bạn

Những điều này rất hữu ích, nhưng danh mục thú vị hơn là các lệnh slash tùy chỉnh.

Các lệnh slash tùy chỉnh

Bạn có thể tạo các lệnh slash của riêng mình bằng cách đặt những file markdown vào các thư mục cụ thể:

  • Các lệnh cấp dự án được đặt trong .claude/commands/ bên trong thư mục dự án của bạn. Chúng có sẵn cho bất kỳ ai làm việc trên dự án đó.
  • Các lệnh cấp người dùng được đặt trong ~/.claude/commands/ trong thư mục chính của bạn. Chúng theo bạn qua mọi dự án.

Mỗi file trở thành một lệnh. Một file có tên review.md sẽ trở thành /project:review hoặc /user:review tùy thuộc vào vị trí của nó.

Bên trong file, bạn viết một prompt template. Claude coi nội dung của file như các hướng dẫn khi bạn gọi lệnh. Bạn cũng có thể bao gồm một biến giữ chỗ $ARGUMENTS để truyền đầu vào động trong thời gian chạy — vì vậy /project:review src/auth.ts sẽ thay thế $ARGUMENTS bằng src/auth.ts trong câu lệnh của bạn.

Đây là một ví dụ đơn giản. Một file tại .claude/commands/test-coverage.md có thể chứa:

Analyze the test coverage for $ARGUMENTS.
Identify which branches are untested, suggest specific test cases,
and flag any logic that's particularly risky to leave uncovered.

Gọi nó bằng /project:test-coverage src/payments/ và Claude sẽ chạy phân tích đó trên thư mục payments.

Các lệnh slash là văn bản đầu vào, văn bản đầu ra. Chúng định hình những gì Claude làm bằng cách kiểm soát câu lệnh. Chúng không cung cấp cho Claude bất kỳ khả năng mới nào — chúng chỉ giúp những prompt hiện có có thể tái sử dụng và chia sẻ được.

Skill trong Claude Code là gì?

Thay vì các prompt template, skill là công cụ lập trình mở rộng những gì Claude thực sự có thể làm. Chúng cung cấp cho Claude quyền truy cập vào các hàm, API và service bên ngoài mà nếu không có chúng thì Claude sẽ không thể truy cập được.

Cách thức hoạt động về mặt kỹ thuật của skill

Claude Code hỗ trợ việc sử dụng công cụ thông qua hai cơ chế chính: Định nghĩa hàm trực tiếp và tích hợp MCP (Model Context Protocol) server.

Khi một skill được đăng ký, Claude biết rằng nó có thể gọi công cụ đó theo tên, với các đầu vào cụ thể và nhận lại kết quả có cấu trúc. Claude suy luận về thời điểm sử dụng một công cụ dựa trên những gì nó đang cố gắng thực hiện. Điều đó khác với các lệnh slash, nơi bạn gọi rõ ràng một hành động cụ thể.

Skill chạy code. Một skill có thể:

  • Tìm kiếm trên web và trả về kết quả có cấu trúc
  • Gửi email qua service SMTP
  • Truy vấn cơ sở dữ liệu và trả về các hàng
  • Tạo hình ảnh bằng mô hình khuếch tán
  • Đăng bài lên Slack, cập nhật vé Jira hoặc đẩy file lên S3

MCP server đóng vai trò như một cơ chế phân phối skill

MCP là tiêu chuẩn mở của Anthropic để kết nối các mô hình AI với những công cụ bên ngoài. MCP server cung cấp một tập hợp các công cụ mà Claude Code có thể gọi. Sau khi bạn cấu hình MCP server trong file ~/.claude/mcp.json hoặc cấu hình cấp dự án, các công cụ đó sẽ có sẵn trong phiên làm việc của bạn.

Đây là lúc các skill trở nên mạnh mẽ. Thay vì viết một prompt kiểu "vui lòng kiểm tra xem code này có lỗ hổng bảo mật hay không", bạn có thể cung cấp cho Claude một skill thực sự gọi API phân tích tĩnh và trả về kết quả thực tế.

Nhược điểm: Các skill yêu cầu thiết lập phức tạp hơn. Bạn cần cấu hình MCP server hiện có hoặc tự xây dựng một máy chủ mới. Điều đó tốn nhiều công sức hơn so với việc chỉ cần sao chép một file markdown vào một thư mục.

Sự khác biệt cốt lõi giữa Claude Code Skills và các lệnh slash

Đây là cách diễn đạt rõ ràng nhất:

Lệnh Slash Skill
Định nghĩa Prompt template Các hàm/công cụ có thể gọi
Cách Claude sử dụng chúng Bạn gọi chúng một cách rõ ràng Claude tự động sử dụng chúng khi cần thiết
Độ phức tạp thiết lập Thấp — viết một file markdown Cao hơn — cấu hình hoặc xây dựng công cụ/MCP server
Những gì chúng có thể làm Định hình lập luận và kết quả của Claude Thực hiện các hành động thực tế trên những hệ thống bên ngoài
Đầu vào Các lập luận văn bản Tham số kiểu
Đầu ra Phản hồi bằng văn bản Dữ liệu có cấu trúc + văn bản
Chia sẻ Commit .claude/commands/ đến kho lưu trữ Chia sẻ cấu hình MCP server hoặc gói npm
Tốt nhất cho Hướng dẫn và workflow có thể tái sử dụng Sự tích hợp và hành động trong thế giới thực

Lệnh slash nói về cách Claude suy nghĩ. Skill nói về những gì Claude có thể chạm vào.

Khi nào nên sử dụng lệnh slash?

Lệnh slash là lựa chọn đúng đắn khi vấn đề chính của bạn là sự lặp lại prompt — bạn liên tục cung cấp cho Claude cùng một ngữ cảnh hoặc hướng dẫn, và bạn muốn một cách nhanh hơn để kích hoạt hành vi đó.

Những tình huống mà lệnh slash phát huy hiệu quả:

Chuẩn hóa việc xem xét code. Nếu bạn luôn muốn Claude kiểm tra những thứ giống nhau — bảo mật, hiệu suất, độ phủ kiểm thử, quy ước đặt tên — lệnh slash sẽ ghi lại danh sách kiểm tra đó một lần và làm cho nó có thể tái sử dụng ngay lập tức.

Ngữ cảnh hướng dẫn. Các thành viên nhóm mới có thể chạy /project:setup và nhận được giải thích đầy đủ về những quy ước của codebase, các lỗi thường gặp và nơi bắt đầu. Không ai cần phải viết lại nữa.

Quy trình gỡ lỗi lặp đi lặp lại. Khi bạn đang trong một phiên gỡ lỗi và liên tục yêu cầu Claude theo dõi một loại lỗi cụ thể, lệnh slash sẽ chuẩn hóa cách tiếp cận để bạn không phải giải thích lại mỗi lần.

Template tài liệu. Lệnh /project:document-function có thể hướng dẫn Claude tạo chú thích JSDoc theo định dạng cụ thể, với các phần cụ thể, mỗi lần — mà không cần bạn phải chỉ định định dạng thủ công.

Tính nhất quán của nhóm. Việc đưa file .claude/commands/ vào kho lưu trữ của bạn có nghĩa là mọi người trong nhóm đều sử dụng cùng một prompt cho cùng một nhiệm vụ. Ít sai lệch hơn, bớt không nhất quán hơn.

Tín hiệu quan trọng: Nếu vấn đề của bạn là “Tôi cứ viết những prompt tương tự nhau”, thì lệnh slash sẽ giải quyết được vấn đề đó. Chúng ít gây cản trở, dễ bảo trì và không yêu cầu cơ sở hạ tầng.

Khi nào nên sử dụng skill?

Skill là lựa chọn đúng đắn khi bạn cần Claude làm điều gì đó ngoài việc suy luận và tạo văn bản — khi nó cần tương tác với các hệ thống bên ngoài, kích hoạt những hành động thực tế hoặc làm việc với dữ liệu có cấu trúc từ các nguồn bên ngoài.

Các tình huống mà skill là cần thiết:

Gửi thông báo hoặc email. Lệnh slash có thể cho Claude biết bạn muốn định dạng bản nháp email như thế nào. Skill có thể thực sự gửi email.

Thực hiện các lệnh gọi API. Nếu Claude cần kiểm tra trạng thái triển khai, truy vấn cơ sở dữ liệu hoặc lấy dữ liệu trực tiếp từ dịch vụ bên ngoài, điều đó đòi hỏi một công cụ — chứ không phải là một prompt template.

Tạo asset. Việc tạo hình ảnh, tạo video và các tác vụ media khác cần một khả năng có thể gọi được để định tuyến đến mô hình phù hợp và trả về kết quả.

Kết nối các workflow nhiều bước. Khi Claude cần tìm kiếm thứ gì đó, xử lý kết quả, sau đó thực hiện hành động dựa trên những gì nó tìm thấy, bạn cần các skill ở mỗi bước — chứ không chỉ là các prompt tốt hơn.

Tương tác với cơ sở hạ tầng của bạn. Các skill có thể bao gồm những công cụ CLI, gọi API Docker, chạy bộ kiểm thử hoặc kích hoạt những CI/CD pipeline. Các prompt template có thể mô tả những điều đó, nhưng chúng không thể thực thi chúng.

Tín hiệu quan trọng: Nếu vấn đề của bạn là “Claude không thể truy cập những gì nó cần để làm việc”, thì các skill sẽ giải quyết vấn đề đó. Chúng mở rộng phạm vi của Claude từ văn bản thành hành động.