Плагіни в Claude Code: як встановити, створити власний маркетплейс і не спіймати шкідливий

18 хв. читання

Коротко (TL;DR)

Плагін Claude Code — це пакет (bundle): skills, субагенти, slash-команди, MCP-сервери та hooks в одному каталозі, який ставиться однією командою. Це не нова здатність агента, а спосіб упакувати й роздати те, що ви вже вмієте тримати локально в .claude/. Різниця лише в дистрибуції: плагін потрібен, коли набір треба віддати команді, версіонувати або поставити з маркетплейсу, а не тоді, коли «плагін кращий за скіл».

Що варто знати за хвилину (дані актуальні на липень 2026 року):

  • Плагіни Anthropic анонсувала 9 жовтня 2025 і тримає в статусі public beta. Формат один: будь-яка комбінація команд, агентів, MCP-серверів і хуків плюс маніфест plugin.json.
  • Готовий плагін ставиться командою /plugin install <ім'я>@claude-plugins-official; стороннє джерело під’єднується через /plugin marketplace add <owner/repo>.
  • Власний маркетплейс — це git-репозиторій з файлом .claude-plugin/marketplace.json. Жодного сервера не потрібно.
  • В офіційному маркетплейсі — 101 плагін (33 від Anthropic + 68 партнерських) за даними на березень 2026; цифра волатильна, це єдиний публічний кількісний зріз.
  • Головний ризик — сторонній плагін виконує довільний код з вашими правами. Це не абстракція: задокументовано робочі ланцюжки атак (PromptArmor, Prompt Security). Нижче — як це має вигляд і як підстрахуватися.

Гайд розрахований на тих, хто вже знайомий зі Skills, MCP і субагентами Claude Code, — тобто на рівень advanced.

Що таке плагін і з чого він складається

Плагін — це самодостатній каталог, який зводить разом кілька типів розширень Claude Code і під’єднується як єдине ціле. За документацією Anthropic плагін може містити будь-яку комбінацію з чотирьох компонентів:

  • Slash-команди та skills — розмічені Markdown-інструкції «як робити завдання нашим способом».
  • Субагенти — окремі агенти під вузькі ролі (рев’ю, ресерч), зі своїм контекстом.
  • MCP-сервери — під’єднання до зовнішніх інструментів і даних через протокол Model Context Protocol; самі собою MCP-сервери — це зовнішні процеси, які дають агенту нові дії.
  • Hooks — команди, що виконуються автоматично за подією (наприклад, на кожен submit промпту).

Опційно в пакет входять LSP-сервери, фонові монітори й файл settings.json. Ключова думка: плагін не додає Claude Code нових здатностей понад ці цеглинки — він їх упаковує й переносить.

Структура каталогу та маніфест

Обов’язковий файл — маніфест .claude-plugin/plugin.json. Він задає ідентичність плагіна: поля name, description, version, author. Тут же — найчастіша помилка новачків, яку окремо підкреслює документація:

Усередині .claude-plugin/ лежить лише plugin.json. Каталоги commands/, agents/, skills/, hooks/ кладуться в корінь плагіна, а не всередину .claude-plugin/.

Типове дерево має такий вигляд:

my-plugin/
├── .claude-plugin/
│   └── plugin.json      # name, version, description, author
├── skills/
├── agents/
├── commands/
└── hooks/

Ще одна деталь, про яку варто знати заздалегідь: команди й skills з плагіна завжди мають префікс в імені/ім'я-плагіна:команда (наприклад, /my-plugin:hello). Це захист від конфліктів, коли два різні плагіни принесли команду з однаковим ім’ям. У standalone-конфігурації .claude/ та сама команда звалася б коротко — /hello.

Коли плагін узагалі потрібен

Головна розвилка, яку рідко пояснюють явно: той самий набір skill + agent + hook + MCP можна тримати локально в .claude/ і не загортати в плагін. Офіційна документація формулює межу так:

Тримайте у standalone .claude/, колиРобіть плагін, коли
Налаштування лише для вас і одного проєктуДілитеся функціональністю з командою чи спільнотою
Швидкий чорновий скіл або хукРоздаєте через маркетплейс
Нічого не треба версіонуватиПотрібні версії та кероване оновлення
Не плануєте поширюватиХочете ставити все однією командою в колег

Висновок простий: плагін — це формат дистрибуції та версіонування, а не «просунута заміна скілу». Якщо ви не ділитеся набором, плагін вам не потрібен.

Як встановити плагін Claude Code

Встановлення — це дві команди й вибір області. Офіційний маркетплейс claude-plugins-official під’єднується автоматично під час першого інтерактивного запуску Claude Code, тож плагіни Anthropic доступні одразу.

