К этому шагу у вас уже есть файл контекста и он потихоньку растёт. Рано или поздно в него захочется положить процедуру: как здесь публикуется контент, как добавляется раздел админки, как выкатывается обновление.
Не кладите. Это другой жанр, и у него другое место.
Признак третьего раза
Скилл заводится, когда вы объясняете одно и то же третий раз.
Первое объяснение — работа. Второе — совпадение: две похожие задачи подряд ничего не доказывают. Третье означает, что процедура повторяющаяся, и дальше вы будете пересказывать её по памяти, каждый раз чуть иначе.
Второй признак, который стоит проверить вместе с первым: у процедуры есть порядок, который легко нарушить. Публикация статьи в блоге — шесть шагов, и перестановка двух из них даёт пост без обложки в ленте.
Третий: процедура опирается на то, чего не видно в коде. Мой скилл про контент существует, потому что развёртывание на проде пересоздаёт базу целиком, а это записано в скрипте обновления, а не в приложении.
Если ни одного признака нет — это строка в файле контекста.
Что остаётся строкой
Разделение проходит по одному критерию: применяется всегда или иногда.
Команда запуска тестов нужна при любой работе с проектом. Никакого порядка шагов, никакого условия — это строка.
Процедура создания раздела админки нужна раз в несколько недель. Держать её в файле контекста — значит платить вниманием на каждой задаче, включая те, где админка не при чём.
Проверка, которой пользуюсь: надо ли это помнить при любой работе с проектом. Да — строка. Нет — скилл.
Минимальный скилл
Первый скилл не должен быть большим. Двадцати строк достаточно, и вот из чего они состоят.
---
name: publish-post
description: Публикация статьи в блоге: черновик, предпросмотр,
публикация, проверка ленты и карты сайта. Использовать, когда
нужно вывести готовый текст на сайт.
---
# Публикация статьи
Цель: вывести готовый текст на сайт, не сломав ленту, карту сайта
и предпросмотр.
## Порядок
1. Текст вычитан, обложка готова, SEO-поля заполнены.
2. Проверить предпросмотр по подписанной ссылке.
3. Выставить статус и дату публикации.
4. Проверить ленту, карту сайта и канонический адрес.
## Нельзя
- Менять дату публикации, если правится только текст черновика.
- Публиковать без проверки внутренних ссылок.
## Проверка
Пост открывается по публичному адресу, есть в ленте и в карте сайта.Двадцать четыре строки вместе с фронтматтером. Из них по-настоящему важна одна: описание.
Описание решает всё
Тело скилла читается после того, как скилл подключился. Подключается он по описанию.
Плохое описание: «Про публикацию контента». Это название темы, условия срабатывания в нём нет.
Хорошее описание отвечает на вопрос «когда это использовать» и содержит слова, которыми вы формулируете задачу: «статья», «публикация», «лента», «карта сайта».
Проверка: подставьте описание в предложение «используй это, когда…». Если получается осмысленно — годится.
Сколько их должно быть
На первом проекте — два-три. Не больше.
Скиллы, которые я советую завести первыми, если процедуры действительно повторяются: публикация или развёртывание, создание типового элемента (ресурс админки, модуль, компонент), проверка перед отправкой.
Чего не советую заводить сразу: скилл про «стандарты разработки». Он будет пересказывать общие практики фреймворка, которые и так известны, и не добавит ничего. Такой скилл имеет смысл, только когда в нём записаны конкретные решения вашего проекта, а они появляются не в первый месяц.
Разрастётся набор сам. В блоге шестнадцать скиллов, и копились они с весны.
Стоимость
Про неё редко говорят: скилл надо поддерживать.
Мой скилл публикации весной описывал путь через админку. Потом путь изменился, а скилл — нет. Между этими двумя моментами он был не бесполезен, а вреден: уверенно описывал процедуру, которой больше нет.
Устаревший скилл хуже отсутствующего по той же причине, что и устаревшая документация: ему верят. Поэтому заводите скилл не когда «полезно бы», а когда цена отсутствия выше цены поддержки.
Для процедуры, которая применяется раз в квартал и каждый раз по-новому, дешевле не иметь скилла вовсе.
Отклонения
Проект на месяц. Не заводите скиллов вообще. Файла контекста на двадцать строк достаточно: за месяц ни одна процедура не повторится три раза, а поддерживать файлы придётся уже завтра.
Эксперимент или прототип. Та же логика. Плюс отдельный риск: в прототипе процедуры меняются каждую неделю, и записанная вчера завтра уже врёт.
Работа в одиночку без повторяющихся задач. Бывает, что каждая задача уникальна: исследование, разовые интеграции, разбор чужих систем. Тогда вместо скиллов полезнее копить формулировки вопросов — те самые списки для разведки. Они переносятся между задачами лучше процедур.
Команда. Порог смещается со «второго раза» на «первый раз, когда объяснили не себе, а коллеге». То, что вы держите в голове, для команды не существует. При этом скилл в команде — уже общий документ, и его придётся согласовывать, так что пишите короче, чем хочется.