Правильный подход к использованию Skill: 5 размышлений после публикации методологии Anthropic

marsbitОпубликовано 2026-06-08Обновлено 2026-06-08

Введение

Автор делится размышлениями о методологии создания эффективных «навыков» (Skills) для языковых моделей, таких как Claude Code, основываясь на внутренней документации компании Anthropic. Ключевые выводы: 1. **Избегайте лишнего:** Навык должен содержать не общеизвестные факты, а специфические знания и «подводные камни» (Gotchas) из опыта команды — например, особенности работы с конкретными API или базами данных. 2. **Инженерия контекста:** Навык — это не просто файл, а структурированная папка (с инструкциями, справочниками, скриптами, примерами и активами). Такой подход позволяет дозированно загружать в контекст модели только необходимую информацию, экономя ресурсы и повышая качество выполнения. 3. **Используйте скрипты:** Повторяющиеся действия (запросы данных, преобразования) следует выносить в скрипты. Это освобождает модель от рутины, повышает точность и экономит токены, оставляя её способности для анализа и принятия решений на основе инструкций (опыта). 4. **Описание — это правило маршрутизации:** Описание навыка должно формулировать, *в какой ситуации* его следует активировать (например, «когда CI-пайплайн не проходит»), а не просто перечислять его функции. Это помогает модели точнее выбирать нужный инструмент. 5. **Управление и распространение:** При росте числа навыков эффективна модель «рынка» (Marketplace). Новые навыки сначала тестируются и распространяются внутри малых групп. Те, что доказали свою полезность и популярность, попадают в официальный каталог. ...

Автор: AI 产品阿颖

Прочитал блог команды Anthropic "Lessons from building Claude Code: How we use skills". Это, пожалуй, самое глубокое практическое резюме по теме Skill, которое я видел на данный момент.

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

Помню, когда Skill только набирали популярность, все очень любили создавать различные стилистические Skill, Skill для письма. Казалось, достаточно вставить свой стиль письма, и модель стабильно будет выводить текст в этом стиле.

Но позже я сам попробовал и обнаружил, что во многих случаях это просто не работает.

Потому что один стилистический Skill может содержать несколько тысяч или даже десятки тысяч символов. При загрузке Skill контекст занимает большую часть. Когда контекст перегружен, способность модели к анализу, наоборот, снижается.

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

Еще одна распространенная ситуация.

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

Позже я постепенно понял, что многие такие повторяющиеся задачи лучше подходят для оформления в виде Script (скрипта), а не написания длинных Instructions (инструкций).

После прочтения этой статьи от Anthropic, мое главное впечатление — многие на самом деле используют Skill, но не обязательно их действительно понимают.

По своей сути Skill — это Context Engineering (инженерия контекста). Когда следует помещать знания в Skill, когда следует разбивать на References (ссылки/справочники), когда следует писать Script, когда использовать Gotchas для ограничения модели — в этом есть много опыта.

Поняв принцип работы Skill и оглянувшись на те из них, что работают хорошо, обнаруживаешь, что они решают вовсе не проблему промптов (подсказок), а проблемы контекста, накопления опыта и повторного использования возможностей.

Если вы хотите глубоко изучить Skill, особенно рекомендую две статьи:

https://claude.com/blog/lessons-from-building-claude-code-how-we-use-skills

https://research.perplexity.ai/articles/designing-refining-and-maintaining-agent-skills-at-perplexity

#01 Не пишите лишнего

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

В Anthropic часто подчеркивают, что в Skill действительно нужно записывать Gotchas, то есть типичные подводные камни.

Например:

1. Эту таблицу нельзя сортировать по created_at

2. Возврат 200 от staging не означает успех

3. request_id и trace_id — это одно и то же

Потому что такая информация часто существует только в опыте сотрудников. Поэтому важно помнить, в чем суть Skill.

Skill = запись опыта мастера.

Через Skill можно систематизировать опыт, разбросанный в головах разных людей.

#02 Skill — это на самом деле Context Engineering

Это, пожалуй, одна из самых глубоких идей Anthropic.

Skill — это не markdown-файл, а папка. Для тех, кто пользовался Skill, это звучит как банальность.

Но, размышляя последние пару дней, я постепенно осознал: именно формой папки они хотят выразить концепцию Context Engineering.

Давайте снова посмотрим на типичную структуру Skill:

skill/ ├── SKILL.md ├── references/ размещаем подробные описания, API-справочники, граничные условия ├── scripts/ размещаем исполняемые скрипты ├── examples/ размещаем примеры ├── assets/ размещаем шаблоны, изображения, фиксированные материалы

При вызове определенного Skill модель сначала читает SKILL.md. Если мы запихнем всю информацию в этот файл, очень скоро произойдет перегрузка контекста.

Предположим, это Skill для устранения неполадок платежей, содержащий объяснения кодов ошибок Stripe, примеры прошлых инцидентов, скрипты для проверки и шаблоны итоговых отчетов.

Если все это свалить в SKILL.md, каждый раз при вызове Skill Клоду придется перечитывать это заново.

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

А подход Anthropic совершенно иной.

SKILL.md больше похож на навигационную страницу. Его задача — сообщить модели, что при возникновении ошибки Stripe нужно искать соответствующее объяснение в references.

Когда нужны примеры из прошлого — смотреть аналогичные случаи в examples. Когда нужно выполнить действия по проверке — запускать скрипты из scripts. При создании отчета об устранении неполадок — использовать шаблоны из assets.

Весь процесс — это постепенное раскрытие информации.

Настоятельно рекомендую сохранить следующую картинку.

#03 По возможности используйте скрипты

Не заставляйте модель тратить ограниченный контекст и вычислительные ресурсы на рутинную работу. Поручите эти задачи скриптам.

Пример. Многие при написании Skill пишут так:

1. Запросить данные о регистрациях; 2. Запросить данные об оплатах; 3. Рассчитать конверсию; 4. Проанализировать причины аномалий.

Такой подход, конечно, возможен. Модель тоже справится. Но каждый раз при выполнении ей придется заново проходить весь аналитический процесс.

Запрос данных, их организация, обработка различных граничных случаев — все это повторяющаяся работа.

Раз эти возможности уже были проверены множество раз. Зачем заставлять модель изобретать их заново? Лучше предоставить конкретные скрипты.

Кроме того, использование скриптов делает выполнение Skill более точным и экономит токены.

С этой точки зрения Scripts в Skill фактически накапливают организационные возможности. За каждым скриптом часто стоит лучшая практика, выстраданная командой после множества ошибок.

После того, как эти возможности закреплены, Клод каждый раз может работать, опираясь на этот опыт, а не начинать с нуля снова и снова.

Поэтому я все больше чувствую, что в Skill Instructions и Scripts решают задачи на разных уровнях.

Instructions предоставляют опыт и суждения, Scripts предоставляют возможности и выполнение.

Например, в Skill для устранения неполадок платежей может быть такая запись:

Если Stripe возвращает 200, не думайте сразу, что платеж успешен, нужно дополнительно проверить таблицу payment_events.

Это относится к Instructions. Потому что это опыт. А check_payment_events() относится к Script, потому что это исполнительная способность.

Если есть только Script, модель знает, как проверить, но не обязательно знает, почему нужно проверять.

Если есть только Instructions, модель знает, что нужно проверить. Но каждый раз ей придется заново реализовывать проверку. Оба компонента необходимы.

#04 Description больше похож на правило маршрутизации

Многие люди изначально неправильно пишут Description (описание) Skill.

Потому что все привыкли писать его как описание функционала. Например: Skill управления PR помогает пользователю отслеживать статус PR, обрабатывать проблемы CI, автоматически выполнять Merge.

Но проблема в том, что модель ищет Skill не по функционалу. При запуске Claude Code сначала сканирует названия и описания всех Skill.

