Bài 11 · Nâng cao · 20 phút· Cập nhật 11/06/2026
Plugins & marketplace
Biên soạn bởi Nguyễn Anh Tuấn
Gói skills/agents/hooks/MCP thành plugin tái dùng; cài từ marketplace, tự tạo & chia sẻ cho cả nhóm.
Bạn vừa học năm cách mở rộng: command, Skills, Subagents, Hooks, MCP. Plugin là cách gói tất cả chúng thành một gói duy nhất - có tên, có phiên bản - để chia sẻ và tái dùng qua nhiều dự án và cả nhóm, chỉ bằng một lệnh cài.
| Cách | Tên lệnh | Hợp khi |
|---|---|---|
| Standalone (.claude/) | /hello | Cá nhân, một dự án, thử nghiệm nhanh. |
| Plugin | /tên-plugin:hello | Chia sẻ nhóm/cộng đồng, nhiều dự án, có phiên bản. |
- ▸Plugin gói: skills/commands + agents + hooks + MCP server vào một chỗ.
- ▸Có manifest + phiên bản → cài, cập nhật, gỡ dễ dàng.
- ▸Lệnh đặt theo không gian tên (/tên-plugin:…) để không trùng giữa các plugin.
Lệnh /plugin là trình quản lý. Thêm một marketplace (thường là một git repo), rồi cài plugin từ đó. Thử đặt tên plugin và chọn thành phần - rồi bấm "Cài từ marketplace" để xem cách invoke từng phần:
Đặt tên plugin, chọn thành phần, rồi bấm "Cài từ marketplace" để xem cách invoke từng phần sau khi cài.
Thành phần
- ▸/plugin - mở trình quản lý (duyệt, cài, gỡ).
- ▸/plugin marketplace add <owner/repo> - thêm một nguồn plugin.
- ▸/plugin install <tên>@<marketplace> - cài; /plugin list - xem đã cài gì.
- ▸Có sẵn claude-plugins-official (mọi bản cài); claude-community thêm bằng marketplace add.
Plugin là một thư mục: manifest .claude-plugin/plugin.json mô tả danh tính, còn các thành phần nằm ở gốc plugin:
cấu trúc thư mục plugin
team-tools/
├── .claude-plugin/
│ └── plugin.json # CHI manifest nam trong day
├── skills/
│ └── deploy/SKILL.md # cac Skill
├── agents/
│ └── code-reviewer.md # cac Subagent
├── hooks/
│ └── hooks.json # cac Hook
└── .mcp.json # cac MCP server .claude-plugin/plugin.json
{
"name": "team-tools",
"description": "Skills, agents & hooks dung chung cua team",
"version": "1.0.0",
"author": { "name": "Ten ban" }
} Lỗi hay gặp
Khi đang viết, nạp plugin trực tiếp từ thư mục, không cần cài:
nạp & nạp lại khi phát triển
# Nap plugin tu thu muc (cho phat trien/thu nghiem)
claude --plugin-dir ./team-tools
# Hoac dung khung san mot plugin
claude plugin init my-tool - ▸claude --plugin-dir ./ten-plugin: nạp thẳng để test.
- ▸/reload-plugins: nạp lại sau khi sửa, không cần khởi động lại.
- ▸Thử: /tên-plugin:skill chạy được; agent hiện trong /agents; hook hoạt động.
Plugin chỉ thật sự lợi khi chia sẻ được:
- ▸Đặt plugin trong một git repo làm “marketplace”; nhóm thêm bằng /plugin marketplace add <repo>.
- ▸Nội bộ: dùng repo RIÊNG TƯ. Cộng đồng: nộp qua form chính thức để vào claude-community sau khi duyệt.
- ▸Trước khi nộp: kèm README, đặt version, và chạy claude plugin validate.
Hết phần mở rộng năng lực 🎉
Câu hỏi thường gặp
Plugin là một GÓI gom skills/commands, agents, hooks và MCP server lại với nhau, có manifest và phiên bản, để CHIA SẺ và TÁI DÙNG qua nhiều dự án. Để file rời trong .claude/ (standalone) hợp cho việc cá nhân/một dự án, tên lệnh ngắn (/hello). Plugin hợp khi muốn chia sẻ cho nhóm/cộng đồng; lệnh được đặt theo không gian tên (/tên-plugin:hello) để tránh trùng.
Dùng lệnh /plugin (trình quản lý). Thêm một marketplace: /plugin marketplace add <owner/repo>. Rồi cài: /plugin install <tên>@<marketplace>. Có sẵn marketplace chính thức (claude-plugins-official) trong mọi bản cài, và marketplace cộng đồng (claude-community) thêm bằng /plugin marketplace add anthropics/claude-plugins-community.
Một thư mục với manifest .claude-plugin/plugin.json (tên, mô tả, phiên bản) và - ở GỐC plugin, KHÔNG nằm trong .claude-plugin/ - các thư mục: skills/ (Skill), agents/ (subagent), hooks/hooks.json (hook), .mcp.json (server MCP). Lỗi hay gặp: nhét skills/agents/hooks vào trong .claude-plugin/ - chỉ plugin.json mới ở đó.
Chạy claude --plugin-dir ./ten-plugin để nạp trực tiếp từ thư mục. Sửa file thì gõ /reload-plugins để nạp lại không cần khởi động lại. Thử skill bằng /ten-plugin:ten-skill, kiểm agent trong /agents. Hoặc claude plugin init để dựng khung plugin sẵn.
Tick những điều em tự tin làm được. Càng lên cao, em càng hiểu sâu.
Trả lời vài câu để chắc rằng em đã nắm bài.
Một plugin gói được những thành phần nào?
- 1
Standalone hay plugin?
Bằng lời: một skill tiện ích RIÊNG bạn dùng trong một dự án nên để ở đâu? Còn bộ skills+hooks bạn muốn cả nhóm dùng chung mọi dự án?
Hoàn thành khi: Riêng/một dự án →
.claude/(standalone). Chia sẻ nhóm, nhiều dự án, có phiên bản → đóng gói thành plugin. - 2
Cài một plugin
Mở
/plugin, thêm marketplace cộng đồng, duyệt và cài thử một plugin. Kiểm nó xuất hiện trong/plugin list.Hoàn thành khi: Plugin cài thành công; lệnh/skill của nó hiện dưới không gian tên
/tên-plugin:…(xem/help). - 3
Dựng khung plugin
Tạo một plugin nhỏ: thư mục +
.claude-plugin/plugin.json+ một skill trongskills/. Nạp bằngclaude --plugin-dir.Hoàn thành khi: Gõ
/ten-plugin:ten-skillchạy được skill bạn vừa tạo trong plugin. - 4
Đặt đúng chỗ
Kiểm cấu trúc plugin của bạn:
skills/,agents/,hooks/có nằm ở GỐC plugin không (không phải trong.claude-plugin/)?Hoàn thành khi: Chỉ
plugin.jsonnằm trong.claude-plugin/; mọi thư mục thành phần ở gốc plugin - đúng quy ước. - 5
Gói lại để chia sẻ
Chọn một skill + một hook bạn đã làm ở các bài trước, gói thành một plugin kèm README và version. (Chưa cần publish.)
Hoàn thành khi: Có một plugin gọn gàng, tự chứa, có thể đưa lên git để nhóm cài - sản phẩm “mở rộng Claude Code” đầu tay của bạn.