# Как управлять Claude Code: CLAUDE.md, Skills и hooks

Канонический URL: https://zero2claude.ru/blog/steering-claude-code
Дата: 2026-06-27
Теги: claude-code, гайд, claude.md

У Claude Code есть 7 способов «рулить» поведением — от CLAUDE.md до субагентов. Большой гид: что когда подгружается, сколько стоит контекста и когда что выбрать.

Когда ты только начинаешь работать с Claude Code, всё просто: пишешь правила в `CLAUDE.md`, и ассистент их учитывает. Но проходит месяц — файл разрастается до сотен строк, в него свалено всё подряд, и Claude начинает теряться: важное тонет в неважном, а каждая сессия тащит этот ком целиком.

Хорошая новость: `CLAUDE.md` — лишь **один из семи** способов направлять Claude Code. У каждого своя роль, своё время загрузки и своя «цена» в контексте. Разберём все по полочкам — по свежему гайду Anthropic, но простыми словами и с прицелом на новичка.

<Cover src="/blog/steering-claude-code.jpg" alt="Панель управления Claude Code: разные рычаги управления поведением" />

## Что вообще значит «управлять» Claude Code

«Управление» (по-английски — *steering*) — это как ты заранее задаёшь Claude рамки: что он знает о проекте, как себя ведёт, что ему можно и нельзя, какие шаги выполняет. Чем точнее рамки — тем меньше переспрашиваний и ошибок.

Главная мысль, которую стоит усвоить: **всё, что ты задаёшь, занимает место в контекстном окне** — рабочей памяти модели. Если свалить вообще всё в один файл, который грузится в каждую сессию, ты платишь контекстом за вещи, которые сейчас не нужны. Поэтому Anthropic и разделяет способы по тому, **когда** они подгружаются и **насколько долго** живут.

## Семь способов направить Claude Code

Вот все механизмы рядом — что это, когда грузится и для чего лучше всего:

| Способ | Когда подгружается | Для чего лучше всего |
|---|---|---|
| **CLAUDE.md** (корневой) | В начале каждой сессии | Команды сборки, структура проекта, общие договорённости команды |
| **CLAUDE.md** (в подпапке) | Только когда трогаешь эту подпапку | Правила конкретной части проекта |
| **Правила (rules)** | В начале сессии или по пути файла | Точечные ограничения и конвенции |
| **Skills** | Имя — сразу, тело навыка — при вызове | Пошаговые процедуры: чек-лист релиза, деплоя |
| **Субагенты** | Метаданные — сразу, работа — изолированно | Параллельные задачи, глубокий поиск, разбор логов |
| **Hooks** | На событиях жизненного цикла | Детерминированная автоматика: линтер, уведомление |
| **Output styles** | В начале сессии | Смена «роли» и стиля ответов |

Не пугайся количества — на старте тебе хватит `CLAUDE.md` и Skills. Остальное добавляешь, когда упрёшься в конкретную потребность.

## CLAUDE.md — фундамент, но не свалка

`CLAUDE.md` читается **в начале каждой сессии**, поэтому это идеальное место для того, что нужно **всегда**: как запускать и тестировать проект, где что лежит, как оформлять коммиты. Подробнее про него — в нашем разборе [CLAUDE.md: правила вашего проекта](/blog/claude-md-guide).

Но именно из-за того, что он грузится всегда и для всех, у него есть ловушка. По формулировке Anthropic: «каждая строка попадает в каждую сессию каждого инженера — независимо от того, нужна она сейчас или нет». Отсюда правило:

<Callout type="warning">
Держи корневой `CLAUDE.md` коротким — Anthropic советует **до 200 строк**. Если файл пухнет, это сигнал: часть содержимого пора вынести в другой механизм (Skills, правила или подпапку).
</Callout>

## Правила (rules) — точечные ограничения

Правила — это короткие конвенции, которые можно **привязать к путям**. Например, «во всём, что лежит в `src/api/`, проверяй валидацию входных данных». Тогда правило подгружается, только когда Claude работает с этими файлами, а не висит в контексте постоянно. Это и есть способ задать сквозное требование, не раздувая `CLAUDE.md`.

## Skills — переиспользуемые процедуры

Skill — это **описанное один раз умение или пошаговая процедура**, которое Claude подгружает, когда оно нужно. В начале сессии модель видит только имя и описание навыка (дёшево по контексту), а полное тело подтягивает в момент вызова.

Идеальные кандидаты в Skills: чек-лист релиза, последовательность деплоя, ваш способ оформлять отчёт. Мы разбирали эту идею отдельно — [Skills: переиспользуемые навыки Claude](/blog/claude-skills).

## Субагенты — отдельные исполнители

Субагент — это как нанять узкого специалиста под задачу. Claude может **поручить часть работы** отдельному агенту: тот трудится в **изолированном** контексте, а назад возвращается только итог — финальное сообщение и метаданные, без всего «черновика».

Зачем это нужно: параллельные задачи, глубокий поиск по большому проекту, разбор длинных логов — то, что иначе забило бы основной контекст. Подробнее — [Субагенты: когда Claude делегирует часть задачи](/blog/claude-subagents).