Затем, исходя из текущего вопроса пользователя, определяет, какой Skill следует загрузить.

Поэтому самая важная информация в Description — не то, что умеет этот Skill, а в какой ситуации его следует загружать.

Description фактически выполняет работу маршрутизации для всего Skill.

В реальном мире мало кто говорит: «Помоги мне вызвать инструмент управления PR». Скорее скажут: «Помоги отследить этот PR», «CI снова упал» и тому подобное.

Поэтому хорошее Description должно по возможности описывать намерение пользователя, а не перечислять функции.

Я даже думаю, что можно использовать очень простой метод проверки.

После написания Description удалите весь Skill, оставив только эту строку Description. Затем спросите себя: сможет ли модель, увидев вопрос пользователя, понять, когда нужно загрузить этот Skill.

Если нет, то, скорее всего, его еще нужно доработать.

#05 Управление и распространение Skill

Еще один момент касается управления Skill.

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

Когда Skill из нескольких превращаются в десятки или даже сотни, как ими управлять? Как обновлять? Как распространять среди членов команды?

Опыт Anthropic в этом отношении, на мой взгляд, весьма достоин внимания.

Когда команда небольшая, Skill напрямую следуют за репозиторием кода. Достаточно поместить их в каталог .claude/skills проекта. Все используют один и тот же набор Skill и один и тот же рабочий метод.

Но по мере роста количества Skill возникает новая проблема.

При запуске Claude Code сканирует названия и описания всех Skill, а затем определяет, какой Skill следует вызвать для текущей задачи. Чем больше Skill, тем выше стоимость маршрутизации.

Именно поэтому Anthropic позже начали создавать Marketplace. Но что еще интереснее, так это их подход к управлению Marketplace.

Многие компании, столкнувшись с такой проблемой, первой реакцией часто является создание процесса утверждения. Кто написал Skill — сначала подает заявку; после проверки и одобрения Skill попадает в официальную библиотеку. Мы внутри компании тоже так делали, но это очень громоздко. Управление ради управления.

Я обнаружил, что подход Anthropic очень гибкий.

Пусть новый Skill сначала распространяется в небольшом кругу, пусть коллеги сами устанавливают, сами пробуют.

Если пользователей становится все больше, значит, этот Skill действительно решает какую-то реальную проблему. На этом этапе автор может отправить его в официальный Marketplace.

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

Связанные с этим вопросы

QЧто, по мнению автора статьи, является самой распространённой ошибкой при создании Skills, связанной с описанием (Description)?

AСамая распространённая ошибка в том, что Description пишут как описание функциональности (что Skill делает), а не как правило маршрутизации. Description должен отвечать на вопрос «в какой ситуации следует загружать этот Skill?», описывая намерения пользователя (например, «помоги проверить этот PR», «CI снова упал»), а не перечислять возможности (например, «управление PR, решение проблем CI»).

QКакая ключевая идея подхода Anthropic к структуре Skill, позволяющая избежать «взрыва контекста»?

AКлючевая идея — рассматривать Skill не как один Markdown-файл, а как папку (контекстный инжиниринг). Основной файл SKILL.md служит навигационной страницей, которая указывает модели, где искать конкретную информацию (в подпапках references, examples, scripts, assets). Это позволяет постепенно раскрывать контекст по мере необходимости, а не загружать всю информацию разом, экономя токены и вычислительные ресурсы модели.

QСогласно статье, какие два типа знаний/компонентов должны сочетаться в эффективном Skill, и какова роль каждого?

AВ эффективном Skill должны сочетаться Instructions (инструкции/знания) и Scripts (скрипты). Instructions содержат опыт и критически важные знания, «подводные камни» (Gotchas), объясняя модели, «что делать и почему» (например, «если Stripe возвращает 200, это не всегда означает успех»). Scripts предоставляют готовые, проверенные возможности для выполнения повторяющихся задач, решая вопрос «как это сделать», экономя токены и обеспечивая точность. Оба компонента необходимы для сочетания экспертизы и эффективного исполнения.

QКак Anthropic предлагает решать проблему управления и распространения Skills в команде по мере их роста?

AAnthropic предлагает лёгкий, эволюционный подход. На начальном этапе Skills хранятся в общем каталоге проекта (.claude/skills). Когда количество Skills растёт, новые Skills сначала распространяются и тестируются неформально в малых группах. Только те Skills, которые доказали свою полезность и получили органическое распространение среди коллег, затем попадают в официальный Marketplace. Таким образом, система отбора основана на реальном использовании и потребностях команды, а не на тяжёлых бюрократических процессах утверждения.

QПочему, согласно статье, попытки создать Skill для определённого стиля письма (например, авторского) часто терпят неудачу?

AТакие попытки часто терпят неудачу, потому что для описания стиля требуется загружать в контекст огромные объёмы текста (тысячи или десятки тысяч знаков). Это приводит к «перегрузке контекста»: модель тратит значительную часть своих вычислительных ресурсов и ограниченного окна контекста на обработку этих данных. В результате, хотя модель может перенять стиль, её аналитические способности и глубина содержания часто снижаются («содержание становится поверхностным, аналитические способности слабеют»).

Похожее

Банк Италии не увидел системных преимуществ стейблкоинов в переводах

Исследование Банка Италии показало, что стейблкоины (на примере USDC) не демонстрируют устойчивых системных преимуществ в стоимости и скорости международных денежных переводов по сравнению с традиционными сервисами. Анализ транзакций на 200 USDC в 10 платежных коридорах (Италия — Бразилия, Аргентина, Япония, ОАЭ, ЮАР и др.) выявил, что финальная стоимость переводов варьировалась от 0,3% до почти 9%. Сроки исполнения колебались от менее 20 минут в коридорах с инфраструктурой мгновенных платежей до 1-2 рабочих дней в ее отсутствие. Ключевые издержки и задержки связаны не с комиссиями блокчейна, а с процессами конвертации в фиатные валюты и работой локальных платежных систем. Хотя в большинстве изучных направлений стоимость переводов со стейблкоинами была ниже среднемирового показателя в 6,65%, по сравнению с сервисом Wise преимущество наблюдалось только в трех из семи сопоставимых случаев. Авторы отмечают, что преимущества стейблкоинов могли бы быть более заметны, если бы их можно было напрямую тратить без конвертации. Также подчеркивается, что запретительное регулирование не устраняет спрос на стейблкоины, а излишне жесткие правила лишь усложняют их использование для розничных клиентов. В контексте исследования упоминается значительное снижение общей капитализации рынка стейблкоинов в июле.

cryptonews.ru8 мин. назад

Банк Италии не увидел системных преимуществ стейблкоинов в переводах

cryptonews.ru8 мин. назад

«Биткойн-бум» в разгаре: новое заявление Сэйлора вызвало спекуляции о покупках

Исполнительный председатель MicroStrategy Майкл Сэйлор 2 августа опубликовал сообщение «Bitcoin Drive engaged», что вызвало спекуляции о новой покупке биткойнов компанией. Его отчет показал, что резерв MicroStrategy составляет 843 775 BTC стоимостью около $53,25 млрд, со средней себестоимостью $75 653 и нереализованным убытком в $10,58 млрд. Ранее аналогичный сигнал предшествовал объявлению о пополнении долларового резерва. В то же время, реестр компании отразил две недавние продажи на общую сумму 3 588 BTC, сократив запасы. Эти продажи, согласно документам SEC, были проведены для финансирования выплат по привилегированным акциям. Неделей ранее компания не покупала биткойны, увеличив свой долларовый резерв примерно до $3,75 млрд. Финансовые риски остаются высокими после отчетности об операционном убытке в $8,33 млрд за второй квартал 2026 года. Ожидается, что обновление данных в понедельник покажет, означает ли сообщение Сэйлора возврат к накоплению биткойнов, поскольку компания балансирует между своими крупными запасами криптовалюты и растущими денежными обязательствами.

cryptonews.ru9 мин. назад

«Биткойн-бум» в разгаре: новое заявление Сэйлора вызвало спекуляции о покупках

cryptonews.ru9 мин. назад

Паттерн на графике биткоина «голоса и плечи» сулит подъём к $67,200

Несмотря на медленное снижение в начале августа, на графике биткоина формируется перевёрнутая разворотная модель «голова и плечи». Цена $BTC колеблется около $63,200, формируя правое плечо, что является основным поводом для краткосрочного оптимизма. Ключевой вопрос — хватит ли покупателям сил для рывка к уровню $67,200 для подтверждения разворота. В то же время в паре ETH/BTC уже пробито разворотное дно. Ethereum демонстрирует относительную силу, закрепился в восходящем тренде и движется к цели 0,0312, а против доллара тестирует уровень $1875, открывая путь к $2163. Эта ротация капитала в пользу ETH лишает биткоин объёма, необходимого для быстрого роста. Таким образом, ситуация для биткоина остаётся напряжённой: либо он в ближайшие дни последует примеру Ethereum и осуществит быстрый рост выше $67,200, либо, если атака на «шею» паттерна не состоится, медведи возьмут контроль и отправят цену к уровням поддержки $60,000 и $58,000.

cryptonews.ru10 мин. назад

Паттерн на графике биткоина «голоса и плечи» сулит подъём к $67,200

cryptonews.ru10 мин. назад

Акции компаний, занимающихся искусственным интеллектом, торгуются как «мемокоины», в то время как биткоин практически не меняет цены — обзор недели

В еженедельном обзоре рассматривается волатильность на рынках, вызванная распродажей в секторе ИИ и проблемами крупного хедж-фонда «Situational Awareness», что привело к значительным падениям на азиатских фондовых рынках. Акцентируется внимание на макроэкономических факторах, включая политику ФРС и интервенции Банка Японии. В криптосфере обсуждаются закрытие бирж BitMart и банкротство Storj Labs, трудности компаний вроде Coinbase, а также действия MicroStrategy по наращиванию резервов. Поднимаются темы инсайдерской торговли на Hyperliquid и отключения малопопулярных активов в Aave. Отдельно выделяется энтузиазм венчурных инвесторов вокруг Bittensor ($TAO). Завершается обзор серьёзным предупреждением об уязвимости аппаратных кошельков Coldcard, призывая пользователей к немедленным действиям и повышенной бдительности при самохранении активов.

cryptonews.ru21 мин. назад

Акции компаний, занимающихся искусственным интеллектом, торгуются как «мемокоины», в то время как биткоин практически не меняет цены — обзор недели

cryptonews.ru21 мин. назад

Coinkite подвергся критике за хранение электронных писем клиентов после взлома Coldcard на сумму 88 млн долларов

Coinkite столкнулась с критикой из-за хранения электронных адресов клиентов после взлома, связанного с аппаратными кошельками Coldcard, в результате которого было похищено более 1000 BTC (свыше 88 млн долларов). Инцидент произошел из-за ошибки в генерации случайных сид-фраз. Чтобы предупредить пострадавших, компания отправила письма на адреса, связанные с покупками с 2019 года, что вызвало вопросы о хранении таких данных. Coinkite сослалась на свою политику, согласно которой электронные адреса сохраняются для возможности входа и проверки удаления остальной информации, но не указала сроки их хранения. Соучредитель компании Родольфо Новак подчеркнул, что Coinkite не хранит данные клиентов и предлагает анонимные покупки с удалением информации через 90 дней. Тем не менее, ущерб от взлома продолжает расти, достигнув к субботе 1 367 BTC.

cryptonews.ru22 мин. назад

Coinkite подвергся критике за хранение электронных писем клиентов после взлома Coldcard на сумму 88 млн долларов

cryptonews.ru22 мин. назад

Торговля

Спот
活动图片