Courses
Claude Code xử lý hầu hết các tác vụ phát triển ngay từ đầu, nhưng mỗi đội ngũ lại có quy trình riêng mà thiết lập mặc định không bao quát hết. Bạn có thể muốn một lệnh tùy chỉnh để tạo khung thành phần theo cấu trúc ưa thích của công ty, tự động lint trước mỗi commit, hoặc truy cập nhanh tài liệu cho một framework bạn dùng thường xuyên.
Plugin Claude Code cho phép bạn tự bổ sung những tính năng này. Bạn có thể cài đặt plugin do cộng đồng xây dựng hoặc tự tạo của riêng mình.
Nếu bạn mới làm quen với công cụ mã hóa theo tác nhân của Anthropic, tôi khuyên bạn bắt đầu với Hướng dẫn Claude Code hoặc khóa học Giới thiệu về các Mô hình Claude. Hướng dẫn này giả định bạn đã cài Claude Code và từng dùng cho các tác vụ cơ bản.
Kết thúc bài, bạn sẽ biết cách:
- Tìm và cài plugin từ thư mục của Anthropic và nguồn cộng đồng
- Hiểu ba loại thành phần mà plugin có thể chứa
- Chọn đúng loại cho các trường hợp sử dụng khác nhau
- Xây dựng và chia sẻ plugin của riêng bạn
Để có cái nhìn tổng quan về năng lực của mô hình mới nhất từ Anthropic, hãy xem hướng dẫn về Claude Sonnet 4.6
Plugin Claude Code là gì?
Plugin là một gói đóng gói một hoặc nhiều tiện ích mở rộng Claude Code để dễ chia sẻ và cài đặt. Thay vì sao chép thủ công các tệp cấu hình giữa máy hoặc đồng đội, bạn có thể gói mọi thứ vào một plugin và phân phối như một đơn vị duy nhất.
Plugin có thể chứa ba loại thành phần:
- Skills: Các lệnh tùy chỉnh bạn gọi bằng
/skill-name, hoặc các nhắc lệnh theo ngữ cảnh mà Claude tự động dùng khi phù hợp - Máy chủ MCP: Kết nối tới dịch vụ và API bên ngoài, cung cấp cho Claude quyền truy cập dữ liệu mà bình thường sẽ không có
- Hooks: Các script shell chạy tự động theo sự kiện cụ thể, như trước khi chỉnh sửa tệp hoặc sau một commit
Một plugin có thể chỉ chứa một trong số này, hoặc kết hợp nhiều thành phần phối hợp với nhau. Một plugin "triển khai" có thể bao gồm skill /deploy cho triển khai thủ công, một máy chủ MCP kiểm tra trạng thái môi trường staging, và một hook chạy kiểm thử trước khi bất kỳ lệnh triển khai nào được thực thi.
Tệp manifest plugin.json định nghĩa nội dung của plugin. Nó chỉ định những skills, máy chủ MCP và hooks cần cài, cùng siêu dữ liệu như tên plugin, phiên bản và tác giả. Khi bạn cài plugin, Claude Code đọc manifest này và thiết lập từng thành phần vào vị trí thích hợp.
Định dạng đóng gói này giúp bạn không cần hiểu cấu trúc tệp nội bộ của tiện ích mở rộng Claude Code. Bạn chỉ cần cài plugin và mọi thứ sẽ vào đúng chỗ.
Tìm và cài đặt plugin Claude Code
Phần lớn plugin nằm ở một trong hai nơi. Thư mục chính thức của Anthropic tại plugins.claude.ai bao gồm plugin do Anthropic xây dựng, đóng góp cộng đồng đã xác minh, và tiện ích mở rộng bên thứ ba phổ biến. Mỗi mục liệt kê cho thấy plugin chứa những thành phần nào, thông tin tương thích và hướng dẫn cài đặt.
Nguồn thứ hai là GitHub. Kho lưu trữ awesome-claude-code duy trì danh sách tuyển chọn theo danh mục, và các nhà phát triển cá nhân xuất bản plugin trong kho của họ.
Khi đã tìm được plugin mong muốn, lệnh cài đặt phụ thuộc vào nơi nó nằm:
# From the official directory
claude plugin add @anthropic/deploy-helper
# From a GitHub repository
claude plugin add github:username/repo-name
# From a local directory (useful during development)
claude plugin add ./my-plugin
Sau khi cài vài plugin, bạn sẽ muốn theo dõi chúng. Lệnh plugin xử lý việc liệt kê, cập nhật và gỡ bỏ:
# List all installed plugins
claude plugin list
# Update a specific plugin to the latest version
claude plugin update @anthropic/deploy-helper
# Update all plugins
claude plugin update --all
# Remove a plugin
claude plugin remove @anthropic/deploy-helper
Một quyết định bạn sẽ đưa ra khi cài đặt là phạm vi. Plugin có thể tồn tại ở hai nơi: phạm vi người dùng cài vào ~/.claude/plugins/ và hoạt động trên tất cả dự án của bạn, trong khi phạm vi dự án cài vào .claude/plugins/ trong một kho cụ thể.
Mặc định là phạm vi người dùng. Để cài plugin chỉ cho dự án hiện tại, thêm cờ --project:
claude plugin add @anthropic/deploy-helper --project
Plugin theo phạm vi dự án phù hợp khi tiện ích gắn với một codebase cụ thể.
Một plugin hiểu quy trình triển khai của công ty bạn thì nên thuộc về dự án đó. Một plugin định dạng mã theo sở thích cá nhân của bạn thì nên ở cấp người dùng. Khi một plugin tồn tại ở cả hai phạm vi, phiên bản dự án sẽ được ưu tiên, cho phép nhóm áp đặt cấu hình đặc thù dự án trong khi các nhà phát triển vẫn giữ plugin cá nhân hoạt động ở nơi khác.
Chọn đúng loại plugin Claude Code
Ba loại thành phần phục vụ các mục đích khác nhau và tiêu tốn tài nguyên khác nhau. Hiểu các đánh đổi này giúp cửa sổ ngữ cảnh của bạn “khỏe mạnh” và giúp bạn chọn đúng công cụ cho từng việc.
Skills so với máy chủ MCP: Cán cân token
Máy chủ MCP nạp sẵn mọi định nghĩa công cụ vào cửa sổ ngữ cảnh khi bắt đầu phiên. Mỗi công cụ cần tên, mô tả và toàn bộ schema tham số, thường khoảng 100–300 token mỗi công cụ. Một thiết lập năm máy chủ tiêu tốn khoảng 55.000 token trước khi bạn gõ một ký tự:
- GitHub: 35 công cụ
- Slack: 11 công cụ
- Sentry: 5 công cụ
- Grafana: 5 công cụ
- Splunk: 2 công cụ
Một phân tích cho thấy thiết lập với 7+ máy chủ tiêu tốn hơn 67.000 token, tức là một phần ba cửa sổ ngữ cảnh 200K của bạn đã mất trước khi cuộc trò chuyện bắt đầu.
Skills áp dụng cách tiếp cận khác qua việc tiết lộ dần. Khi bắt đầu phiên, Claude chỉ thấy tên mỗi skill và một dòng mô tả từ phần đầu YAML, khoảng 100 token mỗi skill.
Chỉ khi Claude xác định skill liên quan đến tác vụ hiện tại thì hướng dẫn đầy đủ mới được tải. Tệp tham chiếu chỉ tải khi thực sự cần. Và script không bao giờ đi vào cửa sổ ngữ cảnh; Claude chạy chúng bên ngoài và chỉ nhận lại đầu ra.

