Một skill làm trang web tốt lên rõ rệt, và bước tiếp theo có vẻ quá hiển nhiên: cài không phải một mà mười cái liền. Đúng lúc đó đồng nghiệp gửi một liên kết: "cài đi, hữu ích lắm". Tất cả được cài chỉ bằng một lệnh, và đó chính là cái bẫy. Plugin trông như một danh sách kỹ năng, nhưng thực chất là code sẽ chạy trên máy bạn với quyền của bạn và chiếm chỗ trong mọi cuộc trò chuyện với agent.

Hãy xem plugin khác skill ở chỗ nào và bên trong nó có thể chứa gì, marketplace đến từ đâu và làm sao phân biệt một nguồn đáng tin với một nguồn ngẫu nhiên, Claude Code hiển thị gì trước khi cài và đọc thông tin đó ra sao. Sau đó đi hết cả quy trình: cài đặt, thử trên nhiệm vụ của bạn, tắt, gỡ. Cuối cùng - việc cần làm trước mỗi lần cài, và vì sao nên làm y như vậy với bất kỳ skill nào agent mang về từ internet.

1. Skill và plugin

Một người thợ mộc có các quy trình đã ghi lại: cách chuẩn bị bàn thợ, cách mài, cách chạy một loạt theo mẫu. Khi anh làm việc một mình, chúng nằm trong sổ tay của anh. Rồi người thợ bên cạnh xin một cái, người học việc xin cái khác, một tháng sau xưởng bên kia đường gọi điện, và việc gửi từng tờ giấy riêng cho mỗi người bắt đầu phiền. Thế là anh gom vài quy trình vào một chiếc hộp, đóng dấu xưởng lên thành hộp và bỏ vào trong một tờ ghi chú: bên trong có gì và dùng ra sao. Chiếc hộp như vậy có thể trao trọn vẹn, cập nhật và đánh số phiên bản.

Đó chính là plugin. Không phải thêm một kỹ năng nữa, mà là lớp đóng gói quanh vài kỹ năng.

Cái gìLà gìTrả lời câu hỏi
Skillmột kỹ năng, một quy trìnhagent biết làm gì
Pluginlớp đóng gói quanh các kỹ nănglàm sao phân phát và cập nhật

Bản thân plugin không phải một kỹ năng riêng, mà là cách phân phát nhiều kỹ năng cùng lúc. Mọi thứ nó làm được đều thông qua những gì nằm bên trong: kỹ năng, trợ lý, phản ứng tự động, kết nối. Vì vậy câu hỏi "plugin làm được gì" luôn quy về một câu khác: bên trong có gì.

Bạn tự lắp một plugin khi các skill của mình bắt đầu được người khác hỏi xin. Nếu chưa chắc mình cần cái gì - skill, một trợ lý có vai trò riêng, hay plugin - hãy hỏi agent, nhưng yêu cầu nó đặt câu hỏi trước thay vì lắp ráp ngay: nó sẽ soạn một bản nháp, còn việc kiểm tra bên trong là của bạn. Quy tắc đơn giản: lặp lại cùng một yêu cầu - skill; việc phụ làm rối cuộc trò chuyện - trợ lý; cùng một bộ cần dùng ở dự án khác - plugin. Cách lắp plugin từng bước là một chủ đề riêng. Bài viết này dành cho những người nhận chiếc hộp.

2. Bên trong plugin có gì

Thường thì chiếc hộp có năm ngăn, và không phải ngăn nào cũng vô hại như nhau.

  • skills - các quy trình mà agent tự áp dụng theo mô tả hoặc theo lệnh của bạn;
  • agents - trợ lý có vai trò riêng, được agent giao một phần công việc;
  • hooks - phản ứng tự động với sự kiện: chạy lệnh mà không cần bạn yêu cầu, ngay khi có điều gì đó xảy ra;
  • MCP servers - kết nối tới dịch vụ bên ngoài, qua đó agent đọc và thay đổi thứ gì đó nằm ngoài máy tính của bạn;
  • LSP servers - gợi ý code cho một ngôn ngữ cụ thể; chúng cần một chương trình được cài riêng.
Plugin như một chiếc hộp có đóng dấu và năm ngăn: skills, agents, LSP servers, cùng với hooks và MCP servers, những thứ chạy lệnh và vươn ra bên ngoàiskillsquy trìnhagentstrợ lý có vai tròLSP serversgợi ý codehookschạy lệnhMCP serversvươn ra ngoàiplugin-name
Dấu bên ngoài, năm ngăn bên trong; hai ngăn dưới có thể chạy lệnh và vươn ra dịch vụ bên ngoài

Hai ngăn dưới là lý do người ta phải nhìn chiếc hộp một cách nghiêm túc thay vì vứt vào góc. Plugin có hooks và MCP làm được điều bạn không ngờ ở một "bộ kỹ năng": chạy lệnh và vươn ra dịch vụ bên ngoài. Bên trong là một công cụ đang có điện, không phải một tấm áp phích treo tường. Bản thân hooks, MCP và agents là gì thì mỗi thứ là một chủ đề riêng; ở đây chỉ cần biết chúng có nghĩa gì khi nằm trong một gói. Ngoài năm ngăn này còn có những ngăn khác, ví dụ cài đặt mặc định hoặc phong cách trả lời của agent, nhưng chúng không làm thay đổi bức tranh chung.

Nếu không có thẻ thông tin trong tay, hãy nhờ agent mở repository của plugin và kể lại những gì nằm trong các thư mục của nó.

3. Tên có tiền tố

Skills từ một plugin được đặt tên kèm tiền tố: /plugin-name:skill-name, ví dụ /commit-commands:commit. Người bên cạnh cũng có thể có một skill "dọn dẹp", và chừng nào chiếc hộp còn dấu, bạn sẽ không nhầm lẫn hai cái.

Cái giá phải trả là tên dài: dùng chung một bộ thì phải gõ lệnh lâu hơn. Skill của riêng bạn trong thư mục dự án thì không có tiền tố.

Nhưng cũng có lợi ích. Chỉ cần nhìn tiền tố trong menu / là luôn biết lệnh đến từ đâu và là hộp của ai.

4. Marketplace và hai bước

Hộp được lấy từ kho. Marketplace của plugin là danh sách plugin của người khác do ai đó duy trì. Làm việc với nó gồm hai bước: thêm marketplace, sau đó cài từng plugin từ đó. Việc thêm marketplace tự nó không cài đặt gì, bạn chỉ nhận được danh sách.

Với phần lớn mọi người, bước đầu tiên đã có sẵn. Lệnh /plugin mở một panel với bốn tab: Discover - tìm plugin trong tất cả các marketplace đã thêm; Installed - những gì đã cài; Marketplaces - các marketplace; Errors - lỗi tải. Marketplace chính thức của Anthropic đã có sẵn từ lần chạy đầu tiên, và trong tab Discover các plugin của nó hiện ra ngay: chọn, mở, cài. Cùng danh sách đó cũng có trên trang claude.com/plugins, nếu bạn muốn xem mà không cần mở Claude Code.

Marketplace thứ hai xuất hiện khi plugin bạn cần không có trong marketplace chính thức: đó là marketplace cộng đồng, hoặc một repository của ai đó có chứa file marketplace. Thêm nó chỉ bằng một lệnh, và cài plugin từ đó cũng chỉ bằng một lệnh:

/plugin marketplace add anthropics/claude-plugins-community   # thêm marketplace cộng đồng
/plugin install plugin-name@claude-community                  # cài một plugin từ đó
/plugin list                                                  # kiểm tra plugin đã có trong danh sách

Marketplace của người khác cũng được thêm bằng đúng lệnh đầu tiên đó, chỉ khác địa chỉ.

Có một chi tiết nhiều người vấp phải nhất (kể cả tôi). Tên marketplace dùng để cài đặt không lấy từ tên repository, mà lấy từ mô tả của chính marketplace: repository tên là anthropics/claude-plugins-community, nhưng lại cài từ claude-community. Tên thật của marketplace hiện trong tab Marketplaces.

Trong marketplace chính thức có nhiều loại plugin khác nhau. Tích hợp với GitHub là MCP, một kết nối tới dịch vụ bên ngoài. Gợi ý code cho một ngôn ngữ, chẳng hạn typescript-lsp, là LSP. security-guidance kiểm tra mỗi thay đổi của agent xem có lỗ hổng bảo mật điển hình nào không.

5. Ba mức độ tin cậy của nguồn

Plugin không tự được nạp chỉ vì nằm trong một thư mục: bạn phải cài đặt nó một cách tường minh, và đây không phải thủ tục rườm rà. Bên trong là code sẽ chạy với quyền của bạn, tức là làm được mọi thứ bạn có thể làm trên máy tính này. Vì vậy câu hỏi đầu tiên về bất kỳ plugin nào không phải "nó làm được gì", mà là "nó đến từ đâu".

Marketplace chính thức. Do Anthropic duy trì, nhưng phần lớn plugin trong đó đến từ đối tác và các tác giả khác, chứ không phải từ chính Anthropic. Ở đây cần ít sự chú ý hơn so với một repository xa lạ, nhưng mô tả và thành phần thì vẫn nên đọc.

