К содержимому
ErgonLab
← Блог
Гайд · Claude Code
· 6 мин

Иерархия Claude Code: 6 слоёв за 5 минут

Claude Code — это не просто чат с AI. У него шесть слоёв инструкций, которые загружаются в каждый разговор. Разбираю, что куда класть.

Зачем эта иерархия вообще нужна

Когда работаешь с Claude как с обычным чатом, у него ноль контекста о тебе и проекте. В каждом разговоре приходится заново объяснять стек, конвенции, что нельзя, какие файлы нельзя трогать. Это медленно и роняет качество.

Claude Code решает это слоями. Шесть мест, где живут инструкции, и каждый слой подтягивается автоматически в нужный момент. Чем выше слой — тем шире охват (всё, всегда), чем ниже — тем точечнее (одна команда, один файл).

Шесть слоёв сверху вниз

1. Глобальный CLAUDE.md (~/.claude/CLAUDE.md)

Личные правила — язык, тон, запреты, стиль работы. Загружается в любую сессию, в любом проекте.

Сюда: «русский основной язык», «не выдумывай данные», «не отправляй сообщения без явного одобрения», «делай 2-3 варианта с плюсами и минусами».

Не сюда: специфика конкретного проекта, стек, имена людей.

2. Проектный CLAUDE.md (в корне проекта)

Стек, конвенции, структура папок, активные клиенты, ключевые файлы, которые нельзя трогать. Подтягивается, когда заходишь в этот проект.

Сюда: «Next.js 14 App Router, TypeScript strict, Tailwind 4», «деплой через rsync на VPS», «клиент по обучению Claude Code».

Не сюда: твои личные предпочтения по стилю общения (это в глобальный).

3. Skills (~/.claude/skills/<name>/SKILL.md)

Атомарная задача, которую ты делаешь регулярно. Триггерится по фразе или по слэш-команде. Например: /commit, /deploy, /review.

Skill — это не инструкция «всегда так делай», а «когда я говорю Х, выполни такой-то протокол».

Пример: skill /commit знает конвенцию проекта (feat/fix/docs), запускает git status + git diff, формулирует сообщение, ставит coauthor. Раньше я каждый раз набивал это руками.

4. Subagents (.claude/agents/<name>.md)

Специализированный исполнитель в виде отдельного .md файла. У него своя инструкция, свой набор инструментов, своя зона ответственности.

Главное отличие от skill — агент работает в своём контексте, не засоряя основной. Можно отправить ему большую задачу, он её сделает и вернёт сжатый результат.

Я использую: backend-specialist, frontend-specialist, quality-guardian, web-researcher. Каждый специализирован, каждый на своём.

5. MEMORY.md + memory/.md

Персистентная память между сессиями. Не инструкции, а факты — кто пользователь, что было решено, какие правила фидбека уже даны, контекст по клиентам.

MEMORY.md — индекс. Сами записи живут в отдельных файлах (feedback_*.md, project_*.md, client_*.md). Так MEMORY.md остаётся коротким, а детали раскрываются по мере необходимости.

Пример записи: «Лана — изоляция чатов: НИКОГДА не использовать cfg.chat_id при прямом Telethon. Причина: был инцидент с пересечением чатов двух клиентов».

6. settings.json + permissions

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

Сюда: «разрешить npm install без спроса», «при каждом сохранении .tsx запускать prettier», «при стопе показать дашборд».

Это уже не «что Claude знает», а «что Claude может делать сам».

Как это работает в живом разговоре

Открыл Claude Code в проекте — система загрузила:

  1. Твой глобальный CLAUDE.md (общие правила)
  2. Проектный CLAUDE.md (стек и контекст)
  3. MEMORY.md (что было раньше)
  4. Skills из ~/.claude/skills/ и .claude/skills/ (атомарные команды доступны)
  5. Subagents из .claude/agents/ (специалисты на подхвате)
  6. Permissions из settings.json (что можно делать молча)

Ты пишешь «обнови карточку клиента после сессии» — Claude уже знает кто ты, какой проект, какой стиль, есть ли подходящий skill, и какие команды в bash он может выполнить без вопросов.

Принцип распределения

Один вопрос: «это правда везде или только здесь?»

  • Везде, всегда → глобальный CLAUDE.md
  • В этом проекте → проектный CLAUDE.md
  • Когда я скажу команду → skill
  • Большая задача отдельно → subagent
  • Запомнить факт → memory
  • Разрешить инструмент → settings.json

Большинство ошибок в настройке Claude Code от того, что инструкции лежат не на своём слое — например, проектная конвенция в глобальном файле или личное правило в проектном. Через неделю ты сам не понимаешь, почему AI делает не то.

Что сделать прямо сейчас

  1. Открой ~/.claude/CLAUDE.md. Если его нет — создай. Запиши 5 правил, как ты хочешь, чтобы AI с тобой работал.
  2. В каждом активном проекте создай CLAUDE.md в корне. 10-15 строк: стек, что трогать нельзя, кто текущие клиенты.
  3. Поймай повторяющуюся задачу (коммит, деплой, ревью) — заверни в skill.

Дальше слои подтянутся сами по мере роста.

Соседние посты

Читать дальше

← Предыдущий
CLAUDE.md — как написать, чтобы AI понял проект с первого раза
Следующий →
Что такое токен и почему output дороже input в 5 раз
Все материалы
Принимаю заказы

Понравилось?
Обсудим задачу?

Напишите коротко — ответим в течение дня.

Написать в Telegram
@ergonlab_bot