SpyBara
Go Premium

plugins/mods/create.md 2026-11-12 23:02 UTC to 2026-11-13 23:02 UTC

This page contains 13 additions and 7 deletions.

2026
Tue 10 21:57 Fri 13 23:02

Создание мода

Попросите Claude написать мод Claude Code из описания или напишите его сами, чтобы подсчитывать вызовы инструментов и добавить команду. Изучите цикл перезагрузки и валидации.

Мод — это плагин Claude Code с файлом входа, называемым модулем хуков: файл JavaScript или TypeScript, функции которого Claude Code вызывает при возникновении событий. Чтобы создать мод:

  • Попросите Claude написать его: опишите, что вы хотите в сеансе Claude Code
  • Напишите его сами: следуйте руководству, чтобы узнать, как работает код мода. Вам не нужны Node.js, бандлер или этап сборки, потому что Claude Code загружает файлы .js и .ts напрямую.

Если вы еще не решили, является ли мод правильным инструментом, сначала прочитайте сравнение на странице обзора.

[!NOTE]

Используйте Claude Code v2.1.287 или более позднюю версию. В вашей оболочке выполните claude --version, чтобы проверить. Чтобы узнать, могут ли моды загружаться для вас, см. Проверка возможности загрузки модов.

Попросите Claude написать мод

Опишите нужный вам мод в интерактивном сеансе Claude Code, и Claude напишет его. Claude работает из встроенного skill с именем plugin-authoring, который сообщает ему, где написать мод, какие события и методы есть в вашей версии, и как загружается мод. Claude может загрузить skill, когда вы попросите мод, или вы можете загрузить его сами, выполнив /plugin-authoring в приглашении Claude Code.

В режимах разрешений auto и bypassPermissions Claude Code может загрузить мод, не спрашивая вас. Чтобы сначала получить запрос, запустите новую сессию в режиме default или acceptEdits либо переключитесь на любой из этих режимов, прежде чем попросить первый мод в сессии. В некоторых сессиях мод не может загрузиться.

1. Опишите мод

Попросите мод своими словами, например make a mod that shows the current git branch above the prompt. Claude пишет мод в отдельном каталоге в папке модов сеанса, которая находится в ~/.claude/dev-mods/, за которой следует ID сеанса. Полный путь мода выглядит как ~/.claude/dev-mods/3f2a9c1e-5b7d-4e8a-9c21-6d0f4b8a7e13/git-branch/.

[!NOTE]

В режимах разрешений default и acceptEdits Claude Code просит вас одобрить каждый из файлов мода перед тем, как Claude его создаст, потому что папка модов — это защищённый путь. Одобрите каждый файл по мере его появления.

2. Одобрите мод

Когда Claude сохраняет первый файл, Claude Code спрашивает, следует ли включить горячую перезагрузку для сессии. Горячая перезагрузка запускает моды, написанные Claude в этой сессии, и подхватывает каждое последующее изменение. Вы не увидите этот вопрос в сессии, которая загружает новые моды, не спрашивая или не может их загрузить.

Выберите один из этих ответов:

  • Turn them on: моды в папке модов сессии загружаются при завершении хода и перезагружаются в конце каждого хода, который их изменяет. Ваш ответ действует для сессии, в том числе после её возобновления.
  • Not now: пока ничего не загружается. Файлы остаются там, где их написал Claude, и моды загружаются при следующем запуске этой сессии. Чтобы мод никогда не загружался, удалите его каталог.

3. Проверьте, что мод загрузился

Выполните /plugin в приглашении Claude Code и нажимайте Tab, пока не будет выбрана вкладка Installed. Она перечисляет мод, и вы можете отключить его там.

4. Попробуйте мод

Используйте то, что вы просили. Для примера промпта текущее имя ветки появляется над полем промпта. Если мод не делает то, что вы хотели, скажите Claude, что изменить. Мод перезагружается в конце каждого хода, который изменяет его файлы, поэтому вы можете попробовать изменение сразу после завершения Claude.

Если строка транскрипта, начинающаяся с имени мода, сообщает, что изменение не загрузилось, вставьте эту строку в следующее сообщение, когда будете просить Claude исправить проблему. Claude не видит эту строку, если вы её не вставите.

Используйте мод в других сеансах

Мод, написанный Claude, загружается только в сеансе, который его создал, и Claude Code удаляет папку модов этого сеанса после того, как она старше cleanupPeriodDays. Чтобы сохранить мод, скопируйте его каталог из папки модов в место по вашему выбору, например ~/mods/git-branch. Затем выберите, как его загружать:

  • В сеансе, который вы запускаете: в вашей оболочке выполните claude --plugin-dir ~/mods/git-branch
  • Для других людей: добавьте его на маркетплейс, чтобы они могли его установить

Сессии, которые загружают мод, не спрашивая

Claude Code может включить горячую перезагрузку, не спрашивая, в режимах auto и bypassPermissions, и моды загружаются при завершении хода.

Когда вы возобновляете сессию, интерактивно или с claude -p, моды, уже находящиеся в её папке модов, могут загрузиться, не спрашивая. Чтобы мод не загружался при возобновлении, удалите его каталог.

Сессии, где мод, написанный Claude, не может загрузиться

Мод, написанный Claude, не загружается в следующих случаях, и Claude Code не спрашивает, загружать ли его:

  • Никого нет, чтобы одобрить: сессия находится в режиме dontAsk, или это запуск claude -p, который пишет мод, в режиме default или acceptEdits, который не может показать вам вопрос о горячей перезагрузке.
  • Интерактивная сессия, где рабочее пространство не доверено: вы не приняли запрос доверия для каталога
  • Моды отключены: вы запустили с --safe-mode или --bare, вы задали disableAllHooks, или управляемые настройки вашей организации это блокируют

Напишите мод сами

В этом руководстве вы создаёте мод с именем first-mod, который подсчитывает вызовы инструментов, которые делает Claude, показывает счётчик рядом со спиннером во время работы Claude и добавляет команду /tally, которая его выводит. Затем вы читаете объявления типов, которые Claude Code пишет рядом с вашим модом, и выполняете claude plugin validate. Вместе они показывают вам события и методы, которые предлагает ваша версия, и что Claude Code читает из вашего кода.

Эта запись показывает готовый мод. Спиннер подсчитывает вызовы инструментов, /tally выводит счётчик, и редактирование кода вступает в силу во время работы сеанса: