Создание плагинов
Распространяемые расширения
Плагин (plugin) для Claude Code — это обычная папка, в корне которой лежит каталог .claude-plugin/ с единственным файлом-манифестом (manifest) plugin.json, а рядом с ним — каталоги компонентов commands/, agents/, hooks/, skills/. Важно: эти каталоги лежат рядом с .claude-plugin/, а не внутри него — класть их внутрь .claude-plugin/ распространённая ошибка. Сам манифест plugin.json, который вы видите ниже, не содержит логики и не перечисляет компоненты: в нём только метаданные — имя плагина, версия, описание и автор (а при желании homepage и license). Claude Code находит компоненты автоматически по соглашению об именах каталогов, поэтому регистрировать каждый файл вручную не нужно.
Дерево каталогов из блока «Структура плагина» показывает соглашение об именах, которого придерживается Claude Code. Каждая команда — это файл .md в папке commands/; его YAML-заголовок (front matter) между строками --- задаёт имя команды, описание и аргументы, а текст ниже — это инструкция, которую агент выполнит. В примере deploy.md объявлен обязательный аргумент environment, а подстановка $1 вставляет первый переданный аргумент прямо в промпт. Иными словами, плагин не вводит новый язык программирования: он переупаковывает уже знакомые вам команды, навыки и правила в один распространяемый модуль.
Использовать плагины стоит, когда одни и те же приёмы нужны во многих проектах или всей команде: единый стиль код-ревью, шаги деплоя, правила безопасности. Главное преимущество — переносимость: достаточно склонировать или скопировать папку, и набор команд появляется у всех. Типичные ошибки тоже стоит держать в голове: не кладите в плагин секреты и токены (он попадёт в общий репозиторий), версионируйте изменения по semver, чтобы коллеги понимали, что поменялось, и обязательно тестируйте плагин локально через claude --plugin-dir ./my-plugin перед публикацией. Так вы поймаете сломанный манифест до того, как им воспользуется кто-то ещё.
Плагины — это способ упаковать и распространить коллекцию команд, навыков, агентов и правил для Claude Code.
Что можно включить:
- • Slash-команды
- • Agent skills
- • Кастомные агенты
- • Хуки
- • Модульные правила
Применения:
- • Стандарты команды
- • CI/CD интеграции
- • Специфичные workflow
- • Open source tools
my-team-tools/ # Plugin root
├── .claude-plugin/
│ └── plugin.json # Metadata only
├── commands/ # Slash commands
│ ├── deploy.md
│ └── rollback.md
├── skills/ # Agent skills
│ ├── security-audit.md
│ └── performance-check.md
├── agents/ # Custom agents
│ └── reviewer.md
├── hooks/ # Hooks configuration
│ └── format.json
└── rules/ # Modular rules
└── typescript.mdФайл plugin.json описывает плагин и его компоненты:
{
"name": "my-team-tools",
"version": "1.0.0",
"description": "Team-specific Claude Code tools",
"author": "Your Team",
"homepage": "https://github.com/your-team/my-team-tools",
"license": "MIT"
}commands/deploy.md:
---
name: deploy
description: Deploy to staging or production
arguments:
- name: environment
description: Target environment (staging/production)
required: true
---
Deploy the current branch to $1:
1. Run tests to ensure everything passes
2. Build the application
3. Deploy using our CI/CD pipeline
4. Verify deployment health
5. Report status with URLПлагины можно использовать несколькими способами:
Локальное тестирование
В проекте
Положите .claude-plugin/ в корень проекта — плагин загрузится автоматически
Глобально
Плагины можно распространять через:
Git repository
Клонируйте в ~/.claude/plugins/
npm package
Публикуйте как npm пакет
Внутренний реестр
Для enterprise использования
Прямая копия
Скопируйте папку плагина
Советы по созданию плагинов
- 1.Документируйте каждую команду с примерами использования
- 2.Версионируйте плагин по semver
- 3.Тестируйте локально перед распространением
- 4.Не включайте секреты в плагин
Частые вопросы
Что такое плагин в Claude Code?
Плагин — это папка .claude-plugin/ с файлом-манифестом plugin.json и подкаталогами для команд, навыков, агентов, хуков и правил. Манифест не содержит логики: он лишь объявляет имя и версию плагина и указывает через glob-шаблоны, где лежат компоненты. Claude Code при запуске сам подгружает всё, что перечислено, поэтому вручную регистрировать каждый файл не нужно.
Как установить плагин в Claude Code?
Для локального теста запустите claude --plugin-dir ./my-plugin, указав путь к папке плагина. Чтобы плагин подхватывался автоматически в одном проекте, положите папку .claude-plugin/ в его корень. Для использования во всех проектах скопируйте или склонируйте плагин в ~/.claude/plugins/my-plugin/.
Чем плагин отличается от обычной slash-команды?
Одна slash-команда — это отдельный .md файл. Плагин же упаковывает сразу несколько команд, навыков (agent skills), агентов, хуков и правил в один распространяемый модуль с манифестом plugin.json. Это удобно, когда один и тот же набор приёмов нужен во многих проектах или всей команде: достаточно склонировать папку, и команды появляются у всех.
Как распространять плагин Claude Code в команде?
Плагин можно распространять через Git-репозиторий (склонировать в ~/.claude/plugins/), как npm-пакет, через внутренний реестр для enterprise или прямой копией папки. Перед публикацией версионируйте изменения по semver, не кладите в плагин секреты и токены и обязательно протестируйте его локально через claude --plugin-dir, чтобы поймать сломанный манифест заранее.
Этот урок — часть структурированного курса по LLM.
Мой путь обучения