Claude Certification Guide

Claude Code Plugins: Chúng là gì và cách sử dụng

24 tháng 3, 2026 · 7 phút đọc

Claude Code Plugins cho phép bạn đóng gói skill, hook, subagent, và MCP server thành một gói duy nhất có thể cài đặt được. Thay vì sao chép cấu hình thủ công giữa các dự án, bạn đóng gói mọi thứ vào một plugin mà ai cũng có thể cài đặt chỉ bằng một lệnh.

Lưu ý: Claude Code Plugins hiện chưa được kiểm tra trong kỳ thi Claude Certified Architect (exam guide ngày 2026-02-10). Bài viết này bàn về một tính năng bổ sung dành cho những người muốn mở rộng thiết lập Claude Code của mình.

Plugin thực sự là gì

Một plugin là một thư mục có tệp manifest plugin.json khai báo những gì nó cung cấp. Hãy hình dung nó như một gói — một plugin có thể bao gồm một slash command tùy chỉnh, một hook pre-commit, một MCP server để truy cập database, và một subagent xử lý review code. Cài đặt plugin, và tất cả các khả năng đó trở nên khả dụng trong phiên Claude Code của bạn.

Trước khi có plugin, bạn phải cấu hình từng thứ này riêng lẻ qua CLAUDE.md, .claude/settings.json, và các tệp cấu hình MCP. Plugin gộp tất cả lại thành một bước cài đặt duy nhất.

Cấu trúc plugin.json

Mỗi plugin cần một tệp plugin.json ở thư mục gốc. Đây là một ví dụ đầy đủ:

jsonCopy

{
  "name": "db-assistant",
  "version": "1.0.0",
  "description": "Database query assistant with schema-aware completions",
  "author": "your-org",
  "skills": [
    {
      "name": "query",
      "description": "Run read-only SQL queries against the connected database",
      "command": "/db-query",
      "entrypoint": "skills/query.md"
    }
  ],
  "hooks": [
    {
      "event": "on_message",
      "script": "hooks/validate-sql.sh",
      "description": "Validates SQL syntax before execution"
    }
  ],
  "mcpServers": {
    "db-schema": {
      "command": "node",
      "args": ["mcp/schema-server.js"],
      "env": {
        "DB_CONNECTION": "${DB_CONNECTION_STRING}"
      }
    }
  },
  "subagents": [
    {
      "name": "migration-reviewer",
      "prompt": "subagents/migration-reviewer.md",
      "description": "Reviews database migration files for safety issues"
    }
  ],
  "permissions": ["file_read", "file_write", "network"],
  "config": {
    "defaultDatabase": "postgres",
    "maxQueryResults": 100
  }
}

Các phần chính:

  • skills khai báo slash command với entrypoint là tệp markdown. Khi người dùng chạy /db-query, Claude nạp skill prompt từ skills/query.md.
  • hooks gắn script vào các sự kiện vòng đời. Hook on_message chạy trước khi Claude xử lý mỗi tin nhắn — hữu ích cho việc xác thực hoặc ghi log.
  • mcpServers định nghĩa các MCP server tự động khởi động khi plugin được nạp. Biến môi trường dùng cú pháp ${VAR} và được phân giải từ shell của người dùng.
  • subagents đăng ký các agent chuyên biệt mà phiên Claude Code chính có thể giao việc.
  • permissions khai báo những gì plugin cần quyền truy cập. Người dùng thấy các quyền này khi cài đặt.
  • config cung cấp các thiết lập mặc định mà người dùng có thể ghi đè.

Cài đặt plugin

Lệnh /plugin xử lý việc cài đặt:

bashCopy

# Install from the marketplace
/plugin install db-assistant
 
# Install from a Git repository
/plugin install github:your-org/db-assistant
 
# Install from a local directory (useful during development)
/plugin install ./my-plugin
 
# List installed plugins
/plugin list
 
# Remove a plugin
/plugin remove db-assistant