Крок 1. Поставити плагін з офіційного маркетплейсу. Формат — ім'я-плагіна@ім'я-маркетплейсу:

/plugin install github@claude-plugins-official

Крок 2. Під’єднати сторонній маркетплейс (якщо плагін живе поза офіційним). Команда /plugin marketplace add приймає кілька типів джерел:

/plugin marketplace add owner/repo          # GitHub-репозиторій
/plugin marketplace add https://git-url.git  # прямий Git URL
/plugin marketplace add ./local/path         # локальний шлях

Після під’єднання плагін із нього ставиться тим самим /plugin install <плагін>@<маркетплейс>. Меню /plugin без аргументів відкриває інтерактивний оглядач — там же видно оцінку контекст-вартості плагіна, і Anthropic радить вимикати невживані плагіни, щоб не палити контекст даремно.

Крок 3. Обрати область встановлення (scope). Їх три:

  • User scope (за замовчуванням) — плагін ставиться для вас в усіх проєктах.
  • Project scope — для всіх учасників репозиторію, через .claude/settings.json (їде в git, ставиться в колег автоматично).
  • Local scope — лише для вас і лише в цьому репозиторії.

Крок 4. Застосувати зміни без рестарту. Якщо ви встановили, увімкнули чи вимкнули плагін прямо в сесії, команда /reload-plugins перечитає всі активні плагіни, skills, агентів, hooks і plugin-MCP-сервери без перезапуску Claude Code.

Офіційний маркетплейс: що там є

Anthropic веде два публічні маркетплейси, і різниця між ними — принципова:

  • claude-plugins-official — курований набір від Anthropic, під’єднується автоматично.
  • claude-community (репозиторій anthropics/claude-plugins-community) — майданчик для сторонніх плагінів, які потрапляють туди після рев’ю та автоматичного security-скринінгу; під’єднується вручну.

За незалежним тестуванням (Build to Launch) в офіційному маркетплейсі станом на березень 2026 був 101 плагін: 33 зробила Anthropic і 68 — партнери. Поруч Anthropic тримає окремі тематичні маркетплейси — наприклад, life-sciences (17 біомедичних плагінів) і knowledge-work-plugins (14 рольових). Це єдиний публічний кількісний зріз, який вдалося знайти: сам GitHub-репозиторій лічильник плагінів не публікує (лише зірки й форки — на дату перевірки в claude-plugins-official близько 31,9 тис. зірок). Тому цифру варто сприймати з датою зрізу, а не як «скільки там сьогодні».

Важливий практичний висновок із того самого тесту: «офіційний» не дорівнює «якісний під ваше завдання». У прогоні 11 плагінів партнерський Sales-плагін видав завідомо неправильні дані про підписників, тоді як загальніший Marketing-плагін упорався точніше. Ярлик official говорить про походження й базову перевірку, але не гарантує, що плагін розв’яже саме ваше завдання. Перевіряйте на своїй роботі, а не за бейджем.

Як створити власний маркетплейс

Щоб роздавати плагіни, не потрібні ані сервер, ані реєстрація. Потрібен git-репозиторій (або GitHub-репозиторій, або просто URL) з коректним файлом .claude-plugin/marketplace.json у корені. Цей файл описує ім’я маркетплейсу, власника й перелік плагінів з їхніми джерелами.

Мінімальний marketplace.json:

{
  "name": "my-marketplace",
  "owner": { "name": "Ваше ім'я" },
  "plugins": [
    { "name": "my-plugin", "source": "./my-plugin" }
  ]
}

Обов’язкових полів три: name (у kebab-case), owner з ім’ям і масив plugins, де в кожного плагіна є name і source. Джерело плагіна буває кількох типів:

Тип джерелаЯк задаєтьсяДля чого
Відносний шлях"./plugin" (рядок)Плагін у тому самому репо
githubоб’єкт repo, опц. ref, shaОкремий GitHub-репозиторій
urlоб’єкт url, опц. ref, shaБудь-який Git URL
git-subdirurl + pathПідкаталог монорепо (sparse clone)
npmpackage, опц. version, registryПлагін з npm-пакета

Два нюанси, об які спотикаються автори. Перший — зарезервовані імена: claude-plugins-official, claude-community, anthropic-marketplace, agent-skills та інші використовувати не можна, як і імена, що імітують офіційні джерела Anthropic. Другий — версіонування: порядок розв’язання версії йде від version у plugin.json до запису в маркетплейсі й далі до git-коміту. Типова помилка — «запушив новий код, але не бампнув версію»: користувачі не отримують оновлення, хоча код уже інший.

Перед публікацією плагін перевіряють локально прапорцем --plugin-dir, без встановлення:

claude --plugin-dir ./my-plugin

