Термос Беспалова
Уровень · Продвинутый

Как написать свой скилл для Claude: разбор структуры

Пошагово: где лежит скилл, из чего состоит файл SKILL.md, как написать описание, по которому Claude сам поймёт, когда скилл нужен, и как добавить аргументы, скрипты и свежие данные.

Скилл в Claude Code — папка с файлом SKILL.md, в котором описано, как выполнять определённую задачу: подготовить отчёт по шаблону, оформить релиз, проверить договор по чек-листу, сделать коммит по правилам команды. Claude знает о скилле по его короткому описанию и загружает полный текст только тогда, когда задача подходит, — или когда вы вызываете скилл командой /имя-скилла. Это способ один раз описать процедуру и дальше выполнять её одной командой или вообще без команды.

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

Когда писать скилл, а когда хватит CLAUDE.md

У Claude Code несколько мест для инструкций, и путаница между ними — частая причина разочарования. CLAUDE.md загружается в каждую сессию целиком: туда идут факты, нужные всегда, — команды сборки, соглашения, запреты. Скилл загружается только когда нужен: туда идут процедуры из нескольких шагов, которые нужны иногда. Хук — не инструкция, а программа, которая срабатывает всегда; туда — то, что должно выполняться без исключений. Подробно о двух других — в гайдах файл CLAUDE.md и хуки в Claude Code.

Признаки, что пора писать скилл. Вы третий раз объясняете Claude одну и ту же последовательность действий: «возьми выгрузку, посчитай по каналам, сравни с прошлым месяцем, оформи по шаблону». Инструкция в CLAUDE.md разрослась до нескольких экранов и большую часть времени не нужна. Задача требует справочных материалов — шаблонов, примеров, спецификаций, — которые жалко держать в контексте постоянно. Или процедура рискованная, и вы хотите запускать её только сами, явной командой.

Обратный признак: если инструкция — одна-две строки и нужна в каждой сессии («тесты запускаются через make test»), скилл не нужен, это строчка в CLAUDE.md. Скилл ради одной фразы только добавляет описание в список, который Claude просматривает, и ничего не даёт взамен. Чем больше в списке бесполезных скиллов, тем труднее Claude выбрать нужный.

Где хранить скилл

Скилл — это папка с именем скилла, внутри которой лежит SKILL.md. От места хранения зависит, в каких сессиях он доступен и попадёт ли к коллегам.

ГдеПутьГде работает
Личный~/.claude/skills/имя/SKILL.mdво всех ваших проектах на этом компьютере
Проектный.claude/skills/имя/SKILL.mdв этом репозитории, у всех, кто его клонирует
Вложенныйпапка/.claude/skills/имя/SKILL.mdкогда Claude работает с файлами этой папки
Плагинплагин/skills/имя/SKILL.mdгде включён плагин, как /плагин:имя
Организацияв каталоге управляемых настроеку всех сотрудников, куда его развернули
Аккаунт claude.aiвключённые в аккаунте скиллыв облачных сессиях и при входе этим аккаунтом

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

Имя папки становится командой: скилл в папке weekly-report вызывается как /weekly-report. Если два скилла называются одинаково, действуют правила приоритета, поэтому имена лучше делать конкретными: не «report», а «ads-weekly-report».

Анатомия SKILL.md: поля и описание

Файл состоит из двух частей. Вверху между строками --- — служебные поля в формате YAML. Ниже — сами инструкции в обычном Markdown. Все поля необязательные, но одно документация прямо рекомендует заполнять всегда — описание.

ПолеЧто делает
descriptionчто делает скилл и когда его применять; по нему Claude решает, вызывать ли скилл
nameимя команды в меню; по умолчанию — имя папки
when_to_useдополнительные фразы и примеры запросов для вызова
argument-hintподсказка об аргументах при вводе команды, например [месяц]
disable-model-invocationtrue — Claude не вызывает скилл сам, только вы командой
user-invocablefalse — скилл скрыт из меню, его использует только Claude
allowed-toolsинструменты, которые можно использовать без запроса разрешения в этом шаге

Описание — самое важное в скилле. Claude видит описания всех доступных скиллов и по ним решает, какой подходит к задаче. Полный текст скилла он в этот момент не читает. Поэтому описание отвечает на два вопроса: что делает скилл и в каких ситуациях его применять. Документация советует ставить главный сценарий первым: описание вместе с полем when_to_use обрезается после 1536 знаков в общем списке.

Так не надоdescription: Помогает с отчётами
Так лучшеdescription: Готовит еженедельный отчёт по рекламе из CSV-выгрузок Яндекс Директа и VK: расходы, заявки и цена заявки по каналам, сравнение с прошлой неделей. Используй, когда просят недельный отчёт, сводку по рекламе или сравнение каналов.

Хорошее описание содержит слова, которыми люди реально формулируют задачу: «недельный отчёт», «сводка по рекламе», «сравнить каналы». Если Claude не вызывает скилл, когда должен, первым делом перепишите описание — в нём почти всегда не хватает формулировок, которыми задачу ставят на самом деле.

Первый скилл пошагово

Соберём скилл для еженедельного отчёта по рекламе — типичная задача маркетолога, которую каждый раз приходится объяснять заново. Шаг 1. Создайте папку .claude/skills/ads-weekly-report/ в проекте, где лежат выгрузки. Шаг 2. Создайте в ней файл SKILL.md с описанием и инструкцией.

.claude/skills/ads-weekly-report/SKILL.md--- description: Готовит еженедельный отчёт по рекламе из CSV-выгрузок Директа и VK в папке data/. Используй, когда просят недельный отчёт, сводку по рекламе или сравнение каналов. argument-hint: [дата начала недели] allowed-tools: Read Bash(python3 *) --- Подготовь отчёт за неделю, начиная с $ARGUMENTS. 1. Найди в data/ выгрузки за эту и предыдущую неделю. Если файлов нет — остановись и скажи, каких не хватает. 2. Посчитай кодом на Python, а не в уме: расход, заявки, цену заявки по каждому каналу. 3. Сравни с прошлой неделей: изменение в рублях и процентах. 4. Оформи по шаблону template.md из этой папки. 5. Отдельным списком — каналы, где цена заявки выросла больше чем на 20%. Никаких выводов о причинах — только цифры и вопросы, которые стоит проверить.

Шаг 3. Положите рядом шаблон отчёта template.md. Шаг 4. Запустите командой /ads-weekly-report 2026-09-29 или просто попросите «сделай недельный отчёт по рекламе» — Claude найдёт скилл по описанию. Шаг 5. Посмотрите на результат и поправьте инструкцию там, где Claude сделал не так, как нужно. Обычно хватает двух-трёх итераций, после которых скилл стабильно выдаёт одинаковый результат.

Обратите внимание на детали. Пункт «посчитай кодом, а не в уме» защищает от арифметических ошибок модели — почему это важно, разобрано в гайде галлюцинации нейросетей. Пункт «если файлов нет — остановись» не даёт Claude выдумать отчёт по пустым данным. Запрет на выводы о причинах оставляет интерпретацию человеку. Такие ограничения — главное, что отличает надёжный скилл от просто инструкции.

Кто вызывает скилл и как передать аргументы

По умолчанию скилл может вызвать и Claude, и вы. Для части скиллов это неудобно. Процедуры с последствиями — деплой, отправка сообщений, коммит — лучше запускать только явной командой: для этого в описании ставится disable-model-invocation: true. Тогда описание даже не попадает в общий список, и Claude не запустит процедуру по собственной инициативе. Обратный случай — фоновые знания, которые не нужны как команда, например как устроена старая система учёта: для них user-invocable: false, и скилл исчезает из меню, оставаясь доступным Claude.

НастройкаВы можете вызватьClaude может вызвать
по умолчаниюдада, по описанию
disable-model-invocation: trueданет
user-invocable: falseнетда

Аргументы. Всё, что вы пишете после имени скилла, подставляется в текст вместо $ARGUMENTS. Команда /fix-issue 123 превращает «исправь задачу $ARGUMENTS» в «исправь задачу 123». Если аргументов несколько, к ним можно обращаться по номерам: $ARGUMENTS[0], $ARGUMENTS[1], — или задать им имена в поле arguments. Подсказка в поле argument-hint покажется при вводе команды и напомнит, что передавать.

Разрешения. Поле allowed-tools позволяет Claude использовать перечисленные инструменты без запроса разрешения — но только в том шаге, где вызван скилл; со следующим вашим сообщением разрешение снимается. Разрешайте узко: не «Bash», а «Bash(git status *)». В организациях, где включены только корпоративные правила разрешений, это поле в личных и проектных скиллах игнорируется.

