Чему вы научитесь
Расчетное время: 20 минут
К концу этого урока вы сможете:
- Настраивать расширенные метаполя навыков, включая `allowed-tools` и `model`
- Писать эффективные описания навыков, которые reliably срабатывают на нужные запросы
- Использовать `allowed-tools` для ограничения действий, которые может выполнять Claude при активном навыке
- Организовывать сложные навыки с помощью прогрессивного раскрытия и многофайловых структур
Конфигурация и многофайловые навыки
(4 минуты)
В этом видео рассматриваются продвинутые техники, делающие навыки более мощными: полный набор метаполей, написание описаний, которые reliably срабатывают, ограничение доступа к инструментам для защищённых рабочих процессов, а также организация крупных навыков в нескольких файлах с помощью прогрессивного раскрытия. Вы научитесь сохранять эффективность навыков, поддерживая при этом сложные сценарии использования.
Основные выводы
- Поля `name` и `description` обязательны — `allowed-tools` и `model` необязательны, но очень полезны
- Хорошее описание отвечает на два вопроса: *Что делает навык?* и *Когда Claude должен его использовать?*
- `allowed-tools` ограничивает, какие инструменты может использовать Claude при активном навыке — полезно для режимов только для чтения или защищённых рабочих процессов
- Прогрессивное раскрытие: держите `SKILL.md` менее чем на 500 строк и ссылайтесь на вспомогательные файлы (справочники, скрипты, ресурсы), которые Claude загружает только при необходимости
- Скрипты выполняются без загрузки их содержимого в контекст — в токенах учитывается только вывод, что делает контекст более эффективным
Базовый навык работает только с `name` и `description`, но есть несколько продвинутых техник, которые могут сделать ваши навыки намного эффективнее в Claude Code. Давайте разберём ключевые поля, лучшие практики для описаний, ограничения инструментов и способы структурирования крупных навыков.
Метаполя навыков
Стандарт agent skills поддерживает несколько полей в фронтендматтере `SKILL.md`. Два из них обязательны, остальные — необязательны:
- name (обязательно) — Идентифицирует ваш навык. Используйте только строчные буквы, цифры и дефисы. Максимум 64 символа. Должно совпадать с именем директории.
- description (обязательно) — Сообщает Claude, когда использовать навык. Максимум 1024 символа. Это самое важное поле, так как именно по нему происходит сопоставление.
- allowed-tools (необязательно) — Ограничивает, какие инструменты может использовать Claude при активном навыке.
- model (необязательно) — Указывает, какую модель Claude использовать для навыка.
Написание эффективных описаний
Будьте конкретны в инструкциях. Если бы вам сказали: *«Твоя задача — помогать с документацией»*, вы бы не знали, что делать — и Claude думает так же.
Хорошее описание отвечает на два вопроса:
- Что делает навык?
- Когда Claude должен его использовать?
Если ваш навык не срабатывает так, как вы ожидаете, попробуйте добавить больше ключевых слов, которые соответствуют тому, как вы формулируете свои запросы. Именно описание используется для принятия решения о релевантности навыка, поэтому язык имеет значение.
Ограничение инструментов с помощью `allowed-tools`
Иногда вам нужен навык, который может только читать файлы, но не изменять их. Это полезно для защищённых рабочих процессов, задач только для чтения или любых ситуаций, где нужны ограничения.
В этом примере поле `allowed-tools` установлено в `Read, Grep, Glob, Bash`. Когда этот навык активен, Claude может использовать только эти инструменты без запроса разрешения — без редактирования и записи.
```markdown
name: codebase-onboarding
description: Помогает новым разработчикам понять, как работает система.
allowed-tools: Read, Grep, Glob, Bash
model: sonnet
```
Если вы полностью опускаете `allowed-tools`, навык не накладывает никаких ограничений. Claude использует свою стандартную модель разрешений.
Прогрессивное раскрытие
Навыки делят контекстное окно Claude с вашим разговором. Когда Claude активирует навык, он загружает содержимое `SKILL.md` в контекст. Но иногда вам нужны справочные материалы, примеры или утилитарные скрипты, от которых зависит работа навыка.
Проблема в том, что если запихнуть всё в один файл на 2000 строк, это:
- Занимает слишком много места в контекстном окне
- Неудобно поддерживать
Прогрессивное раскрытие решает эту проблему. Оставляйте основные инструкции в `SKILL.md`, а подробные справочные материалы размещайте в отдельных файлах, которые Claude загружает только при необходимости.
Стандарт рекомендует организовывать директорию навыка следующим образом:
- `scripts/` — Исполняемый код
- `references/` — Дополнительная документация
- `assets/` — Изображения, шаблоны или другие файлы данных
Затем в `SKILL.md` ссылайтесь на вспомогательные файлы с чёткими инструкциями о том, когда их загружать:
В этом примере Claude загружает `architecture-guide.md` только когда кто-то спрашивает о проектировании системы. Если спрашивают, где добавить компонент, этот файл не загружается. Это как иметь оглавление в контекстном окне, а не весь документ.
Хорошее эмпирическое правило: держите `SKILL.md` менее чем на 500 строк. Если превышаете этот лимит, подумайте, не стоит ли перенести часть контента в отдельные справочные файлы.
Эффективное использование скриптов
Скрипты в директории навыка могут выполняться без загрузки их содержимого в контекст. Скрипт исполняется, и в токенах учитывается только его вывод. Главная инструкция, которую нужно включить в `SKILL.md`, — указать Claude запустить скрипт, а не читать его.
Это особенно полезно для:
- Проверки окружения
- Преобразования данных, которые должны быть согласованными
- Операций, которые надёжнее выполнять через протестированный код, а не генерировать
Вопросы для размышления
- Подумайте о навыке, который вы хотите создать и который включает несколько файлов. Как бы вы структурировали `SKILL.md` и вспомогательные справочные файлы?
- Есть ли в вашей команде рабочие процессы, где ограничение доступа к инструментам с помощью `allowed-tools` добавит важный уровень безопасности?
Что дальше
В следующем уроке мы сравним навыки с другими способами кастомизации Claude Code — `CLAUDE.md`, саб-агенты, хуки и серверы MCP — чтобы вы могли выбрать подходящий инструмент для каждой ситуации.
Обратная связь
По мере прохождения курса нам было бы интересно узнать, как вы используете навыки в своей работе, а также получить ваши отзывы. Поделитесь своими мыслями [здесь](https://example.com/feedback (внешняя ссылка отключена)).