Расширение Claude Code
Узнайте, когда использовать CLAUDE.md, Skills, subagents, hooks, MCP и plugins.
Claude Code объединяет модель, которая рассуждает о вашем коде, с встроенными инструментами для операций с файлами, поиска, выполнения и веб-доступа. Встроенные инструменты охватывают большинство задач кодирования. Это руководство охватывает уровень расширения: функции, которые вы добавляете для настройки того, что знает Claude, подключения его к внешним сервисам и автоматизации рабочих процессов.
Информацию о том, как работает основной цикл агента, см. в разделе How Claude Code works.
Новичок в Claude Code? Начните с CLAUDE.md для соглашений проекта. Добавляйте другие расширения по мере необходимости.
Обзор
Расширения подключаются к различным частям цикла агента:
- CLAUDE.md добавляет постоянный контекст, который Claude видит в каждой сессии
- Skills добавляют переиспользуемые знания и вызываемые рабочие процессы
- MCP подключает Claude к внешним сервисам и инструментам
- Subagents запускают свои собственные циклы в изолированном контексте, возвращая резюме
- Agent teams координируют несколько независимых сессий с общими задачами и обменом сообщениями между участниками
- Hooks работают полностью вне цикла как детерминированные скрипты
- Plugins и marketplaces упаковывают и распространяют эти функции
Skills — это наиболее гибкое расширение. Skill — это файл markdown, содержащий знания, рабочие процессы или инструкции. Вы можете вызывать skills с помощью команды типа /deploy, или Claude может загружать их автоматически, когда они релевантны. Skills могут работать в вашем текущем разговоре или в изолированном контексте через subagents.
Сопоставьте функции с вашей целью
Функции варьируются от всегда включённого контекста, который Claude видит в каждой сессии, до возможностей по требованию, которые вы или Claude можете вызвать, до фоновой автоматизации, которая работает при определённых событиях. Таблица ниже показывает, что доступно и когда каждое имеет смысл.
| Функция | Что она делает | Когда её использовать | Пример |
|---|---|---|---|
| CLAUDE.md | Постоянный контекст, загружаемый в каждом разговоре | Соглашения проекта, правила "всегда делай X" | "Используйте pnpm, а не npm. Запускайте тесты перед коммитом." |
| Skill | Инструкции, знания и рабочие процессы, которые может использовать Claude | Переиспользуемый контент, справочные документы, повторяющиеся задачи | /deploy запускает ваш контрольный список развёртывания; skill с документацией API с шаблонами конечных точек |
| Subagent | Изолированный контекст выполнения, который возвращает обобщённые результаты | Изоляция контекста, параллельные задачи, специализированные работники | Задача исследования, которая читает много файлов, но возвращает только ключевые выводы |
| Agent teams | Координируют несколько независимых сессий Claude Code | Параллельное исследование, разработка новых функций, отладка с конкурирующими гипотезами | Запустите рецензентов для одновременной проверки безопасности, производительности и тестов |
| MCP | Подключение к внешним сервисам | Внешние данные или действия | Запрос к вашей базе данных, отправка в Slack, управление браузером |
| Hook | Детерминированный скрипт, который работает при событиях | Предсказуемая автоматизация, без участия LLM | Запуск ESLint после каждого редактирования файла |
Plugins — это уровень упаковки. Plugin объединяет skills, hooks, subagents и MCP servers в единый устанавливаемый модуль. Plugin skills имеют пространство имён (например, /my-plugin:review), поэтому несколько plugins могут сосуществовать. Используйте plugins, когда вы хотите переиспользовать одну и ту же настройку в нескольких репозиториях или распространять другим через marketplace.
Сравните похожие функции
Некоторые функции могут казаться похожими. Вот как их различить.
Skills и subagents решают разные проблемы:
- Skills — это переиспользуемый контент, который вы можете загрузить в любой контекст
- Subagents — это изолированные работники, которые работают отдельно от вашего основного разговора
| Аспект | Skill | Subagent |
|---|---|---|
| Что это | Переиспользуемые инструкции, знания или рабочие процессы | Изолированный работник со своим собственным контекстом |
| Ключевое преимущество | Поделитесь контентом между контекстами | Изоляция контекста. Работа происходит отдельно, возвращается только резюме |
| Лучше всего для | Справочный материал, вызываемые рабочие процессы | Задачи, которые читают много файлов, параллельная работа, специализированные работники |
Skills могут быть справочными или действенными. Справочные skills предоставляют знания, которые Claude использует на протяжении вашей сессии (например, ваше руководство по стилю API). Action skills говорят Claude сделать что-то конкретное (например, /deploy, который запускает ваш рабочий процесс развёртывания).
Используйте subagent, когда вам нужна изоляция контекста или когда ваше окно контекста переполняется. Subagent может читать десятки файлов или выполнять обширные поиски, но ваш основной разговор получает только резюме. Поскольку работа subagent не потребляет ваш основной контекст, это также полезно, когда вам не нужно, чтобы промежуточная работа оставалась видимой. Пользовательские subagents могут иметь свои собственные инструкции и могут предварительно загружать skills.
Они могут объединяться. Subagent может предварительно загружать определённые skills (поле skills:). Skill может работать в изолированном контексте, используя context: fork. Подробнее см. в разделе Skills.
Оба хранят инструкции, но они загружаются по-разному и служат разным целям.
| Аспект | CLAUDE.md | Skill |
|---|---|---|
| Загружается | Каждая сессия, автоматически | По требованию |
| Может включать файлы | Да, с импортами @path |
Да, с импортами @path |
| Может запускать рабочие процессы | Нет | Да, с /<name> |
| Лучше всего для | Правила "всегда делай X" | Справочный материал, вызываемые рабочие процессы |
Поместите в CLAUDE.md, если Claude должен всегда это знать: соглашения кодирования, команды сборки, структура проекта, правила "никогда не делай X".
Поместите в skill, если это справочный материал, который Claude иногда нужен (документация API, руководства по стилю) или рабочий процесс, который вы запускаете с помощью /<name> (развёртывание, рецензирование, выпуск).
Практическое правило: Держите CLAUDE.md под 200 строк. Если он растёт, переместите справочный контент в skills или разделите на файлы .claude/rules/.
Все три хранят инструкции, но они загружаются по-разному:
| Аспект | CLAUDE.md | .claude/rules/ |
Skill |
|---|---|---|---|
| Загружается | Каждая сессия | Каждая сессия, или когда открываются соответствующие файлы | По требованию, при вызове или релевантности |
| Область | Весь проект | Может быть ограничена путями файлов | Специфична для задачи |
| Лучше всего для | Основные соглашения и команды сборки | Рекомендации, специфичные для языка или каталога | Справочный материал, повторяющиеся рабочие процессы |
Используйте CLAUDE.md для инструкций, которые нужны каждой сессии: команды сборки, соглашения тестирования, архитектура проекта.
Используйте rules, чтобы сосредоточить CLAUDE.md. Rules с frontmatter paths загружаются только, когда Claude работает с соответствующими файлами, экономя контекст.
Используйте skills для контента, который Claude нужен только иногда, например документация API или контрольный список развёртывания, который вы запускаете с помощью /<name>.
Оба параллелизируют работу, но они архитектурно различны:
- Subagents работают внутри вашей сессии и сообщают результаты обратно в ваш основной контекст
- Agent teams — это независимые сессии Claude Code, которые общаются друг с другом
| Аспект | Subagent | Agent team |
|---|---|---|
| Контекст | Собственное окно контекста; результаты возвращаются вызывающему | Собственное окно контекста; полностью независимый |
| Коммуникация | Сообщает результаты только основному агенту | Товарищи по команде обмениваются сообщениями напрямую |
| Координация | Основной агент управляет всей работой | Общий список задач с самокоординацией |
| Лучше всего для | Сосредоточенные задачи, где имеет значение только результат | Сложная работа, требующая обсуждения и сотрудничества |
| Стоимость токенов | Ниже: результаты обобщены обратно в основной контекст | Выше: каждый товарищ по команде — это отдельный экземпляр Claude |
Используйте subagent, когда вам нужен быстрый, сосредоточенный работник: исследуйте вопрос, проверьте утверждение, рецензируйте файл. Subagent выполняет работу и возвращает резюме. Ваш основной разговор остаётся чистым.
Используйте agent team, когда товарищи по команде должны делиться выводами, оспаривать друг друга и координироваться независимо. Agent teams лучше всего подходят для исследования с конкурирующими гипотезами, параллельного рецензирования кода и разработки новых функций, где каждый товарищ по команде владеет отдельной частью.
Точка перехода: Если вы запускаете параллельные subagents, но достигаете пределов контекста, или если ваши subagents должны общаться друг с другом, agent teams — это естественный следующий шаг.
Agent teams экспериментальны и отключены по умолчанию. Подробнее см. в разделе agent teams для настройки и текущих ограничений.
MCP подключает Claude к внешним сервисам. Skills расширяют то, что знает Claude, включая то, как эффективно использовать эти сервисы.
| Аспект | MCP | Skill |
|---|---|---|
| Что это | Протокол для подключения к внешним сервисам | Знания, рабочие процессы и справочный материал |
| Предоставляет | Инструменты и доступ к данным | Знания, рабочие процессы, справочный материал |
| Примеры | Интеграция Slack, запросы к базе данных, управление браузером | Контрольный список рецензирования кода, рабочий процесс развёртывания, руководство по стилю API |
Они решают разные проблемы и хорошо работают вместе:
MCP даёт Claude возможность взаимодействовать с внешними системами. Без MCP Claude не может запросить вашу базу данных или отправить сообщение в Slack.
Skills дают Claude знания о том, как эффективно использовать эти инструменты, плюс рабочие процессы, которые вы можете запустить с помощью /<name>. Skill может включать схему базы данных вашей команды и шаблоны запросов, или рабочий процесс /post-to-slack с правилами форматирования сообщений вашей команды.
Пример: MCP server подключает Claude к вашей базе данных. Skill учит Claude вашу модель данных, общие шаблоны запросов и какие таблицы использовать для разных задач.
Поймите, как функции слоятся
Функции могут быть определены на нескольких уровнях: для всех пользователей, для каждого проекта, через plugins или через управляемые политики. Вы также можете вложить файлы CLAUDE.md в подкаталоги или разместить skills в определённых пакетах monorepo. Когда одна и та же функция существует на нескольких уровнях, вот как они слоятся:
- Файлы CLAUDE.md являются аддитивными: все уровни одновременно вносят контент в контекст Claude. Файлы из вашего рабочего каталога и выше загружаются при запуске; подкаталоги загружаются по мере работы в них. Когда инструкции конфликтуют, Claude использует суждение для их согласования, при этом более специфичные инструкции обычно имеют приоритет. Подробнее см. в разделе как загружаются файлы CLAUDE.md.
- Skills и subagents переопределяют по имени: когда одно и то же имя существует на нескольких уровнях, одно определение побеждает на основе приоритета (управляемый > пользователь > проект для skills; управляемый > флаг CLI > проект > пользователь > plugin для subagents). Plugin skills имеют пространство имён для избежания конфликтов. Подробнее см. в разделах обнаружение skills и область subagent.
- MCP servers переопределяют по имени: локальный > проект > пользователь. Подробнее см. в разделе область MCP.
- Hooks объединяются: все зарегистрированные hooks срабатывают для своих соответствующих событий независимо от источника. Подробнее см. в разделе Hooks.
Объедините функции
Каждое расширение решает разную проблему: CLAUDE.md обрабатывает всегда включённый контекст, skills обрабатывают знания и рабочие процессы по требованию, MCP обрабатывает внешние подключения, subagents обрабатывают изоляцию, а hooks обрабатывают автоматизацию. Реальные настройки объединяют их на основе вашего рабочего процесса.
Например, вы можете использовать CLAUDE.md для соглашений проекта, skill для вашего рабочего процесса развёртывания, MCP для подключения к вашей базе данных и hook для запуска линтинга после каждого редактирования. Каждая функция обрабатывает то, в чём она лучше всего.
| Паттерн | Как это работает | Пример |
|---|---|---|
| Skill + MCP | MCP обеспечивает подключение; skill учит Claude, как его хорошо использовать | MCP подключается к вашей базе данных, skill документирует вашу схему и шаблоны запросов |
| Skill + Subagent | Skill запускает subagents для параллельной работы | Skill /audit запускает subagents безопасности, производительности и стиля, которые работают в изолированном контексте |
| CLAUDE.md + Skills | CLAUDE.md содержит всегда включённые правила; skills содержат справочный материал, загружаемый по требованию | CLAUDE.md говорит "следуйте нашим соглашениям API", skill содержит полное руководство по стилю API |
| Hook + MCP | Hook запускает внешние действия через MCP | Hook после редактирования отправляет уведомление Slack, когда Claude изменяет критические файлы |
Поймите стоимость контекста
Каждая функция, которую вы добавляете, потребляет часть контекста Claude. Слишком много может заполнить ваше окно контекста, но это также может добавить шум, который делает Claude менее эффективным; skills могут не срабатывать правильно, или Claude может потерять из виду ваши соглашения. Понимание этих компромиссов помогает вам построить эффективную настройку.
Стоимость контекста по функциям
Каждая функция имеет разную стратегию загрузки и стоимость контекста:
| Функция | Когда загружается | Что загружается | Стоимость контекста |
|---|---|---|---|
| CLAUDE.md | Начало сессии | Полный контент | Каждый запрос |
| Skills | Начало сессии + при использовании | Описания в начале, полный контент при использовании | Низкая (описания каждый запрос)* |
| MCP servers | Начало сессии | Все определения инструментов и схемы | Каждый запрос |
| Subagents | При запуске | Свежий контекст с указанными skills | Изолирован от основной сессии |
| Hooks | При срабатывании | Ничего (работает внешне) | Ноль, если hook не возвращает дополнительный контекст |
*По умолчанию описания skills загружаются в начале сессии, чтобы Claude мог решить, когда их использовать. Установите disable-model-invocation: true в frontmatter skill, чтобы скрыть его от Claude полностью до тех пор, пока вы не вызовете его вручную. Это снижает стоимость контекста до нуля для skills, которые вы только вызываете сами.
Поймите, как загружаются функции
Каждая функция загружается в разные точки вашей сессии. Вкладки ниже объясняют, когда загружается каждая и что входит в контекст.
Когда: Начало сессии
Что загружается: Полный контент всех файлов CLAUDE.md (управляемые, пользовательские и уровни проекта).
Наследование: Claude читает файлы CLAUDE.md из вашего рабочего каталога вверх до корня и обнаруживает вложенные в подкаталогах по мере доступа к этим файлам. Подробнее см. в разделе How CLAUDE.md files load.
Держите CLAUDE.md под 200 строк. Переместите справочный материал в skills, которые загружаются по требованию.
Skills — это дополнительные возможности в наборе инструментов Claude. Они могут быть справочным материалом (например, руководство по стилю API) или вызываемыми рабочими процессами, которые вы запускаете с помощью /<name> (например, /deploy). Claude Code поставляется с встроенными skills типа /simplify, /batch и /debug, которые работают из коробки. Вы также можете создавать свои собственные. Claude использует skills, когда это уместно, или вы можете вызвать один напрямую.
Когда: Зависит от конфигурации skill. По умолчанию описания загружаются в начале сессии, а полный контент загружается при использовании. Для skills только пользователя (disable-model-invocation: true) ничего не загружается до тех пор, пока вы их не вызовете.
Что загружается: Для skills, вызываемых моделью, Claude видит имена и описания в каждом запросе. Когда вы вызываете skill с помощью /<name> или Claude загружает его автоматически, полный контент загружается в ваш разговор.
Как Claude выбирает skills: Claude сопоставляет вашу задачу с описаниями skills, чтобы решить, какие релевантны. Если описания расплывчаты или перекрываются, Claude может загрузить неправильный skill или пропустить тот, который помог бы. Чтобы сказать Claude использовать определённый skill, вызовите его с помощью /<name>. Skills с disable-model-invocation: true невидимы для Claude до тех пор, пока вы их не вызовете.
Стоимость контекста: Низкая до использования. Skills только пользователя имеют нулевую стоимость до вызова.
В subagents: Skills работают по-другому в subagents. Вместо загрузки по требованию, skills, переданные subagent, полностью предварительно загружаются в его контекст при запуске. Subagents не наследуют skills из основной сессии; вы должны указать их явно.
Используйте disable-model-invocation: true для skills с побочными эффектами. Это экономит контекст и гарантирует, что только вы их запускаете.
Когда: Начало сессии.
Что загружается: Все определения инструментов и JSON схемы из подключённых серверов.
Стоимость контекста: Tool search (включён по умолчанию) загружает MCP инструменты до 10% контекста и откладывает остальное до необходимости.
Примечание о надёжности: MCP подключения могут молча отказать в середине сессии. Если сервер отключится, его инструменты исчезнут без предупреждения. Claude может попытаться использовать инструмент, который больше не существует. Если вы заметили, что Claude не может использовать MCP инструмент, который он раньше мог использовать, проверьте подключение с помощью /mcp.
Запустите /mcp, чтобы увидеть стоимость токенов на сервер. Отключите серверы, которые вы не активно используете.
Когда: По требованию, когда вы или Claude запускаете один для задачи.
Что загружается: Свежий, изолированный контекст, содержащий:
- Системный prompt (общий с родителем для эффективности кэша)
- Полный контент skills, указанных в поле
skills:агента - CLAUDE.md и статус git (унаследованы от родителя)
- Любой контекст, который основной агент передаёт в prompt
Стоимость контекста: Изолирована от основной сессии. Subagents не наследуют историю вашего разговора или вызванные skills.
Используйте subagents для работы, которая не нуждается в вашем полном контексте разговора. Их изоляция предотвращает раздувание вашей основной сессии.
Когда: При срабатывании. Hooks срабатывают при определённых событиях жизненного цикла, таких как выполнение инструмента, границы сессии, отправка prompt, запросы разрешений и компактирование. Полный список см. в разделе Hooks.
Что загружается: Ничего по умолчанию. Hooks работают как внешние скрипты.
Стоимость контекста: Ноль, если hook не возвращает вывод, который добавляется как сообщения в ваш разговор.
Hooks идеальны для побочных эффектов (линтинг, логирование), которые не должны влиять на контекст Claude.
Узнайте больше
Каждая функция имеет своё собственное руководство с инструкциями по настройке, примерами и параметрами конфигурации.
Сохраняйте контекст проекта, соглашения и инструкции
Дайте Claude экспертизу в области и переиспользуемые рабочие процессы
Перенесите работу в изолированный контекст
Координируйте несколько сессий, работающих параллельно
Подключите Claude к внешним сервисам
Автоматизируйте рабочие процессы с помощью hooks
Упакуйте и поделитесь наборами функций
Размещайте и распространяйте коллекции plugins