Skip to main content
Plugins позволяют расширить Claude Code пользовательской функциональностью, которая может быть общей для проектов и команд. Это руководство охватывает создание собственных plugins с skills, agents, hooks и MCP servers. Ищете установку существующих plugins? См. Обнаружение и установка plugins. Для полных технических спецификаций см. Справочник plugins.

Когда использовать plugins в сравнении с автономной конфигурацией

Claude Code поддерживает два способа добавления пользовательских skills, agents и hooks: Используйте автономную конфигурацию когда:
  • Вы настраиваете Claude Code для одного проекта
  • Конфигурация личная и не требует совместного использования
  • Вы экспериментируете с skills или hooks перед их упаковкой
  • Вы хотите короткие имена skills, такие как /hello или /deploy
Используйте plugins когда:
  • Вы хотите поделиться функциональностью с вашей командой или сообществом
  • Вам нужны одинаковые skills/agents в нескольких проектах
  • Вы хотите контроль версий и простые обновления для ваших расширений
  • Вы распространяете через marketplace
  • Вы согласны с пространством имён skills, такими как /my-plugin:hello (пространство имён предотвращает конфликты между plugins)
Начните с автономной конфигурации в .claude/ для быстрой итерации, затем преобразуйте в plugin когда будете готовы поделиться.

Быстрый старт

Этот быстрый старт проведёт вас через создание plugin с пользовательским skill. Вы создадите манифест (файл конфигурации, который определяет ваш plugin), добавите skill и протестируете его локально, используя флаг --plugin-dir.

Предварительные требования

Если вы не видите команду /plugin, обновите Claude Code до последней версии. См. Troubleshooting для инструкций по обновлению.

Создайте ваш первый plugin

1

Создайте директорию plugin

Каждый plugin находится в собственной директории, содержащей ваши skills, agents или hooks, опционально вместе с манифестом .claude-plugin/plugin.json. Расположение не имеет значения для этого быстрого старта, потому что вы будете указывать Claude Code на директорию с помощью --plugin-dir на этапе тестирования. Создайте её в любом удобном месте, например в папке для черновиков или в директории проектов:
Остальные шаги выполняются из родительской директории и ссылаются на пути вроде my-first-plugin/... относительно неё.
2

Создайте манифест 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
Для дополнительных полей, таких как homepage, repository и license, см. полную схему манифеста.
3

Добавьте 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
4

Протестируйте ваш plugin

Запустите Claude Code с флагом --plugin-dir для загрузки вашего plugin:
После запуска Claude Code попробуйте ваш новый skill:
Вы увидите, как Claude ответит приветствием. Запустите /help для просмотра вашего skill, указанного в пространстве имён plugin.
Почему пространство имён? Skills plugin всегда имеют пространство имён (например, /my-first-plugin:hello) для предотвращения конфликтов, когда несколько plugins имеют skills с одинаковым именем.Чтобы изменить префикс пространства имён, обновите поле name в plugin.json.
5

Добавьте аргументы skill

Сделайте ваш skill динамичным, принимая пользовательский ввод. Заполнитель $ARGUMENTS захватывает любой текст, который пользователь предоставляет после имени skill.Обновите ваш файл SKILL.md:
my-first-plugin/skills/hello/SKILL.md
Запустите /reload-plugins для применения изменений, затем попробуйте skill с вашим именем:
Claude поприветствует вас по имени. Для получения дополнительной информации о передаче аргументов в skills см. Skills.
Вы успешно создали и протестировали plugin с этими ключевыми компонентами:
  • Манифест plugin (.claude-plugin/plugin.json): описывает метаданные вашего plugin
  • Директория skills (skills/): содержит ваши пользовательские skills
  • Аргументы skill ($ARGUMENTS): захватывает пользовательский ввод для динамического поведения
Флаг --plugin-dir полезен для разработки и тестирования. Когда вы будете готовы поделиться вашим plugin с другими, см. Создание и распространение marketplace plugin.

Разработка 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 и фоновые мониторы.
Частая ошибка: Не помещайте commands/, agents/, skills/ или hooks/ внутри директории .claude-plugin/. Только plugin.json находится внутри .claude-plugin/. Все остальные директории должны быть на уровне корня plugin.Корень plugin — это собственная директория отдельного plugin: та, которая содержит .claude-plugin/plugin.json. Это никогда не ~/.claude/. Например, Claude Code не читает .mcp.json, размещённый в ~/.claude/.mcp.json.
Plugin, который поставляется ровно с одним skill, может поместить 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:
После установки plugin запустите /reload-plugins для загрузки Skills. Для полного руководства по созданию Skill, включая прогрессивное раскрытие и ограничения инструментов, см. Agent Skills.

Добавьте LSP servers в ваш plugin

Для распространённых языков, таких как TypeScript, Python и Rust, установите предварительно созданные LSP plugins из официального marketplace. Создавайте пользовательские LSP plugins только когда вам нужна поддержка языков, которые ещё не охвачены.
LSP (Language Server Protocol) plugins дают Claude интеллект кода в реальном времени. Если вам нужна поддержка языка, который не имеет официального LSP plugin, вы можете создать свой собственный, добавив файл .lsp.json в ваш plugin:
.lsp.json
Пользователи, устанавливающие ваш plugin, должны иметь двоичный файл языкового сервера, установленный на их машине. Для полных опций конфигурации LSP см. LSP servers.