Marketplace cộng đồng. Các plugin bên thứ ba đã qua kiểm tra tự động của Anthropic; hầu như plugin nào cũng được gắn với một phiên bản cụ thể trong marketplace. Đây là một bộ lọc, không phải sự bảo đảm: chưa ai kiểm tra xem plugin có làm đúng như nó hứa hay không.

Repository hoặc thư mục bất kỳ. Không có kiểm tra nào cả. Bạn tự xem tác giả là ai, có mô tả rõ ràng không và bên trong các thư mục có gì.

Số sao không phải lý lẽ

Plugin chạy code trên máy bạn với quyền của bạn. Anthropic không kiểm soát bên trong một plugin bên thứ ba có gì, và không xác nhận nó làm đúng như đã hứa. Độ nổi tiếng hay việc "ai cũng cài" không phải là lý do để cài đặt.

Trong một phiên làm việc có thể gặp cả ba mức: một plugin thiết kế từ marketplace cộng đồng, một plugin khác từ marketplace của Anthropic, cái thứ ba từ repository của ai đó chỉ có đúng một plugin bên trong. Điều đó bình thường, miễn là bạn biết mình đang ở mức nào tại mỗi thời điểm.

Mức độ cẩn trọng tùy vào từng plugin. Nó càng làm được nhiều, tức càng nhiều hooks và MCP, và nguồn càng xa nguồn chính thức, thì bạn càng phải nhìn kỹ hơn.

6. Claude Code hiển thị gì trước khi cài đặt

Nguồn quyết định bạn cần nhìn kỹ đến đâu. Chi tiết thì Claude Code tự hiển thị: mở plugin từ tab Marketplaces của panel /plugin hoặc bằng lệnh /plugin install tên@marketplace, và bạn sẽ thấy thẻ thông tin của nó. Thẻ mở từ danh sách Discover thì ngắn hơn: không có ước tính chi phí.

Trong đó có ba dòng, và mở thẻ ra chính là để xem chúng. Hai dòng cuối chỉ có ở plugin của marketplace chính thức.

  • Will install - thành phần: có bao nhiêu skills, agents, hooks, MCP và LSP sẽ được cài;
  • Context cost - plugin sẽ thêm bao nhiêu vào cửa sổ context của agent: Every turn - ở mỗi yêu cầu của bạn, When invoked - khi agent nạp skills và agents của nó;
  • Last updated - lần cuối plugin được cập nhật.
Will install:  skills: 8   agents: 1   hooks: 2   MCP servers: 1
Context cost:  Every turn: ~400 tokens   When invoked: ~1.5k tokens
Last updated:  2 weeks ago

Các con số và dạng dòng chỉ là ví dụ, mỗi plugin và mỗi phiên bản Claude Code lại khác. Đọc thành phần thì dễ, nhưng đó chỉ là phép xấp xỉ đầu tiên: nếu bên trong chỉ có skills, plugin nhiều khả năng chỉ đọc và gợi ý; có hooks hoặc MCP - nó chạy lệnh hoặc vươn ra ngoài, và đó là lý do nên mở mô tả để biết chính xác là gì. Thẻ thông tin không hiển thị tất cả: plugin còn có thể mang theo file thực thi và cài đặt mặc định mà thẻ không liệt kê. Với một nguồn xa lạ, hãy xem thêm cả repository.

Không phải plugin nào cũng có thẻ thông tin

Với các plugin từ marketplace cục bộ hoặc do bạn tự tạo, thành phần và chi phí có thể không hiển thị, thay vào đó là một dòng nói rằng các thành phần sẽ được phát hiện khi cài đặt. Với plugin như vậy, cách duy nhất để biết thành phần trước khi cài là mở repository của nó và xem trong đó có những thư mục nào.

Và câu hỏi thứ ba mà thẻ thông tin không trả lời: plugin có hợp với bạn không. Ngay cả một plugin tốt cũng có thể không cần cài. Nó có thể trùng với skill bạn đã có, kéo theo script cho một hệ điều hành khác, hoặc giải quyết một vấn đề mà bạn không gặp phải.

7. Ai được dùng plugin

Ai được dùng chiếc hộp là điều quyết định từ trước, ngay lúc cài đặt. Có ba lựa chọn.

  • user - dành cho bạn, trong mọi dự án;
  • project - dành cho tất cả những ai làm việc với repository này: mục này được ghi vào .claude/settings.json và đi theo dự án;
  • local - dành cho bạn và chỉ trong dự án này, đồng nghiệp không thấy.

