Навыки: свой SKILL.md

Третью пятницу подряд ты пишешь агенту одно и то же: «прочитай заявки в папке, посчитай по курсам, отдельно отметь заявки без телефона, итог запиши в svodka.md». В прошлый раз ты забыл про заявки без телефона, и администратор школы спросила, куда они делись. Процедура, которую объясняешь второй раз, просится в файл.

Чему научишься в этом уроке:
• отличать CLAUDE.md от SKILL.md;
• написать навык для повторяющейся процедуры по шаблону;
• положить навык в нужную папку и вызвать его командой;
• чинить навык, который агент не подхватывает.

CLAUDE.md и SKILL.md

В уроке «CLAUDE.md и формула задачи» ты описал проект: что это, на чём написано, чего нельзя трогать. Это ответ на вопрос «где агент работает», файл один и читается всегда.

Навык отвечает на вопрос «как делается конкретная работа». Это пошаговая инструкция с признаками готовности, как памятка на стене у нового сотрудника: «пятничная сводка: шаг 1, шаг 2, проверь, сохрани сюда». Навыков в проекте столько, сколько повторяющихся процедур. Агент загружает текст навыка, только когда берётся за подходящую задачу, поэтому десять навыков не утяжеляют каждый разговор.

Две карточки рядом. Левая «CLAUDE.md, где работаем»: проект «бот заявок Кодиум», стек Python, токен в .env, не трогать папку data. Правая «SKILL.md, как делаем»: пятничная сводка, шаги 1–4, критерии готовности, чего не делать. Подпись под левой «читается всегда», под правой «загружается, когда задача подходит».

Где лежат навыки

Навык это папка с файлом SKILL.md. Имя папки становится именем навыка.

  • .claude/skills/<имя>/SKILL.md в папке проекта: навык только для этого проекта. Он уходит в git вместе с кодом, и его получит заказчик или напарник.
  • %USERPROFILE%\.claude\skills\<имя>\SKILL.md: личный навык для всех твоих проектов. Если имена совпадут, личный перекроет проектный.
  • Список доступных навыков показывает команда /skills внутри Claude Code.

Как устроен файл

В начале файла между двумя строками --- идёт заголовок. Главное поле в нём description: по этому описанию агент решает, подходит ли навык к задаче. Поле name можно не писать, тогда имя возьмётся из папки. Дальше обычный текст с шагами.

---
name: pyatnichnaya-svodka
description: Сводка заявок онлайн-школы за неделю из CSV в папке zayavki. Использовать, когда просят посчитать заявки или сделать пятничную сводку.
---

## Порядок работы
1. Прочитай все файлы CSV в папке zayavki за последнюю неделю.
2. Посчитай заявки по курсам.
3. Выпиши отдельно заявки без телефона: имя и курс.
4. Запиши итог в svodka.md: таблица по курсам, ниже список без телефона.

## Готово, если
- в svodka.md есть таблица по курсам и общий итог
- заявки без телефона перечислены, даже если их ноль (тогда строка «нет»)

## Чего не делать
- не меняй исходные CSV
- не выводи телефоны полностью, только последние две цифры

Вызвать навык можно двумя способами: командой /pyatnichnaya-svodka или обычной фразой «сделай сводку заявок за неделю». Во втором случае агент сам сравнит фразу с description.

Три правила хорошего навыка

  • Шаги начинаются с глагола. «Работа с заявками» шагом не является, его нельзя проверить. «Прочитай все CSV в папке zayavki» проверить можно.
  • Готовность видна со стороны. «Качественная сводка» каждый поймёт по-своему. «Таблица по курсам и список без телефона» двое разных людей проверят одинаково.
  • Запреты коротко и явно. Одна строка «не меняй исходные CSV» защищает лучше абзаца о бережной работе с файлами.

Делай навык небольшим. Документация Claude Code советует держать SKILL.md в пределах примерно 500 строк, а справку выносить в соседние файлы той же папки. Учебному навыку хватит 20–40 строк.

Если не получилось

  • Навыка нет в /skills. Проверь путь: файл называется ровно SKILL.md и лежит в своей папке внутри .claude/skills. Начни новую сессию Claude Code.
  • Агент не подхватывает навык по фразе. Описание слишком общее. Напиши в description, что навык делает и на какие слова откликаться.
  • Поле в заголовке будто не работает. Неизвестные поля Claude Code молча пропускает. Сверь написание: description, а не desc.
  • Заголовок не читается совсем. Строки --- должны стоять в самом начале файла, без пустой строки перед ними.

Контрольный вопрос. Ты уже дважды объяснял агенту, как оформлять ответ на заявку для школы: приветствие, ответ, ссылка на расписание. Что сделать?

АКаждый раз объяснять заново, так надёжнее
БВписать процедуру в CLAUDE.md целиком
ВПоложить образец ответа в папку проекта и надеяться, что агент его найдёт
ГСделать навык с шагами и признаками готовности

Подсказка: Это описание проекта или порядок конкретной повторяющейся работы?

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. Навык лежит на месте и появляется в /skills, но на фразу «сделай пятничную сводку» агент его не берёт. В заголовке написано: desc: Сводка. Что исправить?

АПереименовать папку навыка
БПереписать поле как description и описать, что делает навык и когда его брать
ВПеренести навык в CLAUDE.md
ГПерезапустить Claude Code, чтобы навык подхватился заново

Подсказка: Что Claude Code делает с полями заголовка, которые не узнал?

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. Навык пятничной сводки нужен только в проекте школы, и ты хочешь передать его заказчику вместе с кодом. Куда его положить?

АВ личную папку навыков в профиле пользователя
БВ файл .env
ВВ папку проекта: .claude/skills/pyatnichnaya-svodka/SKILL.md
ГВ общий CLAUDE.md в профиле пользователя

Подсказка: Какой из вариантов уйдёт в git вместе с проектом?

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Задание. МИССИЯ «Мой первый навык». Выбери процедуру, которую ты уже объяснял агенту хотя бы дважды (пятничная сводка из этого урока тоже подойдёт). Напиши для неё SKILL.md по шаблону: description, шаги с глаголом в начале, раздел «Готово, если», раздел «Чего не делать». Положи навык в .claude/skills проекта и вызови его дважды: командой /имя-навыка и обычной фразой. Приложи: (1) файл SKILL.md; (2) скриншот /skills, где виден навык; (3) скриншот результата одного из вызовов; (4) одно предложение: что ты поправил в навыке после первого запуска (или почему правка не понадобилась). Принято, если: в заголовке есть description с тем, что делает навык и когда его брать; каждый шаг начинается с глагола; признаки готовности можно проверить по результату; навык виден в /skills и сработал; в файле нет ключей и персональных данных.

Подсказка: Если агент выполнил задачу, но пропустил шаг, допиши этот шаг в признаки готовности, а не в описание.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Что дальше

Навык говорит агенту, как делать работу. Но правило текстом агент иногда нарушает. Следующий урок про обвязку: проверки, которые срабатывают сами, и готовый комплект навыков и хуков.

Итог:
• CLAUDE.md описывает проект, SKILL.md описывает повторяющуюся работу;
• навык это папка с SKILL.md в .claude/skills проекта или в личной папке;
• по полю description агент решает, брать ли навык; вызвать можно и командой /имя;
• шаги с глаголом, проверяемые признаки готовности и короткие запреты.

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева