Конспект урока «Plugins» из бесплатного курса Anthropic Claude Code in Action. Оригинал урока: https://anthropic.skilljar.com/claude-code-in-action/486939
Это пересказ на русском, а не перевод. Права на курс принадлежат Anthropic.
Хорошая настройка стоит намного больше, когда на ней работает вся команда. Загвоздка в
переносе: ты собрал отличную папку .claude со скиллами, субагентами и хуками — а дальше
что? Все копируют файлы между машинами и надеются, что версии не разъедутся.
Плагин — это способ Claude Code упаковать настройку и передать её другому.
Одна устанавливаемая единица. В ней лежит всё, чем иначе пришлось бы делиться вручную:
скиллы, субагенты, хуки, конфигурации MCP-серверов, а также вещи из длинного хвоста —
LSP-серверы, фоновые мониторы, темы и кусочек settings.json. Одна версия, одна установка.
Способ установки зависит от того, где плагин лежит. Прямо в сессии его можно поставить по имени:
/plugin install org-name@plugin-name
Claude Code установит его и попросит выполнить /reload-plugins, чтобы изменения
применились.
Для команды правильнее один раз добавить приватный маркетплейс — общий источник, через который разрешаются плагины:
/plugin marketplace add your-org/claude-plugins
Название любое. После добавления все последующие установки идут через него: единый поиск, отслеживание версий и обновления в одном месте, а не россыпью по ноутбукам. Посмотреть доступное можно во вкладке Discover.
Это самая важная часть урока. Плагин выполняет код на твоей машине с твоими правами.
Его хуки срабатывают на каждом подходящем вызове инструмента. Поставил плагин ради
скиллов — вместе с ними получил его PreToolUse и Stop хуки, читал ты их или нет.
Подумай, что это значит. Плагин из сообщества может нести Stop-хук, который каждый раз стучится на внешний адрес, и ничто в твоей конфигурации об этом не предупредит. Это не повод избегать плагинов — это повод сначала посмотреть.
Перед установкой открой детали плагина: Claude Code показывает, что именно будет установлено, оценивает стоимость в контексте и прямо предупреждает, что содержимое сторонних плагинов Anthropic не контролирует.
Два факта об источниках:
Но «проверено» не равно «можно доверять»: автоматическая проверка ловит кое-что, а не всё. Правило остаётся прежним — ставь плагины и добавляй маркетплейсы только из источников, которым ты действительно доверяешь, и смотри, что плагин делает, прежде чем включать.
Плагин не затирает твою конфигурацию — его компоненты работают вместе с твоими. В основном это хорошо, но есть следствия.
Хуки складываются. PreToolUse плагина и твой собственный PreToolUse сработают оба на
каждом вызове инструмента. Один не заменяет другой. Именно поэтому детали и надо читать
заранее.
Скиллы, агенты и команды живут в пространстве имён плагина, так что с твоими не конфликтуют.
Плагин может принести и settings.json, но очень узкий: Claude Code учитывает из него
всего два ключа — для агента и для строки состояния субагента.
На ключе агента стоит остановиться. Он поднимает одного из субагентов плагина в основной поток — вместе с его системным промптом, ограничениями на инструменты и моделью. То есть включение плагина может изменить поведение Claude Code по умолчанию. Ещё одна причина смотреть до того, как включаешь.
После установки всё добавленное видно в панели плагинов — оттуда же им можно управлять и удалить.
Обратная сторона. Собрал рабочую папку .claude — не заставляй команду копировать её
между машинами, упакуй.
Хорошая новость: перестраивать ничего не нужно, плагин использует ту же структуру, что у тебя уже есть:
agents;hooks/hooks.json и .mcp.json в корне плагина.Структура каталогов делает основную работу — компоненты обнаруживаются по соглашению.
Сверху есть необязательный манифест по пути .claude-plugin/plugin.json с именем, версией,
описанием и автором:
{
"name": "svg-splitter-review",
"version": "0.1.0",
"description": "Reviews the SVG Splitter repo",
"author": { "name": "..." }
}
Манифест необязателен: без него Claude Code всё равно найдёт компоненты по структуре каталогов. Но две детали важны:
company-name:skill-name, чтобы твои скиллы не столкнулись с чужими..claude, как только оно заработало. Один манифест, одна
установка.В этом и смысл: одна устанавливаемая единица — и настройка, которой ты доверяешь, доезжает до всей команды.