Skills стали одной из самых популярных точек расширения в Claude Code. Они гибкие, их легко создавать и распространять.

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

Мы в Anthropic активно используем skills в Claude Code — сейчас у нас их сотни в работе. Ниже — уроки, которые мы извлекли из этого опыта.

Что такое skills?

Если вы только начинаете, рекомендую прочитать документацию или посмотреть наш новый курс на Skilljar по Agent Skills. Дальше в тексте предполагается базовое знакомство с темой.

Частое заблуждение: skills — это «просто markdown-файлы». На самом деле самое интересное в них то, что это не просто текстовые файлы. Это папки, которые могут содержать скрипты, ассеты, данные и т.д. Агент может их обнаруживать, исследовать и использовать.

В Claude Code у skills также есть множество опций конфигурации, включая регистрацию динамических hooks. Самые интересные skills используют эти опции и структуру папок нестандартно.

Типы skills

Проанализировав все наши skills, мы заметили, что они группируются в несколько повторяющихся категорий. Лучшие skills чётко попадают в одну из них; те, что размываются между несколькими, обычно вызывают путаницу. Это не исчерпывающий список, но он помогает оценить, чего вам может не хватать в организации.

1. Справочники по библиотекам и API

Skills, которые объясняют, как правильно использовать библиотеку, CLI или SDK. Могут относиться как к внутренним библиотекам, так и к пу��личным, с которыми у Claude Code бывают трудности. Обычно содержат папку с примерами кода и список типичных ошибок.

Примеры: billing-lib (ваша внутренняя библиотека биллинга: крайние случаи, подводные камни), internal-platform-cli (все подкоманды вашего CLI с примерами), frontend-design (улучшение работы Claude с вашей дизайн-системой).

2. Верификация продукта

Skills, описывающие, как тестировать и проверять работоспособность кода. Часто используются в связке с внешними инструментами вроде Playwright, tmux и т.д.

Верификационные skills крайне полезны для контроля корректности. Может быть оправдано выделить инженера на неделю, чтобы довести их до совершенства.

Полезные техники: запись видео выходных данных Claude для визуальной проверки, программные assertions на каждом шаге. Для этого в skill обычно включают набор скриптов.

Примеры: signup-flow-driver (прогон signup → подтверждение email → онбординг в headless-браузере с assertions на каждом шаге), checkout-verifier (прогон UI оплаты с тестовыми картами Stripe, проверка состояния инвойса), tmux-cli-driver (интерактивное тестирование CLI, где нужен TTY).

3. Получение и анализ данных

Skills, подключающиеся к вашим стекам данных и мониторинга. Могут содержать библиотеки для получения данных с учётными данными, идентификаторы дашбордов, инструкции по типичным рабочим процессам.

Примеры: funnel-query (какие события нужно соединить, чтобы увидеть signup → активацию → оплату, плюс таблица с каноническим user_id), cohort-compare (сравнение retention/конверсии двух когорт с отметкой статистически значимых отклонений), grafana (UID источников данных, имена кластеров, таблица соответствия проблем и дашбордов).

4. Бизнес-процессы и командная автоматизация

Skills, автоматизирующие повторяющиеся рабочие процессы. Обычно это достаточно простые инструкции, но они могут зависеть от других skills или MCP. Для таких skills полезно сохранять результаты прошлых запусков в лог-файлах — это помогает модели быть последовательной и учитывать предыдущий контекст.

Примеры: standup-post (агрегирует данные из трекера задач, GitHub-активности и Slack → форматированный стендап, только изменения), create-ticket (применяет схему: допустимые enum-значения, обязательные поля, плюс пост-действия: пинг ревьюера, ссылка в Slack), weekly-recap (объединённые PR + закрытые тикеты + деплои → форматированный итог недели).

5. Шаблоны и скаффолдинг кода

Skills для генерации фреймворк-бойлерплейта под конкретную функцию в кодовой базе. Их можно комбинировать с компонуемыми скриптами. Особенно полезны, когда скаффолдинг включает требования на естественном языке, которые нельзя покрыть одним кодом.

Примеры: new-workflow (скаффолдинг нового сервиса/воркфлоу/хендлера с аннотациями), new-migration (шаблон файла миграции и типичные ошибки), create-app (новое внутреннее приложение с предварительно настроенными авторизацией, логированием и конфигурацией деплоя).

6. Качество кода и код-ревью

Skills, обеспечивающие качество кода в организации и помогающие с ревью. Могут включать детерминированные скрипты или инструменты для максимальной надёжности. Их можно запускать автоматически через hooks или в GitHub Actions.

Примеры: adversarial-review (запускает подагента для критики «свежим взглядом», применяет исправления, итерирует, пока замечания не деградируют до мелочей), code-style (обеспечивает стиль кода, особенно тот, который Claude по умолчанию соблюдает плохо), testing-practices (инструкции по написанию тестов и выбору того, что тестировать).

7. CI/CD и деплой

Skills для получения, отправки и развёртывания кода. Могут ссылаться на другие skills для сбора данных.

Примеры: babysit-pr (мониторит PR → повторяет flaky CI → решает merge-конфликты → включает auto-merge), deploy-service (сборка → smoke-тест → постепенный переход трафика с сравнением error rate → автоматический откат при регрессии), cherry-pick-prod (изолированный worktree → cherry-pick → разрешение конфликтов → PR по шаблону).

8. Ранбуки

Skills, которые принимают симптом (тред в Slack, алерт, сигнатура ошибки), проводят расследование с помощью нескольких инструментов и формируют структурированный отчёт.

Примеры: service-debugging (сопоставляет симптомы с инструментами и паттернами запросов для ваших самых нагруженных сервисов), oncall-runner (получает алерт → проверяет типичных подозреваемых → формирует отчёт), log-correlator (по request ID подтягивает совпадающие логи из всех систем, которые могли обработать запрос).

9. Инфраструктурные операции

Skills для рутинных задач обслуживания и операционных процедур. Некоторые из них включают деструктивные действия, которым полезны предохранители. Упрощают следование лучшим практикам при критических операциях.

Примеры: resource-orphans (находит осиротевшие pods/volumes → публикует в Slack → период ожидания → подтверждение пользователя → каскадная очистка), dependency-management (ваш внутренний процесс одобрения зависимостей), cost-investigation (почему вырос счёт за storage/egress — с конкретными бакетами и паттернами запросов).

Советы по созданию skills

Определившись с типом skill, возникает следующий логичный вопрос: "А как его написать?". Вот лучшие практики, к которым мы пришли.

Мы также недавно выпустили Skill Creator для упрощения создания skills в Claude Code.

Не пишите очевидное

Claude Code много знает о вашей кодовой базе, а Claude в целом хорошо разбирается в коде, включая многие стандартные подходы. Если ваш skill в первую очередь про знания, сфокусируйтесь на информации, которая выводит Claude за рамки привычного мышления.

Хороший пример — skill frontend design. Его создал один из инженеров Anthropic, итеративно работая с пользователями над улучшением дизайн-вкуса Claude, чтобы избежать классических паттернов вроде шрифта Inter и фиолетовых градиентов.

Соберите раздел «подводные камни»

Самый ценный контент в любом skill — раздел с типичными ошибками (Gotchas). Он должен формироваться на основе реальных проблем, с которыми Claude сталкивается при использовании вашего skill. В идеале вы будете обновлять skill со временем, добавляя новые.

Используйте файловую систему и постепенное раскрытие информации

Skill — это папка, а не просто markdown-файл. Воспринимайте всю файловую систему как инструмент context engineering и постепенного раскрытия. Укажите Claude, какие файлы есть в вашем skill, и он прочитает их в подходящий момент.

Простейшая форма — ссылки на другие markdown-файлы. Например, детальные сигнатуры функций и примеры использования можно вынести в references/api.md. Другой пример: если конечный результат — markdown-файл, можно включить шаблон в assets/ для копирования.

Папки со справочниками, скриптами и примерами помогают Claude работать эффективнее.

Не загоняйте Claude в жёсткие рамки

Claude обычно старается следовать инструкциям, и поскольку skills многократно переиспользуются, слишком конкретные указания бывают вредны. Давайте Claude нужную информацию, но оставляйте гибкость для адаптации к ситуации.

Продумайте начальную настройку

Некоторым skills нужен контекст от пользователя на старте. Например, skill для публикации стендапа в Slack должен знать, в какой канал отправлять.

Хороший паттерн — хранить настройки в config.json внутри директории skill. Если конфиг не заполнен, агент спросит пользователя.

Если нужно показать структурированные вопросы с вариантами ответов, можно указать Claude использовать инструмент AskUserQuestion.

Поле description — для модели

При старте сессии Claude Code собирает список всех доступных skills с их описаниями. По этому списку Claude решает: «есть ли skill для этого запроса?» Поле description — это не резюме. Это описание условий, при которых skill должен срабатывать.

Память и хранение данных

Некоторые skills могут иметь форму памяти, сохраняя данные внутри себя. Это может быть что угодно — от append-only текстового лога или JSON-файлов до SQLite-базы.

Например, skill standup-post может вести standups.log со всеми опубликованными стендапами, и при следующем запуске Claude прочитает свою историю и определит, что изменилось со вчерашнего дня.

Данные в директории skill могут быть удалены при обновлении, поэтому лучше хранить их в стабильной папке. Сейчас мы предоставляем ${CLAUDE_PLUGIN_DATA} как стабильную директорию для каждого плагина.

Храните скрипты и генерируйте код

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

Например, в data science skill может быть библиотека функций для получения данных из вашего event source.

Для сложного анализа можно дать Claude набор хелперов, и он будет генерировать скрипты на лету, компонуя эти функции для промптов вроде «Что произошло во вторник?»

Хуки по требованию

Skills могут включать hooks, которые активируются только при вызове skill и действуют до конца сессии. Используйте это для опционных hooks, которые не нужны постоянно, но иногда крайне полезны.

Примеры: /careful — блокирует rm -rf, DROP TABLE, force-push, kubectl delete через PreToolUse matcher на Bash (нужен только при работе с продом — держать постоянно включённым было бы невыносимо), /freeze — блокирует любые Edit/Write вне указанной директории (полезно при отладке, когда хочется добавить логи, но не исправлять случайно что-то лишнее).

Распространение skills

Одно из главных преимуществ skills — возможность делиться ими с командой.

Два основных способа: закоммитить skills в репозиторий (в ./.claude/skills) или создать плагин и использовать маркетплейс плагинов Claude Code, где пользователи могут загружать и устанавливать плагины (подробнее в документации).

Для небольших команд, работающих с немногими репозиториями, коммит skills в репо работает хорошо. Но каждый закоммиченный skill немного увеличивает контекст модели. При масштабировании внутренний маркетплейс плагинов позволяет распространять skills и давать команде выбор, что устанавливать.

Управление маркетплейсом

Как решить, какие skills попадают в маркетплейс? Как их предлагать?

У нас нет централизованной команды для таких решений. Мы находим полезные skills органически. Если у вас есть skill, который хотите предложить коллегам, загрузите его в sandbox-папку на GitHub и по��елитесь ссылкой в Slack или на форумах.

Когда skill набирает популярность (это решает автор skill), можно создать PR для переноса в маркетплейс.

Предупреждение: создать плохие или дублирующие skills довольно легко, поэтому какой-то механизм курирования перед релизом важен.

Композиция skills

Иногда skills зависят друг от друга. Например, skill загрузки файлов и skill генерации CSV, который создаёт CSV и загружает его. Управление зависимостями пока не встроено в маркетплейсы и skills, но можно ссылаться на другие skills по имени — модель вызовет их, если они установлены.

Измерение skills

Для оценки использования skills мы применяем PreToolUse hook, который логирует использование skills внутри компании (пример кода). Такой подход позволяет находить популярные skills или те, которые срабатывают реже ожидаемого.

Заключение

Skills — мощный и гибкий инструмент для агентов, но мы все ещё на раннем этапе и вместе разбираемся, как их лучше использовать.

Воспринимайте этот текст скорее как набор работающих советов, а не как окончательное руководство. Лучший способ разобраться в skills — начать, экспериментировать и смотреть, что подходит вам. Большинство наших skills начинались с нескольких строк и одного «подводного камня», а улучшались потому, что люди дополняли их по мере того, как Claude натыкался на новые граничные случаи.

Русскоязычное сообщество про AI в разработке

Друзья! Перевод этой статьи подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-агентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!