Còn có managed: do quản trị viên cài đặt, và bạn không thể thay đổi nó. Phần lớn mọi người sẽ không gặp trường hợp này.

Chỉ có một quy tắc: chọn scope hẹp nhất còn phù hợp. Càng ít nơi plugin được bật, càng ít tình huống nó thực sự chạy, và càng ít việc phải dọn dẹp sau này. Một plugin đáng ngờ không trở nên an toàn hơn nhờ scope hẹp: ở nơi nó được bật, nó vẫn làm được y như vậy. Project scope đáng nói riêng: bạn không chỉ quyết định cho mình. Với đồng nghiệp mở repository, plugin sẽ ở trạng thái được bật nhưng chưa được cài: trong tab Errors của panel /plugin sẽ xuất hiện cảnh báo, còn cài plugin thì họ phải tự làm.

Khi cài từ panel, hệ thống sẽ hỏi scope; /plugin install cũng mở một thẻ để bạn chọn.

8. Cài đặt và kiểm tra

Nếu quá trình cài đặt diễn ra suôn sẻ, nó kết thúc bằng một trong hai câu. Hoặc plugin đã hoạt động, hoặc bạn được yêu cầu chạy /reload-plugins. Trường hợp thứ hai thì cứ chạy; nếu lệnh cảnh báo rằng việc tải lại sẽ đọc lại cuộc trò chuyện, hãy lặp lại với --force. Không cần khởi động lại Claude Code.

Plugin đã lên chưa, xem qua /plugin list: nó có trong danh sách, và các skills của nó đã xuất hiện kèm tiền tố trong menu /.

Một chiếc hộp đã mở sẽ chiếm chỗ trên bàn thợ. Ngay từ giây đầu tiên, một plugin đã bật sẽ thêm vào cửa sổ context của agent lời khai báo về các skills của nó: tên và mô tả. Toàn bộ nội dung chỉ được kéo vào khi skill thật sự vào việc, nhưng lời khai báo thì luôn nằm ở đó. Các kết nối tới dịch vụ bên ngoài mang theo tên công cụ ngay lập tức, mô tả thì theo nhu cầu; phản ứng tự động gần như không chiếm chỗ trong cửa sổ. Cửa sổ càng đầy, mỗi câu trả lời càng đắt và càng chậm.

Chỉ có cách so sánh mới thấy được cái giá thật sự: /context hiển thị cửa sổ đang bị chiếm bởi những gì. Hãy chạy nó trước khi cài và sau khi cài.

Chạy thử thay vì tin suông

Mô tả của plugin nói nó nên làm gì. Còn nó thực sự làm gì trên nhiệm vụ của bạn, chỉ một lần chạy thử mới cho biết: một nhiệm vụ của riêng bạn trước khi cài, cùng nhiệm vụ đó sau khi cài, và tận mắt so sánh kết quả.

1) không có plugin: nhiệm vụ của bạn, ghi nhớ kết quả
2) cài plugin, nếu cần thì /reload-plugins
3) làm lại đúng nhiệm vụ đó
4) so sánh và quyết định: giữ lại, tắt, gỡ bỏ

Kết quả so sánh cố tình không được nêu ra ở đây: mỗi người có kết quả riêng. Tiêu chí thì đơn giản: bạn có thể nói trong hai câu plugin làm được gì, và nêu một lý do để giữ lại hoặc bỏ đi - từ chính lần chạy thử của bạn, chứ không phải từ bản mô tả.

9. Tắt, gỡ, xóa marketplace

Ba hành động, và chúng khác nhau. /plugin disable tắt nhưng không xóa: plugin ngừng chiếm cửa sổ context, và /plugin enable đưa nó trở lại. /plugin uninstall gỡ bỏ hoàn toàn. /plugin marketplace remove xóa marketplace, và cùng với nó là mọi plugin đã cài từ marketplace đó. Điều này rất dễ quên.

/plugin disable plugin-name@marketplace-name    # tắt nhưng không mất
/plugin uninstall plugin-name@marketplace-name  # gỡ bỏ hoàn toàn
/plugin marketplace remove marketplace-name     # xóa marketplace và mọi thứ đã cài từ đó

Các lệnh này mở cùng một panel và để nó mở sẵn, đóng lại bằng Esc. Trong tab Installed, mọi thứ có thể làm tương tự mà không cần lệnh: các plugin có vấn đề hiển thị ở trên, plugin đã tắt thu gọn ở dưới. Nếu bạn gỡ một plugin đang bật cho cả dự án, Claude Code sẽ hỏi: chỉ với bạn hay với tất cả mọi người.

