Когда использовать plugins в сравнении с автономной конфигурацией
Claude Code поддерживает два способа добавления пользовательских skills, agents и hooks:| Подход | Имена Skill | Лучше всего для |
|---|---|---|
Автономная (директория .claude/) | /hello | Личные рабочие процессы, настройки для конкретного проекта, быстрые эксперименты |
Plugins (самостоятельные директории с skills, agents, hooks или манифестом .claude-plugin/plugin.json) | /plugin-name:hello | Совместное использование с коллегами, распространение в сообществе, версионные выпуски, повторное использование в проектах |
- Вы настраиваете Claude Code для одного проекта
- Конфигурация личная и не требует совместного использования
- Вы экспериментируете с skills или hooks перед их упаковкой
- Вы хотите короткие имена skills, такие как
/helloили/deploy
- Вы хотите поделиться функциональностью с вашей командой или сообществом
- Вам нужны одинаковые skills/agents в нескольких проектах
- Вы хотите контроль версий и простые обновления для ваших расширений
- Вы распространяете через marketplace
- Вы согласны с пространством имён skills, такими как
/my-plugin:hello(пространство имён предотвращает конфликты между plugins)
Быстрый старт
Этот быстрый старт проведёт вас через создание plugin с пользовательским skill. Вы создадите манифест (файл конфигурации, который определяет ваш plugin), добавите skill и протестируете его локально, используя флаг--plugin-dir.
Предварительные требования
- Claude Code установлен и аутентифицирован
Если вы не видите команду
/plugin, обновите Claude Code до последней версии. См. Troubleshooting для инструкций по обновлению.Создайте ваш первый plugin
Создайте директорию plugin
Каждый plugin находится в собственной директории, содержащей ваши skills, agents или hooks, опционально вместе с манифестом
.claude-plugin/plugin.json. Создайте её сейчас:Создайте манифест plugin
Файл манифеста в Затем создайте
Для дополнительных полей, таких как
.claude-plugin/plugin.json определяет идентичность вашего plugin: его имя, описание и версию. Claude Code использует эти метаданные для отображения вашего plugin в менеджере plugins.Создайте директорию .claude-plugin внутри папки вашего plugin:my-first-plugin/.claude-plugin/plugin.json с этим содержимым:my-first-plugin/.claude-plugin/plugin.json
| Поле | Назначение |
|---|---|
name | Уникальный идентификатор и пространство имён skill. Skills имеют префикс этого (например, /my-first-plugin:hello). |
description | Показывается в менеджере plugins при просмотре или установке plugins. |
version | Опционально. Если установлено, пользователи получают обновления только когда вы увеличиваете это поле. Если опущено и ваш plugin распространяется через git, используется SHA коммита и каждый коммит считается новой версией. См. управление версиями. |
author | Опционально. Полезно для атрибуции. |
homepage, repository и license, см. полную схему манифеста.Добавьте skill
Skills находятся в директории Затем создайте
skills/. Каждый skill — это папка, содержащая файл SKILL.md. Имя папки становится именем skill, с префиксом пространства имён plugin (hello/ в plugin с именем my-first-plugin создаёт /my-first-plugin:hello).Создайте директорию skill в папке вашего plugin:my-first-plugin/skills/hello/SKILL.md с этим содержимым:my-first-plugin/skills/hello/SKILL.md
Протестируйте ваш plugin
Запустите Claude Code с флагом После запуска Claude Code попробуйте ваш новый skill:Вы увидите, как Claude ответит приветствием. Запустите
--plugin-dir для загрузки вашего plugin:/help для просмотра вашего skill, указанного в пространстве имён plugin.Почему пространство имён? Skills plugin всегда имеют пространство имён (например,
/my-first-plugin:hello) для предотвращения конфликтов, когда несколько plugins имеют skills с одинаковым именем.Чтобы изменить префикс пространства имён, обновите поле name в plugin.json.Добавьте аргументы skill
Сделайте ваш skill динамичным, принимая пользовательский ввод. Заполнитель Запустите Claude поприветствует вас по имени. Для получения дополнительной информации о передаче аргументов в skills см. Skills.
$ARGUMENTS захватывает любой текст, который пользователь предоставляет после имени skill.Обновите ваш файл SKILL.md:my-first-plugin/skills/hello/SKILL.md
/reload-plugins для применения изменений, затем попробуйте skill с вашим именем:- Манифест plugin (
.claude-plugin/plugin.json): описывает метаданные вашего plugin - Директория skills (
skills/): содержит ваши пользовательские skills - Аргументы skill (
$ARGUMENTS): захватывает пользовательский ввод для динамического поведения
Разработка plugin в вашей директории skills
Вместо передачи--plugin-dir при каждом запуске, вы можете сохранить plugin в вашей директории skills и позволить Claude Code загружать его автоматически. claude plugin init создаёт каркас:
~/.claude/skills/my-tool/ с манифестом .claude-plugin/plugin.json и стартовым SKILL.md. На следующем сеансе он загружается как my-tool@skills-dir без marketplace или шага установки.
Для правил автозагрузки, личной и проектной области, требования доверия рабочей области и способов обновления или удаления, см. Skills-directory plugins.
Обзор структуры plugin
Вы создали plugin с skill, но plugins могут включать намного больше: пользовательские agents, hooks, MCP servers, LSP servers и фоновые мониторы.| Директория | Местоположение | Назначение |
|---|---|---|
.claude-plugin/ | Корень plugin | Содержит манифест plugin.json (опционально, если компоненты используют местоположения по умолчанию) |
skills/ | Корень plugin | Skills как директории <name>/SKILL.md |
commands/ | Корень plugin | Skills как плоские файлы Markdown. Используйте skills/ для новых plugins |
agents/ | Корень plugin | Определения пользовательских agents |
hooks/ | Корень plugin | Обработчики событий в hooks.json |
.mcp.json | Корень plugin | Конфигурации MCP server |
.lsp.json | Корень plugin | Конфигурации LSP server для интеллекта кода |
monitors/ | Корень plugin | Конфигурации фонового монитора в monitors.json |
bin/ | Корень plugin | Исполняемые файлы, добавленные в PATH инструмента Bash во время включения plugin |
settings.json | Корень plugin | Параметры по умолчанию settings, применяемые при включении plugin |
SKILL.md непосредственно в корень plugin вместо создания директории skills/. Claude Code загружает его как один skill и использует поле frontmatter name для имени вызова. Используйте макет skills/ для plugins, которые могут расширяться до более чем одного skill.
Следующие шаги: Готовы добавить больше функций? Перейдите к Разработка более сложных plugins для добавления agents, hooks, MCP servers и LSP servers. Для полных технических спецификаций всех компонентов plugin см. Справочник plugins.
Разработка более сложных plugins
Когда вы будете комфортно чувствовать себя с базовыми plugins, вы сможете создавать более сложные расширения.Добавьте Skills в ваш plugin
Plugins могут включать Agent Skills для расширения возможностей Claude. Skills вызываются моделью: Claude автоматически использует их на основе контекста задачи. Добавьте директориюskills/ в корень вашего plugin с папками Skill, содержащими файлы SKILL.md:
SKILL.md содержит YAML frontmatter и инструкции. Включите description чтобы Claude знал, когда использовать skill:
/reload-plugins для загрузки Skills. Для полного руководства по созданию Skill, включая прогрессивное раскрытие и ограничения инструментов, см. Agent Skills.
Добавьте LSP servers в ваш plugin
LSP (Language Server Protocol) plugins дают Claude интеллект кода в реальном времени. Если вам нужна поддержка языка, который не имеет официального LSP plugin, вы можете создать свой собственный, добавив файл.lsp.json в ваш plugin:
.lsp.json
Добавьте фоновые мониторы в ваш plugin
Фоновые мониторы позволяют вашему plugin отслеживать логи, файлы или внешний статус в фоне и уведомлять Claude по мере поступления событий. Claude Code автоматически запускает каждый монитор при активации plugin, поэтому вам не нужно инструктировать Claude запустить наблюдение. Добавьте файлmonitors/monitors.json в корень plugin с массивом записей монитора:
monitors/monitors.json
command доставляется Claude как уведомление во время сеанса. Для полной схемы, включая триггер when и подстановку переменных, см. Monitors.
Поставляйте параметры по умолчанию с вашим plugin
Plugins могут включать файлsettings.json в корне plugin для применения конфигурации по умолчанию при включении plugin. В настоящее время поддерживаются только ключи agent и subagentStatusLine.
Установка agent активирует один из пользовательских agents plugin в качестве основного потока, применяя его системный prompt, ограничения инструментов и модель. Это позволяет plugin изменить поведение Claude Code по умолчанию при включении.
settings.json
security-reviewer, определённый в директории agents/ plugin. Параметры из settings.json имеют приоритет над settings, объявленными в plugin.json. Неизвестные ключи молча игнорируются.
Организуйте сложные plugins
Для plugins с множеством компонентов организуйте структуру вашей директории по функциональности. Для полных макетов директорий и шаблонов организации см. Структура директории Plugin.Протестируйте ваши plugins локально
Используйте флаг--plugin-dir для тестирования plugins во время разработки. Это загружает ваш plugin напрямую без необходимости установки.
.zip директории plugin, для которого требуется Claude Code v2.1.128 или более поздняя версия.
--plugin-dir plugin имеет то же имя, что и установленный marketplace plugin, локальная копия имеет приоритет для этого сеанса. Это позволяет вам протестировать изменения plugin, который у вас уже установлен, без необходимости его предварительной деинсталляции. Исключением являются plugins, которые управляемые параметры принудительно включают или отключают: --plugin-dir не может переопределить эти параметры.
По мере внесения изменений в ваш plugin запустите /reload-plugins для применения обновлений без перезагрузки. Это перезагружает plugins, skills, agents, hooks, plugin MCP servers и plugin LSP servers. Протестируйте компоненты вашего plugin:
- Попробуйте ваши skills с
/plugin-name:skill-name - Проверьте, что agents появляются в
/agents - Убедитесь, что hooks работают как ожидается
.zip и размещён по URL-адресу, например артефакт сборки CI, используйте вместо этого --plugin-url. Claude Code загружает архив при запуске и загружает его только для этого сеанса. Если загрузка не удаётся или архив недействителен, Claude Code сообщает об ошибке загрузки plugin и запускается без него. Те же соображения доверия применяются как для любого источника plugin: указывайте этот флаг только на архивы, которыми вы управляете или которым доверяете.
Чтобы загружать несколько plugins, повторите флаг для каждого URL:
Отладка проблем plugin
Если ваш plugin не работает как ожидается:- Проверьте структуру: Убедитесь, что ваши директории находятся в корне plugin, а не внутри
.claude-plugin/ - Протестируйте компоненты отдельно: Проверьте каждый skill, agent и hook отдельно
- Используйте инструменты валидации и отладки: См. Инструменты отладки и разработки для команд CLI и методов troubleshooting
Поделитесь вашими plugins
Когда ваш plugin готов к совместному использованию:- Добавьте документацию: Включите
README.mdс инструкциями по установке и использованию - Выберите стратегию версионирования: Решите, устанавливать ли явную
versionили полагаться на SHA коммита git. См. управление версиями - Создайте или используйте marketplace: Распространяйте через plugin marketplaces для установки
- Протестируйте с другими: Попросите членов команды протестировать plugin перед более широким распространением
Отправьте ваш plugin на официальный marketplace сообщества
Anthropic поддерживает два публичных marketplace для plugins Claude Code:claude-plugins-official: курируемый набор plugins, поддерживаемый Anthropic. Зарегистрирован автоматически при первом запуске Claude Code в интерактивном режиме. Неинтерактивный скрипт, который запускается перед этим первым запуском, должен добавить его явно с помощьюclaude plugin marketplace add anthropics/claude-plugins-official.claude-community: публичный marketplace сообщества, где размещаются сторонние отправки после проверки. Пользователи добавляют его с помощью/plugin marketplace add anthropics/claude-plugins-communityи устанавливают из него как@claude-community.
- claude.ai: claude.ai/admin-settings/directory/submissions/plugins/new
- Console: platform.claude.com/plugins/submit
claude plugin validate локально перед отправкой. Конвейер проверки запускает ту же проверку для каждой отправки, а также автоматизированный скрининг безопасности.
Одобренные plugins закреплены на определённом коммите SHA в каталоге anthropics/claude-plugins-community, и CI автоматически обновляет закрепление по мере того, как вы отправляете новые коммиты в ваш репозиторий. Публичный каталог синхронизируется ночью из конвейера проверки, поэтому может быть задержка между одобрением и появлением вашего plugin в marketplace.json. Чтобы проверить, установлен ли ваш plugin, выполните поиск его имени в каталоге сообщества.
Официальный marketplace claude-plugins-official курируется отдельно. Anthropic решает, какие plugins включить по своему усмотрению. Нет процесса подачи заявки, и форма отправки не добавляет plugins в официальный marketplace.
Если Anthropic включит ваш plugin в официальный marketplace, ваш CLI может предложить пользователям Claude Code установить его. См. Рекомендуйте ваш plugin из вашего CLI.
Для полных технических спецификаций, методов отладки и стратегий распространения см. Справочник plugins.
Преобразование существующих конфигураций в plugins
Если у вас уже есть skills или hooks в вашей директории.claude/, вы можете преобразовать их в plugin для более лёгкого совместного использования и распространения.
Шаги миграции
Создайте структуру plugin
Создайте новую директорию plugin:Создайте файл манифеста в
my-plugin/.claude-plugin/plugin.json:my-plugin/.claude-plugin/plugin.json
Мигрируйте hooks
Если у вас есть hooks в ваших параметрах, создайте директорию hooks:Создайте
my-plugin/hooks/hooks.json с конфигурацией вашего hooks. Скопируйте объект hooks из вашего .claude/settings.json или settings.local.json, так как формат одинаков. Команда получает входные данные hook как JSON на stdin, поэтому используйте jq для извлечения пути файла:my-plugin/hooks/hooks.json
Что изменяется при миграции
Автономная (.claude/) | Plugin |
|---|---|
| Доступна только в одном проекте | Может быть общей через marketplaces |
Файлы в .claude/commands/ | Файлы в plugin-name/commands/ |
Hooks в settings.json | Hooks в hooks/hooks.json |
| Необходимо вручную копировать для совместного использования | Установить с /plugin install |
После миграции удалите исходные файлы из
.claude/ для избежания дубликатов. Определения project и user .claude/agents/ переопределяют agents plugin с тем же именем, поэтому версия plugin вступает в силу только после удаления исходных файлов.Следующие шаги
Теперь, когда вы понимаете систему plugins Claude Code, вот предлагаемые пути для различных целей:Для пользователей plugin
- Обнаружение и установка plugins: просмотр marketplaces и установка plugins
- Настройка team marketplaces: установка plugins на уровне репозитория для вашей команды
Для разработчиков plugin
- Создание и распространение marketplace: упаковка и совместное использование ваших plugins
- Справочник plugins: полные технические спецификации
- Углубитесь в конкретные компоненты plugin: