Плагин собирает уже написанное — команды, субагентов, навыки, хуки — в одну папку, которую может установить кто-то другой. Манифест невелик и не вызывает споров, и именно поэтому ошибки в нём так раздражают: версия, которая не версия; имя с заглавной буквой; адрес без схемы. Ни одна из них не мешает файлу быть корректным JSON, и все они создают проблемы позже. Конструктор заполняет поля, проверяет те, у которых есть правила, и показывает структуру, которую манифест предполагает вокруг себя, — ведь сам по себе он ничего не делает: загружаются соседние папки.
Возможности
Имя сверяется с правилами именования
Версия проверяется как семантическая, включая предрелизные
Имя автора и почта вложены правильно, а не расплющены
Адрес проверяется на наличие схемы
Пустые поля опускаются, а не пишутся пустыми
Структура папок показана рядом с манифестом
Ключевые слова вводятся по одному в строке
Скачивается как plugin.json
Как использовать Манифест плагина
Назовите плагин и задайте начальную версию
Опишите, что он объединяет
Добавьте автора, адрес и лицензию, если делитесь
Скачайте plugin.json в папку .claude-plugin
Пример
Ввод
"version": "1.0"
Результат
Error: not a semantic version — use major.minor.patch
Версии из двух частей — самая частая причина отказа.
Частые ошибки и устранение неполадок
Версия отклонена. — У семантической версии три части: 1.0.0, а не 1.0. Предрелизный суффикс вида 1.0.0-beta.1 допустим.
После установки плагин не находится. — Манифест лежит в .claude-plugin/plugin.json внутри папки плагина, а не в её корне. Схема под выводом показывает, где что.
Имя отклонено. — Строчные буквы, цифры и одиночные дефисы. Оно используется как идентификатор, поэтому заглавные и пробелы исключены.
Манифест корректен, но ничего не загружается. — Манифест лишь описывает плагин. Команды, агенты, навыки и хуки загружаются из соседних папок: пустой плагин с идеальным манифестом не делает ничего.
Часто задаваемые вопросы
Что может содержать плагин?
Любое сочетание слэш-команд, определений субагентов, навыков и хуков, каждое в своей папке рядом с манифестом. Всё это необязательно: плагин с одной полезной командой — вполне полноценный плагин.
Какие поля действительно обязательны?
На практике — имя. Остальное метаданные, делающие плагин пригодным для других: описание, чтобы понять, что это; версия, чтобы заметить изменение; адрес, чтобы найти исходники.
Как нумеровать версии?
Начните с 0.1.0, пока всё движется, и считайте первое число обещанием совместимости. Переименовать команду или убрать навык — ломающее изменение для того, кто этим пользуется.
Нужно ли поле лицензии?
Только если вы делитесь. А если делитесь, явное указание экономит один разговор: репозиторий без лицензии юридически неудобно переиспользовать, даже когда он очевидно для этого и сделан.
Можно собрать плагин из того, что уже есть?
Обычно так и начинается. Команды и навыки, которые уже работают, переезжают в нужные папки без изменений; единственный новый файл — манифест.