При активной работе с консольным ИИ-агентом Claude Code от Anthropic разработчики быстро сталкиваются с необходимостью передать ему особенности своего проекта: архитектурные подходы, стандарты форматирования, специфику развертывания или команды запуска тестов. Если просто прописывать эти требования в каждом новом диалоге, контекстное окно быстро переполнится, а эффективность работы снизится.
Для решения этой задачи в экосистеме Claude Code предусмотрены два фундаментальных механизма кастомизации: Rules (Правила) и Skills (Навыки). Понимание разницы между ними позволяет не только добиться от ИИ предсказуемого поведения, но и существенно сэкономить на потреблении токенов.
В этом руководстве мы разберем, как устроены эти механизмы, в чем их ключевые различия и какой инструмент выбрать для решения конкретной задачи.
Rules (Правила): Декларативная память и контекст
Rules (Правила) — это декларативные инструкции, которые описывают устройство вашего проекта, стандарты написания кода и архитектурные ограничения. Правила сообщают Claude, в какой среде он находится и каких стандартов должен придерживаться при выполнении любых задач.
Правила загружаются автоматически при старте каждой сессии и воспринимаются ассистентом как постоянный контекст.
Где живут правила?
- Файл CLAUDE.md: Главный файл контекста проекта. Он должен располагаться в корне репозитория. Сюда вносится базовая информация: используемый стек, команды сборки, запуска тестов и общие соглашения о стиле. Создать его структуру можно автоматически с помощью команды:
/init - Локальные переопределения (CLAUDE.local.md): Файл для персональных настроек конкретного разработчика, который не коммитится в Git. Здесь можно указать локальные пути к утилитам или особенности вашей рабочей станции.
- Файлы в директории .claude/rules/: Модульные правила, которые позволяют разделить один гигантский манифест на логические блоки.
Ограничение области видимости (Path Scoping)
Одной из наиболее мощных функций правил является возможность привязки их к конкретным путям или типам файлов с помощью glob-шаблонов. Это помогает удерживать контекстное окно в компактном состоянии.
Например, если вы работаете над бэкендом, Claude не нужно держать в памяти правила верстки фронтенда. Файлы правил в директории .claude/rules/ загружаются динамически в зависимости от того, с какими файлами взаимодействует агент.
Пример структуры модульных правил:
.claude/rules/
├── database.md (активируется только при работе с SQL-файлами или папкой /db)
└── frontend.md (активируется для файлов *.tsx, *.css)
PreToolUse hooks в файле settings.json.
Skills (Навыки): Процедурные инструменты и автоматизация
Если правила объясняют Claude, «какие стандарты нужно соблюдать», то Skills (Навыки) дают ему конкретные инструменты и пошаговые инструкции для выполнения сложных действий. Навык — это процедурное знание, оформленное в виде исполняемой команды или регламентированного чек-листа.
Любой навык создает для пользователя новую команду со слэшем (например, /deploy или /generate-docs), которую можно вызвать вручную. Кроме того, Claude может активировать навыки автономно, если посчитает их полезными для решения текущего запроса пользователя.
Структура навыка
Кастомный навык оформляется в виде директории внутри папки .claude/skills/. Минимальные требования — наличие файла SKILL.md:
.claude/skills/api-tester/
├── SKILL.md
└── scripts/
└── run-api-tests.sh
Файл SKILL.md содержит метаданные (frontmatter) в формате YAML и подробные инструкции для Claude по выполнению задачи:
---
name: api-tester
description: Запуск интеграционных тестов API и формирование отчета
allowed-tools: Bash, Read
---
# Инструкция по тестированию API
1. Убедись, что локальный сервер запущен.
2. Выполни скрипт `./scripts/run-api-tests.sh`.
3. Если тесты упали, проанализируй логи в `temp/api-error.log`.
4. Сформируй краткий отчет для разработчика в чате.
Архитектура прогрессивного раскрытия (Progressive Disclosure)
Skills спроектированы так, чтобы экономить ресурсы. Вместо того чтобы загружать все инструкции во все сессии:
- При запуске Claude загружает только легкие метаданные навыка (описание и имя — около 100 токенов).
- Если задача пользователя не связана с этим навыком, он остается неактивным.
- Как только Claude понимает, что для выполнения задачи нужен этот навык, он подгружает его полное тело (до 5 000 токенов) и сопутствующие скрипты.
Rules против Skills: Что и когда использовать?
Для наглядности сравним оба подхода по ключевым параметрам:
| Критерий | Rules (Правила) | Skills (Навыки) |
|---|---|---|
| Тип информации | Декларативная (факты, стандарты, ограничения). | Процедурная (действия, скрипты, сценарии автоматизации). |
| Режим работы | Пассивный (применяется ко всем действиям по умолчанию). | Активный (вызывается вручную через /name или по триггеру задачи). |
| Влияние на контекст | Постоянное (занимает место в контексте на протяжении всей сессии). | Динамическое (загружается только в момент выполнения задачи). |
| Конфигурация среды | Не имеет собственных настроек разрешений на уровне файла. | Позволяет переопределять модель, уровень мышления (effort) и доступные инструменты в frontmatter. |
Пример разделения задач:
- Правило: «Всегда пишите тесты с использованием Jest и размещайте их в папке
__tests__». (Относится к стилю и структуре проекта). - Навык: Создание команды
/test-coverage, которая запускает тесты с флагом покрытия, парсит HTML-отчет и находит пропущенные ветки кода. (Конкретный автоматизированный процесс).
Как организовать совместную работу в команде
Оба механизма можно выстраивать как для личного использования, так и для всей команды разработчиков.
Локальная (Standalone) конфигурация
Если вы хотите настроить Claude под себя или конкретный репозиторий, разместите конфигурации в папке .claude/ на уровне проекта и закоммитьте ее в Git. Все, кто склонирует репозиторий, автоматически получат доступ к проектным правилам и навыкам.
Использование плагинов (Plugins)
Если у вас крупная организация и один и тот же набор навыков или правил авторизации используется в десятках разных микросервисов, копировать папку .claude нерационально. В этом случае лучшим решением будет упаковка кастомизаций в Claude Plugins.
Плагин — это изолированная папка с манифестом plugin.json, содержащая навыки, агентов и хуки. Ее можно опубликовать в вашем внутреннем реестре или на GitHub и устанавливать одной командой:
/plugin add https://github.com/your-org/claude-plugins-delivery
Плагины используют пространства имен (например, /delivery:deploy вместо короткого /deploy), что предотвращает конфликты имен команд между разными инструментами.
Практические советы по оптимизации
- Проверяйте загруженный контекст:
Чтобы убедиться, что Claude действительно видит ваши правила и знает о существовании навыков, запустите в сессии команду:
Она выведет подробный список всех загруженных файлов/memoryCLAUDE.md, модульных правил из.claude/rules/и доступных навыков. - Избегайте «раздувания» CLAUDE.md: Если ваш главный файл контекста превышает 150–200 строк, перенесите узкоспециализированные инструкции в модульные правила (rules) со строгим ограничением по glob-паттернам.
- Изолируйте опасные операции в навыки:
При создании навыка для сборки или деплоя вы можете ограничить набор доступных ему инструментов в frontmatter (поле
allowed-tools). Это снизит риск того, что ИИ случайно выполнит некорректную bash-команду в процессе автоматизации.
Правильный баланс между декларативными правилами и процедурными навыками позволяет превратить Claude Code из умного собеседника в дисциплинированного цифрового инженера, детально знающего особенности вашего проекта.