Вспомогательные файлы, скрипты и живые данные

Скилл может состоять из нескольких файлов. SKILL.md остаётся коротким навигатором, а подробности лежат рядом: справочник по API, примеры, шаблоны, скрипты. Claude читает дополнительные файлы только когда они нужны, поэтому они не занимают контекст впустую. Документация советует держать SKILL.md в пределах 500 строк и выносить подробный справочный материал в отдельные файлы, указывая в основном тексте, что лежит в каждом.

Структура скиллаads-weekly-report/ ├── SKILL.md — описание и шаги ├── template.md — шаблон отчёта ├── examples.md — пример хорошего отчёта └── scripts/ └── calc.py — расчёт по выгрузкам (выполняется, а не читается)

Скрипты — сильная сторона скиллов. Вычисления, преобразования файлов, проверки лучше делать программой, которую Claude запускает, чем инструкцией «посчитай»: скрипт даёт одинаковый результат каждый раз. Агент поможет написать такой скрипт, а скилл закрепит его использование: в инструкции достаточно строки «запусти scripts/calc.py и используй его результат».

Живые данные в момент вызова. Конструкция !`команда` в тексте скилла выполняет команду до того, как Claude прочитает скилл, и подставляет её вывод. Например, строка !`git diff HEAD` подставит текущие изменения в репозитории, и Claude сразу получит их в задании, без лишнего шага. Так удобно подтягивать список файлов, вывод проверок, свежую выгрузку. Помните, что эти команды выполняются с вашими правами, — в скиллах из чужих источников проверяйте их перед установкой.

Как проверить и улучшать скилл

Проверьте две вещи по отдельности. Первая — вызов: попросите задачу пятью разными формулировками, как её сформулировали бы коллеги, и посмотрите, в скольких случаях Claude нашёл скилл сам. Если меньше чем в четырёх — дорабатывайте описание. Вторая — выполнение: прогоните скилл на 3 разных наборах данных, включая неудобный (пустой файл, лишняя колонка), и проверьте результат.

Улучшать скилл удобно так же, как CLAUDE.md: каждый раз, когда Claude выполнил его не так, добавляйте в инструкцию одну строку с правилом и причиной. Если скилл живёт в репозитории, правки проходят ревью, и через месяц он отражает опыт всей команды. Скилл можно редактировать прямо во время сессии — Claude Code подхватит изменения.

Перед тем как отдать скилл команде, прогоните его по короткому чек-листу. Его можно поручить и самому Claude: «проверь этот скилл по 7 пунктам и предложи правки».

№Вопрос к скиллу
1Говорит ли описание, что делает скилл и когда его применять, словами пользователей?
2Нужен ли запрет на самостоятельный вызов, если у скилла есть последствия?
3Сказано ли, что делать, если данных нет или они не те?
4Выполняются ли расчёты кодом, а не «в уме»?
5Укладывается ли SKILL.md в 500 строк, а подробности — в отдельных файлах?
6Разрешены ли только нужные инструменты, и максимально узко?
7Проверен ли скилл на 3 разных наборах данных, включая неудобный?

Формат SKILL.md переносимый: те же скиллы понимают Codex от OpenAI и открытый агент OpenClaw, и многие скиллы работают в них без изменений. Если скилл получился удачным и полезен не только вам, его можно оформить как плагин и поделиться с командой или опубликовать. Подборки готовых скиллов по профессиям и задачам — в маркетплейсе скиллов, а о том, как сравниваются агенты, — в гайде Claude Code или Codex.

Автор: Артём Беспалов, маркетинговое ИИ-агентство «Термос Беспалова», Калининград.

Источники: документация Claude Code о скиллах: места хранения, поля SKILL.md, аргументы, вспомогательные файлы, динамический контекст (проверено 04.10.2026).

Гайды 2026

Разобрано до шаблонов: три гайда по 490 ₽

Всё, что в статьях идёт по верхам, здесь собрано в PDF: пошаговые схемы, готовые промпты и шаблоны, которые можно взять и применить в тот же день.

Обложка гайда «Промпты, которые работают: система и 60 готовых шаблонов»

Промпты, которые работают: система и 60 готовых шаблонов

Как писать запросы к нейросетям так, чтобы ответы можно было брать в работу без переписывания

  • Формула промпта из семи элементов с разбором «плохо / хорошо»
  • Работа с контекстом и файлами: как кормить модель данными
  • Итерации: как дорабатывать ответ, а не начинать заново
  • Few-shot и цепочки промптов со схемами

PDF, 57 стр., A4

Посмотреть фрагмент (PDF)
Обложка гайда «Свой ИИ-агент за выходные: пошагово, с кодом и без»

Свой ИИ-агент за выходные: пошагово, с кодом и без

Три рабочих проекта, выбор платформы, безопасность, стоимость и тесты: от агента в конструкторе до Python-кода с MCP

  • Цикл агента и пять архитектур со схемами
  • Честный раздел «когда агент не нужен» и дерево решений
  • Сравнение платформ no-code и кода по девяти критериям
  • Три проекта пошагово: секретарь заявок, аналитик отчёта, агент на коде

PDF, 51 стр., A4

Посмотреть фрагмент (PDF)
Обложка гайда «Claude с нуля: от первого чата до скиллов и Claude Code»

Claude с нуля: от первого чата до скиллов и Claude Code

Модели, проекты, 18 сценариев с промптами, скиллы, MCP и Claude Code для тех, кто не пишет код

  • Как выбрать модель Claude по задаче (актуально на 25.09.2026)
  • Схема интерфейса и разбор возможностей: проекты, артефакты, поиск, память, рассуждение
  • Формула запроса и приёмы, которые работают именно у Claude
  • 18 рабочих сценариев с готовыми промптами: письма, договоры, презентации, таблицы, исследования

PDF, 42 стр., A4

Посмотреть фрагмент (PDF)

Оплата на стороне платёжного сервиса. После оплаты вы вернётесь на сайт, и файл откроется сразу. Оплачивая, вы принимаете оферту.

Дальше

Что почитать дальше

Скиллы: что это и где их брать

Чем скилл отличается от MCP и плагина, где найти готовые и как установить.

Открыть

Маркетплейс скиллов

Готовые скиллы по профессиям и задачам с описаниями на русском.

Открыть

Файл CLAUDE.md

Что писать в память проекта, а что выносить в скиллы.

Открыть
Вопросы

Частые вопросы

Как создать свой скилл в Claude Code?
Создать папку с именем скилла в ~/.claude/skills/ (для всех проектов) или в .claude/skills/ репозитория (для проекта) и положить в неё файл SKILL.md: вверху поля в формате YAML с описанием, ниже инструкции в Markdown. Скилл вызывается командой /имя-папки или автоматически по описанию.
Что обязательно писать в SKILL.md?
Формально все поля необязательные, но документация рекомендует всегда заполнять description: по нему Claude решает, когда вызывать скилл. В описании — что делает скилл и в каких ситуациях его применять, главный сценарий первым. Описание обрезается после 1536 знаков.
Почему Claude не вызывает мой скилл?
Чаще всего из-за описания: в нём нет слов, которыми задачу формулируют на самом деле. Перепишите description с реальными формулировками запросов и проверьте, не стоит ли disable-model-invocation: true — с ним Claude не вызывает скилл сам.
Как передать параметры в скилл?
Всё, что написано после имени скилла в команде, подставляется вместо $ARGUMENTS в его тексте. К отдельным аргументам можно обращаться как $ARGUMENTS[0], $ARGUMENTS[1] или задать им имена в поле arguments. Поле argument-hint показывает подсказку при вводе.
Какой длины должен быть скилл?
Документация советует держать SKILL.md в пределах 500 строк, а подробные справочники, примеры и шаблоны выносить в отдельные файлы в папке скилла. Claude читает их только когда они нужны, поэтому они не занимают контекст постоянно.
Работают ли скиллы Claude в других агентах?
Во многом да: формат SKILL.md понимают Codex от OpenAI и открытый агент OpenClaw, и многие скиллы переносятся без изменений. Специфичные для Claude Code возможности — например, вызов только командой или динамический контекст — в других агентах могут работать иначе.

Нужны скиллы под процессы вашей команды?

Отчёты, проверки, подготовка документов по шаблону — процедуры, которые команда выполняет каждую неделю, можно один раз описать скиллами и запускать одной командой. В «Термос Беспалова» помогаем собрать такой набор под ваши задачи.

Получить консультацию

Пн–Вс, 10:00–20:00. Отвечаю лично.