Dọn dẹp. Những plugin bạn tự cài và không dùng đến suốt hai tuần, qua mười phiên làm việc, được Claude Code gom vào tab Installed dưới mục "Not used recently", và thẻ thông tin cho biết plugin đó chạy lần cuối khi nào. Riêng /doctor liệt kê các plugin không dùng đến kèm chi phí context của chúng. một bộ công cụ vẫn là một bộ công cụ chừng nào bạn còn nhớ trong đó có gì và để làm gì.

Cập nhật. Các marketplace chính thức tự cập nhật và yêu cầu chạy /reload-plugins; marketplace của bên thứ ba thì mặc định không như vậy. Một bản cập nhật gần như là một lần cài đặt mới: thành phần có thể thay đổi, và thẻ thông tin đáng để mở lại xem.

Nếu có gì đó bị lỗi, kể cả trong chính lúc cài đặt: tab Errors sẽ cho biết nguyên nhân. Sau đó là tắt, cài lại, và trong trường hợp xấu nhất là xóa cache của plugin rồi cài lại từ đầu. Nếu marketplace chính thức biến mất khỏi tab Marketplaces, lệnh /plugin marketplace add anthropics/claude-plugins-official sẽ đưa nó trở lại.

10. Không chỉ có plugin

Một skill mà agent tải về từ repository của người khác theo yêu cầu của bạn rồi đặt vào thư mục dự án cũng là trường hợp tương tự, chỉ khác là không có marketplace, thẻ thông tin và scope. Không có ai kiểm tra nó ngoài bạn.

Các câu hỏi vẫn như cũ. Nó đến từ đâu. Bên trong có gì: SKILL.md đọc trong một phút là xong, nhưng phải kiểm tra cả thư mục - cả các script và các file mà nó dẫn tới. Nó tự cho phép trước những công cụ nào: trường allowed-tools. Trường này chỉ cho biết những gì được phê duyệt trước mà không cần hỏi riêng, không phải danh sách đầy đủ mọi điều có thể xảy ra. Một skill từ repository của một dịch vụ bên thứ ba hoàn toàn có thể tự cho phép mình chạy lệnh, và với một skill gửi thứ gì đó ra ngoài thì điều này là bình thường. Nhưng nên thấy điều đó trước lần chạy đầu tiên, chứ không phải sau.

Khác biệt so với plugin chỉ có một. Skill không có thẻ thông tin, nhưng toàn bộ nội dung của nó nằm ngay đó dưới dạng văn bản mở, và bạn có thể đọc trước lần chạy đầu tiên.

11. Việc cần làm trước mỗi lần cài đặt

Sáu bước, theo đúng thứ tự đã xuất hiện trong bài viết.

  1. Nguồn. Marketplace chính thức, marketplace cộng đồng hay repository của người khác - điều này quyết định bạn cần nhìn kỹ đến đâu ở các bước sau.
  2. Thành phần. Dòng "Will install" trên thẻ thông tin; hooks và MCP nghĩa là có chạy lệnh và vươn ra ngoài, với những cái đó hãy mở mô tả ra xem.
  3. Chi phí. "Context cost" trên thẻ thông tin (ở marketplace chính thức) và /context trước và sau: chi phí của plugin bị tính vào từng yêu cầu của bạn.
  4. Scope. Chọn scope hẹp nhất còn phù hợp; project scope là quyết định thay cho cả đồng nghiệp.
  5. Chạy thử. Một nhiệm vụ trước và sau, kết luận từ chính bài kiểm tra của bạn chứ không phải từ mô tả.
  6. Quyết định. Giữ lại, tắt hoặc gỡ bỏ; sau vài tuần tab Installed sẽ nhắc bạn về những gì không được dùng đến.
Cập nhật gần như là một lần cài đặt mới

Thành phần của plugin có thể thay đổi sau khi cập nhật, và các marketplace chính thức thì tự cập nhật. Trước một công việc quan trọng, hãy mở lại thẻ thông tin thay vì nhớ lại thẻ của năm ngoái.

Chiếc hộp có đóng dấu được nghĩ ra để trao trọn vẹn các quy trình mà không cần gửi từng tờ giấy riêng, và nó hoạt động theo cả hai chiều. Người nhận chiếc hộp nhìn vào con dấu, mở nắp ra và chỉ đặt lên bàn thợ những gì cần dùng hôm nay.


Panel plugin và nội dung các thông báo của nó thay đổi theo từng phiên bản; nếu màn hình của bạn khác với mô tả ở đây, hãy dựa vào ý nghĩa của các dòng chữ chứ không phải hình thức chính xác của chúng.