Khi bạn cài đặt một plugin, Claude Code sao chép nó vào thư mục plugin cục bộ của bạn và đăng ký các skill, hook, MCP server, và subagent của nó. Mọi thứ được kích hoạt ngay lập tức — không cần khởi động lại.

Chợ plugin (marketplace)

Marketplace là một registry gồm các plugin cộng đồng và chính thức. Bạn có thể duyệt nó từ CLI:

bashCopy

# Search the marketplace
/plugin search "database"
 
# View plugin details before installing
/plugin info db-assistant

Mỗi mục trong marketplace hiển thị mô tả plugin, các quyền nó yêu cầu, số lượt tải, và lịch sử phiên bản. Quyền hạn ở đây rất quan trọng — một plugin yêu cầu quyền network trong khi tự nhận là một công cụ linting cục bộ nên khiến bạn đặt câu hỏi.

Tự xây dựng plugin

Bắt đầu với lệnh dựng khung:

bashCopy

/plugin init my-plugin

Lệnh này tạo cấu trúc thư mục với một plugin.json khung sẵn. Từ đó:

  1. Thêm skill bằng cách tạo các tệp markdown trong thư mục skills/ và tham chiếu chúng trong plugin.json.
  2. Thêm hook bằng cách viết shell script hoặc module Node và gắn chúng vào các sự kiện vòng đời.
  3. Thêm MCP server bằng cách xây dựng một server (Python với FastMCP hoặc TypeScript với MCP SDK) và khai báo nó trong khối mcpServers.
  4. Kiểm thử cục bộ bằng cách cài đặt từ đường dẫn cục bộ: /plugin install ./my-plugin.

Trong quá trình phát triển, thay đổi đối với skill prompt và hook script có hiệu lực ngay ở tin nhắn Claude Code tiếp theo. Thay đổi đối với plugin.json yêu cầu cài đặt lại.

Cấu hình plugin và ghi đè

Người dùng có thể ghi đè cấu hình mặc định của một plugin mà không cần chỉnh sửa chính plugin đó:

jsonCopy

// .claude/plugins/db-assistant/config.json
{
  "defaultDatabase": "mysql",
  "maxQueryResults": 50
}

Cách tiếp cận cấu hình theo tầng này có nghĩa là tác giả plugin đặt các giá trị mặc định hợp lý và người dùng điều chỉnh theo môi trường của họ. Biến môi trường trong định nghĩa MCP server được phân giải tại thời điểm chạy, nên các thông tin bí mật không bao giờ bị đóng cứng vào gói plugin.

Khi nào dùng plugin so với cấu hình thủ công

Plugin hợp lý khi:

  • Bạn đang chia sẻ một thiết lập Claude Code trong nhóm hoặc tổ chức
  • Cấu hình liên quan đến nhiều thành phần (skill + hook + MCP server)
  • Bạn muốn môi trường được quản lý phiên bản, có thể tái tạo được
  • Bạn đang xuất bản công cụ cho cộng đồng

Cấu hình thủ công phù hợp khi:

  • Bạn đang thiết lập một công cụ dùng một lần, riêng cho một dự án
  • Cấu hình chỉ là một MCP server duy nhất hoặc một hướng dẫn trong CLAUDE.md
  • Bạn đang làm prototype và không muốn gánh thêm chi phí của một manifest

Điều này có ý nghĩa gì cho kỳ thi

Kỳ thi kiểm tra cấu hình Claude Code qua Domain 3 — Claude Code Configuration & Workflows. Các khái niệm mà plugin được xây dựng dựa trên — slash command, cấu hình MCP server, hook, và CLAUDE.md — đều có thể xuất hiện trong đề thi. Hiểu cách plugin đóng gói các thành phần này giúp bạn có một mô hình tư duy vững chắc hơn về cách hệ thống cấu hình của Claude Code khớp với nhau, dù bản thân plugin sẽ không xuất hiện trong câu hỏi thi.

Nếu bạn muốn củng cố các khái niệm nền tảng, hãy làm qua Task 3.5 — Slash Commands & MCPTask 3.3 — Hooks.