Anthropic đã xử lý sự mất cân bằng này vào cuối năm 2025 với Tool Search, một tính năng mang cơ chế nạp lười cho máy chủ MCP.
Thay vì nạp sẵn mọi định nghĩa công cụ, Claude Code nay phát hiện khi mô tả công cụ sẽ tiêu tốn hơn 10% ngữ cảnh khả dụng và chuyển sang nạp theo nhu cầu.
Thử nghiệm nội bộ cho thấy mức sử dụng ngữ cảnh giảm từ ~134.000 token xuống ~5.000 token đối với thư viện công cụ lớn. Độ chính xác chọn công cụ cũng được cải thiện, với Opus 4 tăng từ 49% lên 74% và Opus 4.5 từ 79,5% lên 88,1% trong các đánh giá MCP.
Vậy khi nào nên dùng loại nào?
Skills phù hợp nhất khi bạn muốn Claude có quyền truy cập tri thức hoặc quy trình làm việc mà nó có thể áp dụng có cân nhắc. Một skill mô tả checklist review code của nhóm bạn sẽ được tải khi Claude review code, nhưng Claude vẫn quyết định cách áp dụng từng mục dựa trên ngữ cảnh.
Skills cũng hợp với các thao tác cần script tính toán nặng, vì mã script nằm ngoài cửa sổ ngữ cảnh.
Máy chủ MCP phù hợp nhất khi Claude cần dữ liệu thời gian thực từ các dịch vụ bên ngoài như tin nhắn Slack, PR trên GitHub hoặc truy vấn cơ sở dữ liệu. Chúng cũng là lựa chọn đúng khi nhiều tác nhân AI cần cùng bộ công cụ, hoặc khi bạn cần tính năng doanh nghiệp như nhật ký kiểm toán và cấp quyền rõ ràng.
Nhiều thiết lập kết hợp cả hai: skills cung cấp "cách" và "khi nào" thông qua hướng dẫn ngôn ngữ tự nhiên, còn máy chủ MCP xử lý các lời gọi API thực tế.
Các skill Claude Code phổ biến nên cài
- Superpowers: Hơn 20 quy trình đã kiểm chứng cho TDD, gỡ lỗi và lập kế hoạch có cấu trúc
- frontend-design: Hướng dẫn Claude tránh tính thẩm mỹ chung chung và mạnh dạn đưa ra quyết định thiết kế
- mcp-builder: Hướng dẫn tạo máy chủ MCP để tích hợp API bên ngoài
- webapp-testing: Kiểm thử ứng dụng web cục bộ bằng Playwright để xác minh UI
- skill-creator: Công cụ tương tác hướng dẫn bạn xây dựng skill mới
Các máy chủ MCP phổ biến nên kết nối
- Context7: Tra cứu tài liệu theo thời gian thực, theo phiên bản
- GitHub: Tìm kiếm kho, quản lý PR, theo dõi issue
- Playwright: Tự động hóa trình duyệt sử dụng cây khả năng truy cập thay vì ảnh chụp màn hình
- Supabase: Truy vấn cơ sở dữ liệu với nhận thức Row Level Security
- Sentry: Theo dõi lỗi và hiệu năng trực tiếp trong trình soạn thảo của bạn
Bạn cũng có thể đọc hướng dẫn của chúng tôi về các máy chủ MCP từ xa hàng đầu.
Hooks: Lớp tất định
Hooks hoàn toàn nằm ngoài cuộc tranh luận skills so với MCP. Trong khi cả skills và máy chủ MCP đều hướng về phía Claude (Claude quyết định khi nào dùng), hooks lại hướng về hệ thống. Chúng kích hoạt theo các sự kiện như PreToolUse hoặc PostToolUse, chạy các script shell trước hoặc sau khi Claude thực hiện hành động cụ thể. Claude không có quyền quyết định một hook có chạy hay không.
Điều này khiến Hooks là lựa chọn đúng khi điều gì đó phải xảy ra không ngoại lệ: lint trước mỗi commit, chặn ghi vào thư mục được bảo vệ, ghi log mọi lệnh bash, hoặc chạy kiểm thử trước bất kỳ triển khai nào.
Nhà phát triển này khuyến nghị dùng hook "block-at-submit" thay vì "block-at-write". Chặn Claude giữa chừng sẽ gây rối tác nhân và cho kết quả kém. Nhóm của cô ấy dùng hook PreToolUse bao quanh Bash(git commit) và kiểm tra tệp tạm chỉ tồn tại khi kiểm thử vượt qua. Không có tệp, không commit. Tác nhân hoàn thành công việc, sau đó việc xác thực diễn ra ở cuối.
Hooks không thêm chi phí token vì chúng chạy như script shell bên ngoài cửa sổ ngữ cảnh.
Các hook hữu ích nên thiết lập
- ESLint/Prettier khi chỉnh sửa: Tự động định dạng tệp sau khi Claude ghi
- Cổng kiểm thử khi commit: Chặn commit trừ khi kiểm thử vượt qua
- Đường dẫn bảo vệ: Ngăn ghi vào thư mục migrations, configs, hoặc vendor
- Thông báo khi hoàn tất: Gửi cảnh báo Slack hoặc desktop khi tác vụ dài hoàn thành
- Sao lưu bản ghi: Lưu lịch sử trò chuyện trước khi thu gọn
Cách tự xây dựng plugin Claude Code
Khi một skill nằm trong thư mục cá nhân .claude/ của bạn, chỉ mình bạn có thể dùng. Đóng gói nó thành plugin cho phép bạn chia sẻ với đồng đội hoặc tái sử dụng trên nhiều dự án.
Chúng ta sẽ xây dựng một plugin tên session-logger bổ sung lệnh /session-logger:summarize. Khi được gọi, Claude xem lại cuộc trò chuyện và thêm một bản tóm tắt có cấu trúc vào SESSION_LOG.md.
Tạo cấu trúc plugin
Plugin có thể nằm ở bất cứ đâu trên hệ thống tệp của bạn. Trong hướng dẫn này, chúng ta sẽ tạo một plugin trong thư mục home của bạn:
cd ~
mkdir -p session-logger/.claude-plugin
mkdir -p session-logger/skills/summarize
Thao tác này tạo ra:
~/session-logger/
├── .claude-plugin/
│ └── plugin.json # manifest goes here, nowhere else
└── skills/
└── summarize/ # folder name becomes the command name
└── SKILL.md # must be named exactly this
Viết manifest
Tạo ~/session-logger/.claude-plugin/plugin.json:
{
"name": "session-logger",
"description": "Log session summaries to a markdown file",
"version": "1.0.0"
}
Trường name trở thành tiền tố không gian tên. Tất cả lệnh trong plugin này sẽ bắt đầu bằng /session-logger:.
Viết skill
Tạo ~/session-logger/skills/summarize/SKILL.md:
---
description: Log a summary of the current session to SESSION_LOG.md
disable-model-invocation: true
---
When invoked, review the conversation and create a summary with these sections:
- **Date/time**: Current timestamp
- **Tasks completed**: What was accomplished
- **Files modified**: List of files created or changed
- **Decisions made**: Architectural or implementation choices
- **Open questions**: Unresolved items for future sessions
Append the summary to SESSION_LOG.md in the project root. Create the file if it doesn't exist.
Dòng disable-model-invocation: true cho Claude biết rằng chỉ bạn mới có thể kích hoạt skill này. Nếu không có cờ này, Claude có thể tự quyết định chạy lệnh nếu nghĩ rằng nó hữu ích cho cuộc trò chuyện. Với công cụ ghi log hoặc triển khai, bạn thường muốn kiểm soát thủ công.
Kiểm thử cục bộ
Đi đến bất kỳ dự án nào bạn muốn dùng plugin, sau đó khởi chạy Claude Code với cờ --plugin-dir trỏ tới plugin của bạn:
cd ~/your-project
claude --plugin-dir ~/session-logger
Gõ /session-logger:summarize để gọi lệnh. Lưu ý rằng lệnh plugin không xuất hiện trong gợi ý tự động cho đến khi bạn gõ đủ tên. Văn bản chuyển thành màu xanh khi Claude Code nhận ra đó là lệnh hợp lệ.
Sau khi làm một số việc trong phiên, hãy chạy lệnh. Claude xem lại cuộc trò chuyện và thêm một mục vào SESSION_LOG.md trong thư mục dự án hiện tại của bạn.
Chia sẻ với người khác
Đẩy plugin của bạn lên GitHub. Để phân phối vượt ra ngoài việc clone thủ công, hãy thêm nó vào một chợ plugin. Hướng dẫn marketplace đề cập đến việc tạo chợ của riêng bạn hoặc gửi lên những chợ hiện có.
Kết luận
Plugin biến Claude Code từ một trợ lý đa năng thành công cụ được định hình theo quy trình làm việc cụ thể của bạn. Trình ghi nhật ký phiên mà chúng ta xây dựng chỉ mất khoảng năm phút và ba tệp. Phần lớn plugin hữu ích cũng không phức tạp hơn nhiều.
Nếu bạn làm theo, giờ bạn đã có một plugin hoạt động trên máy. Hãy thử tinh chỉnh nó. Thay đổi định dạng tóm tắt, thêm mục mới, hoặc thay bằng thứ mà đội ngũ của bạn thực sự cần. Cấu trúc vẫn giữ nguyên dù bạn xây một công cụ cá nhân nhanh gọn hay thứ sẽ phân phối cho hàng trăm nhà phát triển.
Hãy duyệt các kho cộng đồng khi có dịp. Xem cách người khác cấu trúc plugin sẽ dạy bạn những mẫu mực mà tài liệu khó truyền tải. Và khi bạn xây được thứ hữu ích, hãy xuất bản nó. Hệ sinh thái lớn lên nhờ từng plugin được chia sẻ.
Câu hỏi thường gặp về Plugin Claude Code
Plugin trong Claude Code là gì?
Plugin là các gói có thể chia sẻ, đóng gói các tiện ích mở rộng Claude Code lại với nhau. Chúng có thể chứa skills (lệnh tùy chỉnh và nhắc lệnh theo ngữ cảnh), máy chủ MCP (kết nối tới API bên ngoài) và hooks (script shell chạy theo sự kiện cụ thể). Plugin cho phép bạn chia sẻ quy trình làm việc với đồng đội hoặc tái sử dụng trên nhiều dự án.
Làm thế nào để cài đặt plugin Claude Code?
Dùng lệnh claude plugin install <plugin-name> cho plugin trên marketplace. Với phát triển cục bộ, khởi chạy Claude Code bằng claude --plugin-dir ./your-plugin để kiểm thử mà không cần cài đặt.
Cấu trúc tệp đúng cho một plugin Claude Code là gì?
Plugin cần một thư mục .claude-plugin/ chứa plugin.json ở gốc. Skills nằm trong skills/<skill-name>/SKILL.md. Manifest chỉ nằm trong .claude-plugin/, còn các thư mục khác (skills, hooks, agents) ở gốc plugin.
Vì sao lệnh slash tùy chỉnh của tôi không xuất hiện trong gợi ý tự động?
Lệnh plugin dạng slash không hiển thị trong gợi ý tự động cho đến khi bạn gõ đủ tên. Văn bản chuyển màu xanh khi Claude Code nhận ra. Đồng thời hãy đảm bảo SKILL.md của bạn có disable-model-invocation: true trong phần đầu để lệnh có thể do người dùng gọi.
Khi nào tôi nên dùng hooks của Claude thay vì skills?
Dùng hooks khi điều gì đó phải xảy ra mỗi lần không ngoại lệ, như lint trên mỗi lần chỉnh sửa hoặc chặn commit cho đến khi kiểm thử vượt qua. Hooks là tất định và hướng về hệ thống, trong khi skills có nhận thức ngữ cảnh và Claude quyết định khi nào áp dụng.
Tôi là người sáng tạo nội dung về khoa học dữ liệu với hơn 2 năm kinh nghiệm và là một trong những tài khoản có lượng theo dõi lớn nhất trên Medium. Tôi thích viết các bài chuyên sâu về AI và ML với chút giọng điệu mỉa mai, vì bạn cũng phải làm gì đó để chúng bớt nhàm chán. Tôi đã xuất bản hơn 130 bài viết và một khóa học trên DataCamp, và đang ấp ủ thêm một khóa nữa. Nội dung của tôi đã tiếp cận hơn 5 triệu lượt xem, trong đó có 20 nghìn người trở thành người theo dõi trên cả Medium và LinkedIn.
