Когда использовать plugins в сравнении с автономной конфигурацией
Claude Code поддерживает два способа добавления пользовательских skills, agents и hooks:| Подход | Имена Skill | Лучше всего для |
|---|---|---|
Автономная (директория .claude/) | /hello | Личные рабочие процессы, настройки для конкретного проекта, быстрые эксперименты |
Plugins (директории с .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 установлен и аутентифицирован
- Claude Code версии 1.0.33 или позже (запустите
claude --versionдля проверки)
Если вы не видите команду
/plugin, обновите Claude Code до последней версии. См. Troubleshooting для инструкций по обновлению.Создайте ваш первый plugin
Создайте директорию plugin
Каждый plugin находится в собственной директории, содержащей манифест и ваши skills, agents или hooks. Создайте её сейчас:
Создайте манифест 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 | Отслеживайте выпуски, используя семантическое версионирование. |
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 всегда имеют пространство имён (например,
/greet: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
Вы создали plugin с skill, но plugins могут включать намного больше: пользовательские agents, hooks, MCP servers и LSP servers.| Директория | Местоположение | Назначение |
|---|---|---|
.claude-plugin/ | Корень plugin | Содержит манифест plugin.json (опционально, если компоненты используют местоположения по умолчанию) |
commands/ | Корень plugin | Skills как файлы Markdown |
agents/ | Корень plugin | Определения пользовательских agents |
skills/ | Корень plugin | Agent Skills с файлами SKILL.md |
hooks/ | Корень plugin | Обработчики событий в hooks.json |
.mcp.json | Корень plugin | Конфигурации MCP server |
.lsp.json | Корень plugin | Конфигурации LSP server для интеллекта кода |
settings.json | Корень plugin | Параметры по умолчанию settings, применяемые при включении plugin |
Следующие шаги: Готовы добавить больше функций? Перейдите к Разработка более сложных 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 нуждается в frontmatter с полями name и description, за которыми следуют инструкции:
/reload-plugins для загрузки Skills. Для полного руководства по созданию Skill, включая прогрессивное раскрытие и ограничения инструментов, см. Agent Skills.
Добавьте LSP servers в ваш plugin
LSP (Language Server Protocol) plugins дают Claude интеллект кода в реальном времени. Если вам нужна поддержка языка, который не имеет официального LSP plugin, вы можете создать свой собственный, добавив файл.lsp.json в ваш plugin:
.lsp.json
Поставляйте параметры по умолчанию с вашим plugin
Plugins могут включать файлsettings.json в корне plugin для применения конфигурации по умолчанию при включении plugin. В настоящее время поддерживается только ключ agent.
Установка 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 напрямую без необходимости установки.
--plugin-dir plugin имеет то же имя, что и установленный marketplace plugin, локальная копия имеет приоритет для этого сеанса. Это позволяет вам протестировать изменения plugin, который у вас уже установлен, без необходимости его предварительной деинсталляции. Marketplace plugins, принудительно включённые управляемыми параметрами, являются единственным исключением и не могут быть переопределены.
По мере внесения изменений в ваш plugin запустите /reload-plugins для применения обновлений без перезагрузки. Это перезагружает commands, skills, agents, hooks, plugin MCP servers и plugin LSP servers. Протестируйте компоненты вашего plugin:
- Попробуйте ваши skills с
/plugin-name:skill-name - Проверьте, что agents появляются в
/agents - Убедитесь, что hooks работают как ожидается
Отладка проблем plugin
Если ваш plugin не работает как ожидается:- Проверьте структуру: Убедитесь, что ваши директории находятся в корне plugin, а не внутри
.claude-plugin/ - Протестируйте компоненты отдельно: Проверьте каждую команду, agent и hook отдельно
- Используйте инструменты валидации и отладки: См. Инструменты отладки и разработки для команд CLI и методов troubleshooting
Поделитесь вашими plugins
Когда ваш plugin готов к совместному использованию:- Добавьте документацию: Включите
README.mdс инструкциями по установке и использованию - Версионируйте ваш plugin: Используйте семантическое версионирование в вашем
plugin.json - Создайте или используйте marketplace: Распространяйте через plugin marketplaces для установки
- Протестируйте с другими: Попросите членов команды протестировать plugin перед более широким распространением
Отправьте ваш plugin на официальный marketplace
Чтобы отправить plugin на официальный marketplace Anthropic, используйте одну из встроенных форм отправки:- Claude.ai: claude.ai/settings/plugins/submit
- Console: platform.claude.com/plugins/submit
Для полных технических спецификаций, методов отладки и стратегий распространения см. Справочник 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/ для избежания дубликатов. Версия plugin будет иметь приоритет при загрузке.Следующие шаги
Теперь, когда вы понимаете систему plugins Claude Code, вот предлагаемые пути для различных целей:Для пользователей plugin
- Обнаружение и установка plugins: просмотр marketplaces и установка plugins
- Настройка team marketplaces: установка plugins на уровне репозитория для вашей команды
Для разработчиков plugin
- Создание и распространение marketplace: упаковка и совместное использование ваших plugins
- Справочник plugins: полные технические спецификации
- Углубитесь в конкретные компоненты plugin: