Навыки: экспертиза по запросу
- Определить, что такое навык и чем он отличается от запихивания всего в CLAUDE.md
- Прочитать и написать SKILL.md — фронтматтер плюс инструкции — и понять, почему описание является триггером
- Объяснить прогрессивное раскрытие и почему оно позволяет масштабировать множество навыков без раздувания контекста
- Знать три места, где живут навыки: личные, проектные и упакованные в плагин
- Правильно выбирать между навыком, слэш-командой, субагентом и MCP
- Избегать четырёх частых ошибок, из-за которых навыки не срабатывают
Навык (Skill) упаковывает экспертизу — инструкции плюс необязательные скрипты и ресурсы, — которую Claude загружает только когда это уместно. Вместо того чтобы запихивать всё в CLAUDE.md, вы даёте Claude библиотеку возможностей, которые он подключает по запросу.
Анатомия
Навык — это папка с файлом SKILL.md: YAML-фронтматтер плюс инструкции.
---
name: pdf-forms
description: Use when the user needs to fill, read, or generate PDF forms.
---
# PDF Forms
Steps and rules for working with PDF forms…
(optionally reference scripts/ or resources/ in this folder)
- Описание — это триггер: Claude читает его, чтобы решить, когда активировать навык. Пишите его как «Use when…», достаточно конкретно, чтобы он загружался в нужный момент и не загружался в остальных случаях.
Прогрессивное раскрытие (почему навыки масштабируются)
Claude не загружает полное тело каждого навыка заранее — он видит лёгкие name + description и подтягивает полные инструкции (и запускает скрипты) только тогда, когда запрос совпадает. Это поддерживает контекст компактным даже при множестве установленных навыков.
Где они находятся
- ~/.claude/skills/<name>/SKILL.md — остаются вашими, доступны во всех ваших проектах.
- .claude/skills/<name>/SKILL.md — закоммитьте их в git, и вся команда получит эту возможность.
- Упаковывайте навыки внутри плагина для распространения внутри команды. См. «Плагины и маркетплейсы».
AILmanac поставляется с 7 готовыми наборами навыков — скопируйте один к себе, чтобы попробовать.
Разобранный пример: навык, который запускает сам себя
Создайте ~/.claude/skills/release-notes/SKILL.md:
---
name: release-notes
description: Use when the user asks to write release notes or a changelog from git history.
---
# Release Notes
1. Run `git log <last-tag>..HEAD --oneline` to get the commits.
2. Group them into Features / Fixes / Breaking changes.
3. Write user-facing notes — what changed for *users*, not commit messages.
4. Output Markdown ready to paste into a GitHub release.
Позже вы вводите промпт ниже. У Claude никогда не было этих шагов в контексте — но запрос совпадает с description, поэтому он подтягивает полный SKILL.md, запускает git log и выдаёт сгруппированные заметки. Вы ничего не вызывали по имени; маршрутизацию выполнило описание. Добавьте файл scripts/ в ту же папку, и навык сможет запустить его как часть шага 1.
Запустите навык по намерению — имя не нужно
Draft release notes since v1.4.
Навык против команды, субагента и MCP
| Инструмент | Что это | Кто запускает: вы или Claude |
|---|---|---|
| Слэш-команда | Сохранённый промпт | Вы вызываете её |
| Навык | Экспертиза по запросу + скрипты | Claude загружает его, когда это уместно |
| Субагент | Делегированный агент с собственным контекстом | Claude делегирует |
| MCP | Подключение к внешним инструментам/данным | Предоставляет инструменты для вызова |
- Вы хотите запускать это по запросу → слэш-команда.
- Claude должен знать процедуру и применять её, когда это уместно → навык.
- Работа должна происходить в отдельном контексте → субагент.
- Вам нужно обратиться к внешней системе → MCP.
Частые ошибки
- Описание, которое не срабатывает. «Helps with PDFs» слишком расплывчато; «Use when the user needs to fill, read, or generate PDF forms» точно говорит Claude, когда его загружать. Описание — это весь механизм активации: пишите его для сопоставления, а не для людей.
- Засовывание всего в CLAUDE.md вместо этого. CLAUDE.md загружается в каждой сессии и всегда расходует контекст; навык загружается только когда уместно. Перенесите ситуативные процедуры в навыки, а в CLAUDE.md оставьте всегда верные правила проекта.
- Один гигантский навык. Множество небольших, чётко описанных навыков маршрутизируются лучше, чем один универсальный — прогрессивное раскрытие помогает только если каждое описание конкретно.
- Забывание, что им можно делиться. Проектный навык в .claude/skills/, закоммиченный в git, даёт возможность всей команде; личный в ~/.claude/skills/ остаётся только вашим.