## Hooks — детерминированная автоматика

Skills и правила — это **подсказки** модели (она сама решает, как их применить). А hooks — это **жёсткие** действия на событиях: «перед запуском такой-то команды сделай вот это». Например, `PreToolUse`-hook может проверить вызов и **заблокировать** его, выйдя с кодом 2. Это уже не «совет» Claude, а гарантированное правило. Базовый разбор — [Hooks в Claude Code](/blog/claude-hooks).

## Output styles и system prompt — стиль и роль

Последние два механизма — про то, **как** Claude отвечает, а не про знания о проекте.

**Output styles** меняют «роль» и манеру ответов на всю сессию. У Anthropic есть три готовых стиля, которых хватает большинству: **Proactive** (сам предлагает следующий шаг), **Explanatory** (подробно объясняет, что делает) и **Learning** (режим обучения). Писать свой стиль обычно не нужно — выбери готовый.

**System prompt append** — это добавка к системной инструкции в момент запуска: формат, тон, узкие доменные знания. Подходит, когда нужно чуть докрутить поведение под конкретный запуск, не меняя файлы проекта.

## 3 частые ошибки (и чем их заменить)

Anthropic выделяет три типичных анти-паттерна — все они про то, что люди суют в `CLAUDE.md` лишнее:

1. **Пошаговые инструкции в `CLAUDE.md`.** Runbook деплоя или чек-лист ревью место не в общем файле, а в **Skill** — он подтянется ровно тогда, когда понадобится.
2. **Универсальные ограничения в `CLAUDE.md`.** Если правило касается только части кода — сделай его **правилом с привязкой к путям**, а не глобальной строкой, которую читают все и всегда.
3. **Жёсткие требования как «просьба» к модели.** Если что-то нужно гарантированно — это **hook**, а не инструкция. Модель может не послушать совет; hook сработает всегда.

## Skills или субагенты — в чём разница

Их часто путают. Разница простая:

- **Skill** выполняется **в основном потоке** — ты видишь шаги, можешь вмешаться.
- **Субагент** работает **изолированно**, и в твою сессию возвращается только его финальный результат.

Нужен прозрачный, управляемый процесс — бери Skill. Нужно увести тяжёлую задачу в сторону, не засоряя основной контекст, — субагент.

<Callout type="tip">
По гайдам Anthropic, ещё несколько привычек зрелых команд: у `CLAUDE.md` должен быть **владелец** (правки ревьюят как код); связанные настройки (skills + субагенты + hooks + стиль) удобно собирать в **плагины** и шарить целиком; а готовых output styles («Proactive», «Explanatory», «Learning») хватает в большинстве случаев — свои писать не обязательно.
</Callout>

## Чек-лист: с чего начать новичку

1. Заведи короткий `CLAUDE.md`: как запускать, тестировать, структура, стиль коммитов.
2. Что повторяется как процедура (релиз, проверка) — вынеси в **Skill**.
3. Что должно срабатывать гарантированно (линтер, запрет) — сделай **hook**.
4. Тяжёлый поиск/анализ — отдай **субагенту**.
5. Раз в пару недель чисти `CLAUDE.md`: всё, что не «нужно всегда», переселяй в правила/skills.

## FAQ

<Faq>
<FaqItem q="Достаточно ли одного CLAUDE.md на старте?">

Да. Пока проект небольшой, хватит короткого `CLAUDE.md`. Остальные механизмы добавляй по мере появления реальной потребности.

</FaqItem>
<FaqItem q="Чем правило отличается от строки в CLAUDE.md?">

Правило можно привязать к путям и подгружать только для нужных файлов — оно не висит в контексте постоянно, как строка в `CLAUDE.md`.

</FaqItem>
<FaqItem q="Когда Skill, а когда hook?">

Skill — это подсказка-процедура, которую модель применяет по смыслу. Hook — жёсткое действие на событии, которое срабатывает всегда. Нужна гарантия — hook.

</FaqItem>
<FaqItem q="Что выбрать, если CLAUDE.md разросся?">

Это сигнал переселять: процедуры → в Skills, узкие ограничения → в правила с путями, частеменяемое — в подпапочные `CLAUDE.md`.

</FaqItem>
</Faq>

## Главное

Управлять Claude Code — это не «написать побольше в один файл», а **разложить инструкции по правильным полкам**: что нужно всегда — в `CLAUDE.md`, процедуры — в Skills, гарантии — в hooks, тяжёлое — субагентам. Тогда контекст не забивается лишним, а Claude точнее понимает, чего ты хочешь.

<Callout type="note">
Материал — по мотивам гайда Anthropic «Steering Claude Code: CLAUDE.md files, skills, hooks, rules, subagents and more». Мы пересказали суть по-русски и для новичков.
</Callout>

Хочешь не просто прочитать, а собрать всё это руками — от первой команды в терминале до своего проекта с Claude Code и Skills — у нас есть полный бесплатный курс.
