JavaRush /Курсы /Claude code /Custom skills как workflow assets

Custom skills как workflow assets

Claude code
9 уровень , 2 лекция
Открыта

1. Повторяемый prompt начинает мешать

Обычно всё начинается очень безобидно. Один раз удачно сформулировали запрос. Второй — скопировали из заметок. Третий — сохранили в final_prompt.md с припиской «не удалять, это важно». И в какой-то момент становится ясно: это уже не разовая реплика, а процедура, кочующая между людьми и сессиями.

Посмотрите на три похожих запроса:

Прочитай issue и оформи task spec: цель, scope, non-goals, критерии приёмки.

Разбери баг-тикет и подготовь TASK_SPEC.md. Код пока не меняй. Нужны риски и проверка.

Посмотри входящий issue, задай уточняющие вопросы и преврати его в планируемую задачу с планом проверки.

Снаружи кажется, что это три разных запроса. Внутри — одно: взять сырой issue и превратить в структурированный вход. И как только схема повторяется, память уже не помогает, а мешает. Забыли non-goals. Не попросили план проверки. Не проговорили «код пока не менять».

Skill появляется не ради чувства продвинутости. Он нужен ровно здесь: когда повторяемый prompt перестал быть шпаргалкой и стал неоформленным куском командной памяти.

2. Skill не заменяет CLAUDE.md и не дублирует rule

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

Механизм Когда использовать Что он хранит Чего от него не стоит ждать
Prompt
Разовая задача Сиюминутную формулировку Повторяемости и командного стандарта
CLAUDE.md
Постоянные правила проекта Общие договорённости, команды, границы Выполнения пошаговой процедуры по запросу
Rule
Правило для части проекта Локальное ограничение по файлам/папкам Полноценного workflow
Skill
Повторяемая процедура Триггер, шаги, результат, ограничения Глобального правила «всегда и везде»

Если присмотреться, CLAUDE.md и rule держат постоянные ограничения: первое — на весь проект, второе — на конкретную зону. Prompt живёт одну задачу. Skill — там, где нужно одинаково воспроизводить процедуру с узнаваемым входом и выходом: превращать issue в TASK_SPEC.md без ухода в реализацию.

Если у вас есть фраза «не трогай .env» — это правило. «Всегда показывай tests run» — общее ожидание проекта. Skill начинается там, где появляется последовательность действий и проверяемый результат.

3. Признаки того, что prompt пора повышать до skill

Как только эта граница стала ясной, вопрос сразу становится практическим: пора ли вообще оформлять процедуру как skill или она ещё слишком расплывчата? Рабочий ответ простой: skill стоит делать, когда у процедуры уже есть повторяемый вход, понятный выход и способ проверки. И здесь легко впасть в две крайности: копировать всё руками, пока не накопится кладбище одинаковых текстов, — или повышать до skill любой удачный запрос и получить гараж, где лежит всё, а найти нельзя ничего.

Здесь полезно смотреть на четыре признака. Не как на бюрократический чек-лист, а как на здравый смысл.

Вопрос к процедуре Если ответ «да» Если ответ «нет»
Вы повторяете её по одной и той же схеме? Это хороший кандидат в skill Скорее всего, пока это обычный prompt
У процедуры есть понятный вход? Skill будет предсказуемым Значит, процесс ещё слишком размыт
У процедуры есть понятный выход? Skill можно проверять Получится «поболтай с Claude», а не workflow
Результат можно верифицировать? Skill будет инженерным артефактом Без проверки он останется красивым текстом

Разберём это на простом примере «да». Три раза за неделю разбирали баг-тикеты и хотели один и тот же артефакт — TASK_SPEC.md с goal, scope, non-goals, constraints и планом проверки. Вход — issue-текст и пара ссылок на файлы. Выход стабилен, вход стабилен, итоговый файл вы читаете и проверяете. Готовый кандидат.

А теперь противоположный пример «нет». Допустим, вы «иногда просите Claude помочь подумать про архитектуру». Звучит похоже на процедуру, но каждый раз другой контекст, масштаб и тип результата: где список рисков, где сравнение вариантов, где просто обсуждение. Упакуете в один skill — получите универсальный ключ, который ни одну дверь нормально не открывает.

Есть ещё один важный маркер-обманка: если вы каждый раз переписываете половину исходного запроса, это не «skill нужен срочно». Чаще устойчивой процедуры ещё нет — а skill не маскирует неопределённость, он работает там, где процедура устоялась.

Можно запомнить очень приземлённое правило: если prompt кочует между вами и коллегами чаще, чем пароль от офисного Wi‑Fi, пора задуматься о skill. Формулировка не академическая, зато запоминается.

4. Skill — это маленький инженерный контракт

Фраза «reusable workflow asset» звучит немного пафосно, а по сути всё довольно просто: skill отвечает на пять базовых вопросов. Когда использовать? Что подать на вход? Что считать готовым результатом? Что делать нельзя? Как проверить, что сработало?

Вот минимальная форма такой логики:

# issue-analysis

Когда использовать: когда входящий issue нужно превратить в структурированный TASK_SPEC.md
Вход: текст issue, ссылки на релевантные файлы, при необходимости логи
Результат: заполненный TASK_SPEC.md
Нельзя: начинать реализацию, менять код, расширять scope без причины
Проверка: в спецификации есть цель, границы, критерии приёмки и план проверки

Обратите внимание: здесь ни метаданных, ни полей, ни настроек вызова — и это нормально. Если вы не можете человеческим языком объяснить, когда применять навык, какой у него вход и выход, никакой красивый SKILL.md вас не спасёт.

Есть полезная аналогия с функцией в коде. Её отличает не имя, а контракт: входы, выход, побочные эффекты, ограничения. Со skill так же — только вместо суммы вы получаете рабочий результат.

Именно поэтому skill нельзя проектировать как «огромный текст на все случаи жизни». Инструкции, чек-лист, шаблон, пара примеров — всё обслуживает одну процедуру. Засунете туда анализ, реализацию, ревью и обновление документации — навык станет маленьким театром одного актёра, который делает всё сразу и потому всё средне.

В хорошей команде skill начинают рассматривать почти как код: у него есть владелец, его можно открыть, обсудить, улучшить.

5. Skill issue-analysis для Commerce OS

Теперь давайте приземлим всё это на наш сквозной проект. Есть Workflow Kit как мета-проект и Commerce OS как рабочая кодовая база, куда прилетают баги, фичи и мелкие задачи. Одна из самых повторяемых процедур — разбор входящего issue до начала кодинга.

flowchart LR
    A[Входящий issue] --> B[Навык issue-analysis]
    B --> C[TASK_SPEC.md]
    C --> D[Проверяемый план работы]

Здесь важен не синтаксис вызова и не расположение папок, а контракт результата: на входе сырой issue, на выходе проверяемый TASK_SPEC.md. Воспроизводится одинаково — значит, это не удачный prompt, а reusable workflow.

Возьмём пример issue из Commerce OS. Допустим, поддержка жалуется, что refund-запросы в inbox показываются не по порядку. Сырой текст:

Баг: в support inbox refund-запросы иногда отображаются не по времени поступления.
Симптом: оператор видит более старые заявки выше новых.
Ожидание: новые refund-запросы должны быть сверху.
Важно: не менять весь workflow refund approval.

Результат может начинаться так:

## Цель
Исправить сортировку refund-запросов в support inbox так, чтобы новые заявки отображались выше старых.

## Область изменений
Модули inbox и связанные тесты сортировки.

## Не-цели
Не менять логику refund approval и бизнес-правила обработки возвратов.

## Проверка
Проверить тесты inbox и ручной сценарий сортировки на новых и старых заявках.

Этого примера уже достаточно, чтобы увидеть, зачем нужен skill. У человека — документ, который можно посмотреть до реализации. У Claude — чёткая граница. У команды — повторяемый стандарт.

Именно здесь важно понимать: ценность skill в том, что он вовремя останавливается. Полезет issue-analysis редактировать код — смешает несколько процессов; проверять такую смесь сложнее. Поэтому хорошая первая версия скромная. Скромно? Да. Полезно? Очень. И воспроизводимо.

В этом месте особенно хорошо видно, как skill опирается на пройденный материал курса. Он не изобретает методику — упаковывает знакомые вещи: цель, current vs desired behavior, scope, non-goals, критерии приёмки, план проверки.

6. Уровни жизни skill в Workflow Kit

Последний важный вопрос — уровень жизни навыка. Потому что один и тот же skill по смыслу бывает личной шпаргалкой, проектным стандартом или общим командным активом. И это разные режимы зрелости.

Где живёт skill Для кого он полезен Когда это разумно
Личный scope Только для вас Вы экспериментируете и ещё не уверены в процедуре
Scope проекта Для команды одного репозитория Процедура устойчива и реально повторяется в проекте
Общий командный набор Для нескольких проектов Паттерн одинаково нужен в нескольких кодовых базах

Если вы только пробуете новую идею — не тащите её сразу в общий Workflow Kit. Это примерно как коммитить в main первый попавшийся черновик. Сначала навык доказывает, что экономит время и стабилизирует результат, — потом идёт на уровень проекта и на review.

Очень полезно помнить и обратную сторону. Не каждый повторяющийся текст заслуживает жизни в репозитории. Иногда достаточно обновить CLAUDE.md, иногда логичнее локальный rule, иногда честнее оставить обычный prompt. Workflow Kit силён не количеством артефактов, а тем, что каждый отвечает на реальную, повторяющуюся боль.

И вот здесь skill внезапно становится не удобством, а элементом командной культуры. Вместо «спросите у Пети, у него хороший prompt» команда получает открываемый, проверяемый и улучшаемый навык. Не личная магия, а общая инженерная память. А когда такие кусочки памяти собираются в одном месте, Workflow Kit перестаёт быть папкой «что-то про Claude» и становится настоящим рабочим инструментом.

1
Задача
Claude code, 9 уровень, 2 лекция
Недоступна
Минимальный skill skeleton без сложного frontmatter
Минимальный skill skeleton без сложного frontmatter
1
Задача
Claude code, 9 уровень, 2 лекция
Недоступна
Решение: пора ли повышать prompt до skill
Решение: пора ли повышать prompt до skill
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