Anthropic Academy Courses My Profile Sign Out

Навыки проверки

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

Почему навык проверки — это то, что стоит построить первым

Подумайте, как вы обычно проверяете работу Claude. Вы просите его что-то отрефакторить, он заканчивает, и дальше вам нужно не забыть всё перепроверить. Может, вы просите его прогнать тесты. Может, сами читаете дифф. Проблема в том, что проверка зависит от того, не забудете ли вы о ней попросить. Пропустите этот шаг один раз — и плохой код проскользнёт.

Навык проверки убирает эту зависимость. Вот как это выглядит. Вы просите Claude что-то отрефакторить. Когда он заканчивает, изменение соответствует описанию навыка, поэтому навык срабатывает сам. Дальше он:

  • Прогоняет набор тестов.
  • Читает дифф.
  • Проверяет, что ни один тест не был ослаблен лишь бы всё прошло.
  • Сообщает «пройдено» или «не пройдено» с приложенными доказательствами.

Весь процесс идёт без вашей просьбы. Описание навыка — вот что его запускает, а запустившись, он каждый раз проходит одни и те же шаги.

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

Та же форма подходит любой процедуре, которую ваша команда повторяет. Чек-лист релиза. Рецепт миграции. Проверка перед PR. Практическое правило: если вы дважды набирали одну и ту же многошаговую инструкцию — это навык.

Папка навыка может содержать больше, чем инструкции

Навык — это не просто один файл skill.md. Папка вокруг него может нести и другое, и именно это делает навыки мощными для проверки.

  • Положите рядом reference.md с подробными материалами, затем сошлитесь на него из skill.md. Claude прочитает его только когда реально понадобится такая глубина. Ваш главный файл останется коротким.
  • Положите в папку и скрипты. Claude выполняет их, а не загружает их содержимое в контекст. Это значит, что навык может нести собственные инструменты, например check.sh, который прогоняет все шлюзы.

Вывод: держите сам skill.md лаконичным. Выносите тяжёлые материалы, длинные объяснения и исполняемые скрипты в соседние файлы. Лаконичный файл описывает, что делать; соседние файлы держат глубину и инструменты.

Какая поверхность инструкций за какое правило отвечает

К этому моменту у вас есть три места для инструкций, и их легко перепутать. Вот быстрый способ не путаться.

Соглашения, которые действуют всегда, — например правила именования или где лежат файлы, — принадлежат файлу CLAUDE.md. Процедуры и справочные материалы, привязанные к конкретному виду задач, принадлежат навыку.

Есть третий случай. Правило, которое Claude не должен иметь возможности пропустить, должно жить в хуке, а не в оба варианта выше. Потому что CLAUDE.md и навыки — это инструкции, которым Claude следует, а хук — это код, который реально выполняется. Если пропуск правила недопустим, не оставляйте это на усмотрение следования инструкциям.

Резюме

Навык — это папка с файлом skill.md внутри: имя, описание, которое его запускает, и сама процедура. В контекст загружаются только описания, пока навык реально не понадобится, так что упаковка каждой повторяющейся процедуры ничего не стоит.

Начните с проверки. Постройте навык, закоммитьте его в .claude/skills вашего проекта, и теперь вся команда наследует тот же приём. Работа каждого проверяется одинаково, автоматически, и никому не нужно помнить о просьбе.