Добавить плагин
Короткая памятка. Полные правила - в CLAUDE.md и plugin-changes.md.
1. Выберите вид и имя
Заголовок раздела «1. Выберите вид и имя»| Вид | Где лежит | Что внутри | Имя |
|---|---|---|---|
| Skill | plugins/skills/ |
skills/<имя>/SKILL.md |
dex-skill-{name} |
| Специалист | plugins/specialists/<категория>/ |
agents/<имя>.md, при нужде commands/<имя>.md |
dex-{domain}-{role} или dex-{name}-specialist |
| Утилита | plugins/utilities/ |
hooks/ и (или) commands/ |
dex-{name} |
| Бандл | plugins/bundles/ |
bundle.json и README.md |
dex-bundle-{role} |
| Мод | mods/ (не plugins/) |
hooks/hooks.json с ключом modules, TypeScript в hooks/ |
dex-{name} |
У каждого плагина есть .claude-plugin/plugin.json - манифест. Стековые skills несут префикс стека: dex-skill-dotnet-ef-core, dex-skill-ts-nodejs-api, dex-skill-python-pytorch.
Имя агента во frontmatter (name) - отдельная вещь: у стек-специфичного агента стек в имени (dotnet-coder), у общего - чистая роль (debugger).
2. Напишите плагин
Заголовок раздела «2. Напишите плагин»Сначала прочитайте устройство вида: Skill, Agent, Command, Mod. Frontmatter skill несёт name и description; ключевые слова для автоматической активации включаются в description, отдельного поля keywords у skill нет.
3. Внесите в каталог
Заголовок раздела «3. Внесите в каталог»- Запись в
.claude-plugin/marketplace.json:name,source,description,version,category,keywords. Значениеcategoryвыводится из содержимого плагина, а не выбирается:bundle.json-bundle,agents/-specialist,skills/-skill,hooks/hooks.jsonс ключомmodules-mod,hooks/илиcommands/-utility. - Имя плагина в таблицах витрины
README.md: иначе упадёт проверка. - Версия самого каталога (
versionвmarketplace.jsonи в подвале README) - minor вверх при добавлении плагина. - Плагин входит в бандл - значит, обновите
bundle.jsonи поднимите версию бандла. Бандл должен быть замкнут: всё, что названо компонентами, едет в нём же.
4. Проверьте
Заголовок раздела «4. Проверьте»Прогоните проверки и откройте Pull Request.