Добавьте фоновые мониторы в ваш plugin

Фоновые мониторы позволяют вашему plugin отслеживать логи, файлы или внешний статус в фоне и уведомлять Claude по мере поступления событий. Claude Code автоматически запускает каждый монитор при активации plugin, поэтому вам не нужно инструктировать Claude запустить наблюдение. Добавьте файл monitors/monitors.json в корень plugin с массивом записей монитора:
monitors/monitors.json
Каждая строка stdout из command доставляется Claude как уведомление во время сеанса. Для полной схемы, включая триггер when и подстановку переменных, см. Monitors.

Поставляйте параметры по умолчанию с вашим plugin

Plugins могут включать файл settings.json в корне plugin для применения конфигурации по умолчанию при включении plugin. В настоящее время поддерживаются только ключи agent и subagentStatusLine. Установка agent активирует один из пользовательских agents plugin в качестве основного потока, применяя его системный prompt, ограничения инструментов и модель. Это позволяет plugin изменить поведение Claude Code по умолчанию при включении.
settings.json
Этот пример активирует agent 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 появляются в /context под Custom Agents, или упомяните один по его scoped name с помощью @
  • Убедитесь, что hooks работают как ожидается
Вы можете загружать несколько plugins одновременно, указав флаг несколько раз:
Чтобы протестировать plugin, который уже упакован как архив .zip и размещён по URL-адресу, например артефакт сборки CI, используйте вместо этого --plugin-url. Claude Code загружает архив при запуске и загружает его только для этого сеанса. Если загрузка не удаётся или архив недействителен, Claude Code сообщает об ошибке загрузки plugin и запускается без него. Те же соображения доверия применяются как для любого источника plugin: указывайте этот флаг только на архивы, которыми вы управляете или которым доверяете. Чтобы загружать несколько plugins, повторите флаг для каждого URL:
Или передайте разделённые пробелами URL-адреса как один аргумент в кавычках:

Отладка проблем plugin

Если ваш plugin не работает как ожидается:
  1. Проверьте структуру: Убедитесь, что ваши директории находятся в корне plugin, а не внутри .claude-plugin/
  2. Протестируйте компоненты отдельно: Проверьте каждый skill, agent и hook отдельно
  3. Используйте инструменты валидации и отладки: См. Инструменты отладки и разработки для команд CLI и методов troubleshooting

Поделитесь вашими plugins

Когда ваш plugin готов к совместному использованию:
  1. Добавьте документацию: Включите README.md с инструкциями по установке и использованию
  2. Выберите стратегию версионирования: Решите, устанавливать ли явную version или полагаться на SHA коммита git. См. управление версиями
  3. Создайте или используйте marketplace: Распространяйте через plugin marketplaces для установки
  4. Протестируйте с другими: Попросите членов команды протестировать plugin перед более широким распространением
Когда ваш plugin находится в marketplace, другие могут установить его, используя инструкции в Обнаружение и установка plugins. Чтобы сохранить plugin внутри вашей команды, разместите marketplace в приватном репозитории.

Отправьте ваш 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.
Чтобы отправить ваш plugin на проверку в marketplace сообщества, используйте одну из встроенных форм: Форма claude.ai требует организацию Team или Enterprise и доступ к управлению директорией; владельцы организации имеют этот доступ по умолчанию. Отдельные авторы, которые не являются частью организации Team или Enterprise, могут использовать форму Console вместо этого. Запустите 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 для более лёгкого совместного использования и распространения.

Шаги миграции

1

Создайте структуру plugin

Создайте новую директорию plugin в корне вашего проекта, рядом с существующей папкой .claude/, чтобы относительные пути cp на следующем шаге разрешались:
Создайте файл манифеста в my-plugin/.claude-plugin/plugin.json:
my-plugin/.claude-plugin/plugin.json
2

Скопируйте ваши существующие файлы

Скопируйте ваши существующие конфигурации в директорию plugin:
3

Мигрируйте 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
4

Протестируйте ваш мигрированный plugin

Загрузите ваш plugin для проверки того, что всё работает:
Протестируйте каждый компонент: запустите ваши команды, проверьте, что agents появляются в /context, и убедитесь, что hooks срабатывают правильно.

Что изменяется при миграции

После миграции удалите исходные файлы из .claude/ для избежания дубликатов. Определения project и user .claude/agents/ переопределяют agents plugin с тем же именем, поэтому версия plugin вступает в силу только после удаления исходных файлов. Plugin skills имеют пространство имён как /plugin-name:skill-name, поэтому исходный /skill-name и копия plugin остаются доступными, а не один переопределяет другой.

Следующие шаги

Теперь, когда вы понимаете систему plugins Claude Code, вот предлагаемые пути для различных целей:

Для пользователей plugin

Для разработчиков plugin

  • Создание и распространение marketplace: упаковка и совместное использование ваших plugins
  • Справочник plugins: полные технические спецификации
  • Углубитесь в конкретные компоненты plugin:
    • Skills: детали разработки skill
    • Subagents: конфигурация и возможности agent
    • Hooks: обработка событий и автоматизация
    • MCP: интеграция внешних инструментов