Прапорець можна вказати кілька разів для кількох плагінів, а з версії Claude Code 2.1.128 він приймає й .zip-архів каталогу. Той самий прогін claude plugin validate потім повторює пайплайн рев’ю community-маркетплейсу під час подання заявки.

Власний маркетплейс — обкатаний сценарій навіть поза межами Claude Code: схожу модель поширення через власний каталог використовує, наприклад, особистий ШІ-агент OpenClaw зі своїм реєстром ClawHub. Ідея одна — роздати набір розширень через керовану точку входу.

Плагін проти скіла та MCP-сервера

Три поняття постійно плутають, хоча вони лежать на різних рівнях. Скіл відповідає на питання «як агенту думати/діяти», MCP — «що агент вміє викликати», плагін — «як це роздати». Розкладемо по полицях:

ШарЩо цеНа що відповідаєКоли обирати
SkillMarkdown-інструкція (SKILL.md)Як виконувати завдання вашим способомТреба навчити агента процедури
MCP-серверЗовнішній процес/сервісЯкі нові дії та дані доступніПотрібен живий доступ до API, БД, сервісу
ПлагінПакет (bundle)Як упакувати й роздати і те, і теТреба поділитися набором з командою/спільнотою

Звідси важливий наслідок для тих, хто робить інтеграцію свого сервісу. Офіційна рекомендація Anthropic — не обирати між MCP і плагіном, а будувати обидва разом. Спершу remote MCP-сервер з OAuth дає зв’язок і базову функціональність, потім плагін зі skills навчає Claude користуватися цим сервером правильно (плагін посилається на MCP за URL, а не дублює його). Саме тому в готових інтеграцій на кшталт GitHub чи Linear у маркетплейсі така архітектура: видаліть MCP-конектор — плагін зі скілами все ще на місці, і навпаки. Plugin-only виправданий, коли у вас уже є публічний API чи CLI і MCP-обгортка не потрібна.

Ризики та безпека плагінів: три рівні довіри й реальні атаки

Тут починається частина, яку RU- і UA-матеріали зазвичай або пропускають, або зводять до фрази «плагіни можуть бути небезпечні». Сама документація Anthropic формулює ризик прямо:

«Plugins and marketplaces are highly trusted components that can execute arbitrary code on your machine with your user privileges. Only install plugins and add marketplaces from sources you trust.»

Тобто плагін — це код, який виконується з вашими правами, і Anthropic не контролює, які MCP-сервери, файли чи скрипти в нього зашито. Тому джерело плагіна варто оцінювати за трьома рівнями довіри:

  1. Офіційний маркетплейс claude-plugins-official — курується Anthropic, вбудований за замовчуванням. Максимальний рівень довіри, але й він не гарант якості під завдання (див. вище).
  2. Community-маркетплейс claude-community — сторонні плагіни після рев’ю та автоматичного security-скринінгу; схвалені пиняться на конкретний commit SHA, каталог синкається щоночі. Середній рівень: перевірка є, але плагін чужий.
  3. Discovery-реєстри (claudemarketplaces.com, claudecodemarketplace.com і подібні) — автоматично індексують публічні маркетплейси з GitHub. Вони прямо заявляють, що не перевіряють окремі плагіни, а нові маркетплейси потрапляють в індекс протягом приблизно години після публікації. Нижній рівень: зручний пошук, нульова гарантія безпеки.

Як має вигляд робоча атака

Дослідники PromptArmor зібрали робочий ланцюжок компрометації через шкідливий маркетплейс. Логіка така: hook плагіна за документацією може керувати дозволами команд — цим і користуються. Шкідливий hook переписує файл дозволів (дозволяє, наприклад, curl без підтвердження), в обхід механізму human-in-the-loop. Далі prompt injection у тілі команди змушує Claude надіслати вміст вашої кодової бази на сервер атакувальника. При цьому шкідливий маркетплейс встигає потрапити в публічні discovery-реєстри протягом години після публікації на GitHub — тобто жертві досить знайти «зручний» плагін через каталог.

Це не поодинокий вектор. Prompt Security 5 січня 2026 показала інший клас — dependency hijack: шкідливий skill з неофіційного маркетплейсу підміняє джерело встановлення залежності (у демо — httpx) на троянський білд через кастомний index URL. Атаку класифікували за OWASP як ASI01 (Agent Goal Hijack) і ASI02 (Tool Misuse). Що показово, штатного безпечного способу перевірити плагін до запуску його коду поки немає: у лютому 2026 спільнота окремим запитом (issue #28879 в anthropics/claude-code) попросила Anthropic додати режим «завантажити без виконання» для передвстановлювального рев’ю.

Що цьому протиставлено

Розділ ризиків був би нечесним без другої половини. Вендор на клас ризику реагує:

  • Security-скринінг community-маркетплейсу — автоматична перевірка під час подання плюс пін схвалених плагінів на commit SHA (не можна мовчки підмінити код під тим самим ім’ям).
  • strictKnownMarketplaces — параметр managed settings для організацій. Порожній масив [] повністю блокує додавання нових маркетплейсів; перелік джерел працює як allowlist за точним збігом. Поруч disableSideloadFlags вимикає CLI-прапорці --plugin-dir/--plugin-url.
  • Sandbox-ізоляція credentials (за незалежним джерелом sdd.sh, версії Claude Code 2.1.186–191) — deny-by-default відтинає доступ команд агента до файлів із секретами.
  • Enterprise-ліміти стосуються іншого механізму — організаційного маркетплейсу в Claude.ai (Team/Enterprise), а не CLI-налаштувань вище. Там свої обмеження: ZIP плагіна до 50 МБ, максимум 100 плагінів у ручному каталозі та 500 — у синхронізованому з GitHub, ім’я плагіна до 64 символів, таймаут синку 30 хвилин (за даними Help Center на 29 червня 2026).

Практичний чек-лист перед встановленням стороннього плагіна

  • Ставте по змозі з офіційного чи community-маркетплейсу, а не з discovery-реєстру «за посиланням».
  • Прочитайте, що реально в пакеті: наявність hooks/ і MCP-серверів — привід придивитися, саме вони несуть виконання коду.
  • Перевіряйте автора й історію репозиторію, а не лише зірки каталогу.
  • У команді вмикайте strictKnownMarketplaces з явним allowlist, а не покладайтеся на дисципліну розробників.
  • Тримайте увімкненими лише потрібні плагіни: менше активного коду — менша поверхня атаки (і менша витрата контексту).

FAQ

Чим плагін відрізняється від скіла в Claude Code? Скіл — це одна Markdown-інструкція (SKILL.md), яка навчає агента процедури. Плагін — це пакет, який може містити багато скілів, а ще субагентів, hooks і MCP-сервери, і роздається однією командою через маркетплейс. Скіл відповідає «як робити», плагін — «як це упакувати й поділитися».

Чи потрібен мені плагін, якщо я працюю сам? Зазвичай ні. Усе те саме (skills, агенти, hooks, MCP) тримається локально в .claude/. Плагін виправданий, коли набір треба віддати команді, версіонувати або ставити однією командою в колег. Для особистого налаштування під один проєкт достатньо standalone-конфігурації.

Як оновити встановлений плагін? Оновлення приходить, коли автор бампнув версію в plugin.json або зсунув commit SHA у записі маркетплейсу. Часта причина «оновлення не прийшло» — код запушили, а версію не підняли. Після змін у сесії виконайте /reload-plugins, щоб перечитати плагіни без перезапуску.

Чи безпечно ставити плагіни зі стороннього маркетплейсу? Лише за довіри до джерела. Плагін виконує довільний код з вашими правами, і задокументовано робочі атаки (PromptArmor, Prompt Security). Надавайте перевагу офіційному й community-маркетплейсам, дивіться, що всередині пакета, а в організації обмежуйте джерела через strictKnownMarketplaces.

Що обрати для інтеграції сервісу — MCP-сервер чи плагін? Anthropic рекомендує робити обидва: MCP-сервер дає живий доступ до API, а плагін зі скілами навчає Claude користуватися ним правильно. Плагін посилається на MCP за URL, а не дублює його. Тільки-плагін без MCP виправданий, якщо у вас уже є публічний API чи CLI і обгортка не потрібна. Працює все це, до речі, поверх моделі Claude Sonnet, на якій крутиться Claude Code.

Курс «Claude Code з нуля до продакшену» · модуль «Конфіг, пам'ять, навички». Повна програма і два маршрути навчання — на сторінці курсу.

Попередній урок: 5 патернів скілів і власний скіл · Наступний урок: MCP у Claude Code: налаштування, Tool Search

Поділитися
Зв'язатися:
Крипто- та data-аналітик, інженер-програміст (факультет комп'ютерних наук ХНУРЕ). В IT з 2008 року: адміністрував корпоративний моніторинг у «Vodafone Україна», сім років розробляв і просував веб-проєкти, п'ять років керував маркетингом на метриках — конверсія, CTR, ROI, LTV.Криптовалютними ринками займаюся з 2021 року: ончейн-метрики, токеноміка, макроекономічні індикатори. Розробив власну data-driven модель аналізу ринку на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математична статистика та EDA; збір і звірку даних автоматизую AI-агентами.Принцип — «Don't trust, verify»: кожна цифра перевірена за першоджерелом, ключові — щонайменше за двома незалежними; прогнози — лише сценарії з умовами. Теза без даних не публікується.