7 августа 2026 г.
Твой ИИ-агент изобретает велосипед: скилл Claude Code, который это останавливает

Смотрел ролик про Claude Code и споткнулся на одной фразе: агент не ленивый и не глупый, он просто не спрашивает себя «а это уже кто-то решил?» перед тем, как начать писать код. Кажется мелочью, но за ней тысячи потраченных впустую токенов и код, который хуже готовой библиотеки с пятилетней историей багфиксов.
В ролике описывали пару скиллов Claude Code: один перед стартом задачи ищет готовые библиотеки и пакеты, второй - научные статьи под задачу, если речь про алгоритм, а не про интеграцию. Идея понравилась, но я решил не пересказывать чужую подачу как есть, а проверить механику по документации Anthropic и найти, что из этого существует по-настоящему, а что - красивая формулировка для YouTube.
Агент, который решает уже решённую задачу
Реальный провал агентного кодинга выглядит скучно. Просишь Claude Code сделать рейт-лимитер, PDF-генератор или систему авторизации - и он честно садится писать это с нуля. Пятьсот строк, свои тесты, свои баги, которые в готовой библиотеке уже нашли и починили три года назад. Разработчик gaupoit описал это в статье на dev.to: вайб-кодинг затягивает именно тем, что можно описать что угодно и получить рабочий на вид код, но в процессе легко изобрести велосипед с миллионом звёзд на GitHub у оригинала.
Дело в качестве кода, но есть ещё и прямая цена. Написать авторизацию с нуля - это токены на генерацию, токены на тесты, токены на правку, когда всплывёт очередной edge case. Готовая библиотека уже прошла через это на тысячах чужих проектов.
Что такое скиллы Claude Code на самом деле
Прежде чем разбирать конкретный пример, стоит закрыть вопрос механики - по официальной документации, не по пересказу.
Скилл в Claude Code - это папка с файлом SKILL.md: YAML-фронтматтер плюс инструкции в markdown. Фронтматтер описывает, что делает скилл и когда его применять, тело - что именно Claude должен сделать, когда скилл сработал. Claude сам решает, загрузить ли скилл, ориентируясь на поле description - и это ключевая разница с обычным промптом: в контексте всегда лежит только короткое описание, а полное содержимое подгружается, только когда скилл реально понадобился.
Скиллы живут в нескольких местах: личные - в ~/.claude/skills/<имя>/SKILL.md, доступны во всех твоих проектах; проектные - в .claude/skills/<имя>/SKILL.md внутри репозитория, доступны только там. Можно вызвать скилл вручную командой /имя-скилла, а можно оставить Claude решать самому по описанию - для этого в frontmatter есть флаг disable-model-invocation, который запрещает автозапуск и оставляет только ручной вызов.

Это официальный механизм расширения, а не хак поверх Claude Code - он описан в docs.claude.com и code.claude.com, следует открытому стандарту Agent Skills и работает наравне с подагентами, MCP-серверами и хуками, просто решает другую задачу: не «дать агенту новый инструмент», а «научить агента процедуре, которую жалко объяснять заново в каждом чате».
Скилл номер один: сначала библиотека, потом код
Здесь начинается конкретика. Скилл под названием programming-advisor от разработчика gaupoit - реальный, лежит открытым репозиторием на GitHub и разошёлся в X именно потому, что чинит частую и узнаваемую боль. Триггер - фразы вроде «хочу собрать PDF-генератор», «помоги сделать систему авторизации», «можешь написать рейт-лимитер». Вместо того чтобы сразу открыть редактор, скилл сначала ищет по npm, PyPI, cargo и открытым SaaS-альтернативам, что уже решает эту задачу, прикидывает стоимость своей разработки в токенах и времени и выдаёт сравнительную таблицу: готовое решение против самописного, с прикидкой на год и на три года вперёд.
Дальше выбор за человеком. Иногда своя реализация оправдана - специфика проекта, лицензионные ограничения на существующие пакеты, желание контролировать код на уровне, который библиотека не даёт. Но теперь это осознанное решение, а не побочный эффект того, что агент не остановился спросить.
Скилл номер два: сначала статья, потом алгоритм
Вторая половина идеи из ролика - не готовый общеизвестный продукт вроде programming-advisor, а целый жанр похожих скиллов. Поиск идёт не по npm, а по arXiv и похожим базам: если задача упирается не в интеграцию с чужим сервисом, а в алгоритм - скажем, способ дедупликации похожих текстов или метод ранжирования - вероятность, что кто-то уже опубликовал рабочий метод, выше, чем кажется. Такие скиллы под общими названиями вроде arxiv-search или paper-to-code уже встречаются в публичных каталогах скиллов: они ищут статьи по ключевым словам, вытаскивают метод и псевдокод, иногда сразу собирают из статьи рабочий прототип.
Я не нашёл единого источника, который бы официально «упаковал» эту пару скиллов вместе под одним именем и одним автором - именно поэтому не пересказываю ролик как факт из документации. Но сама механика реальна с обеих сторон: поиск готового кода и поиск готовой научной работы - это одна и та же привычка «проверь, прежде чем строить», просто применённая к двум разным источникам знания.
Как это устроено технически
Для тех, кто хочет собрать похожий скилл сам, вот проверенный по документации синтаксис - не выдумка, а формат, который реально понимает Claude Code.
---
name: check-before-build
description: Перед тем как писать новый код с нуля, ищет готовые библиотеки и научные статьи под ту же задачу. Используй, когда просят написать модуль, алгоритм или систему с нуля.
allowed-tools: WebSearch WebFetch
---
Перед тем как писать код:
1. Определи, к какому классу относится задача - интеграционная (нужен готовый сервис/пакет) или алгоритмическая (нужен метод).
2. Для интеграционной - поищи готовые библиотеки под язык проекта и открытые SaaS-альтернативы.
3. Для алгоритмической - поищи научные статьи и открытые реализации метода.
4. Собери короткую таблицу: вариант, зрелость, лицензия, стоимость внедрения.
5. Предложи решение и жди подтверждения, прежде чем писать код с нуля.
Поле allowed-tools заранее разрешает Claude пользоваться поиском без запроса подтверждения на каждый вызов - разрешение действует только на тот ход, где скилл сработал, и снимается на следующем сообщении. context: fork - ещё одно реальное поле фронтматтера, которое запускает скилл в отдельном подагенте в фоне, если поиск долгий и не должен блокировать основной диалог.
Собрать свою версию за вечер
Технически порог входа низкий. Создаёшь папку ~/.claude/skills/check-before-build/, кладёшь туда SKILL.md по примеру выше, формулируешь description так, чтобы там были реальные фразы, которыми ты обычно просишь агента что-то построить - это и есть триггер для автозагрузки. Проверяешь двумя способами: либо просишь Claude Code что-то реализовать и смотришь, подхватит ли он скилл сам, либо вызываешь прямо командой /check-before-build.
Дальше - тонкая настройка под свой стек. Если ты постоянно пишешь на Python - в инструкции скилла стоит прямо указать искать по PyPI в первую очередь, а не гонять модель по всем экосистемам разом. Если у тебя есть внутренний реестр уже написанных модулей компании - логично, чтобы скилл сначала проверял его, и только потом внешние источники.
Где это реально экономит, а где нет
Если задача - типовая: авторизация, работа с датами, парсинг форматов, очереди, кэш - шанс, что готовое решение либо лучше, либо сильно ускорит старт, довольно высокий. Здесь скилл окупается почти всегда.
Там, где логика завязана на специфику именно твоего продукта или где найденная библиотека тянет проблемную лицензию либо давно не обновлялась, скилл не должен молча выбирать за тебя - он должен показать находку и дать решить. И отдельная оговорка: чужая библиотека - тоже поверхность атаки, у неё могут быть свои уязвимости и заброшенное сопровождение, поэтому сравнительная таблица без графы «когда был последний релиз» и «сколько открытых issue по безопасности» - неполная.
Стоит ли ставить
Стоит, если ты часто просишь агента писать модули с нуля и подозреваешь, что часть из них уже была изобретена до тебя - что почти всегда так. Формат скилла Claude Code для этого подходит идеально: он не требует нового инструмента или подписки, только текстовый файл с понятными инструкциями, который загружается ровно тогда, когда нужен, и не ест контекст в остальное время.
Я себе уже завёл вариант под свой стек - в основном под Python и Node, без научной части, потому что в моих задачах чаще нужна библиотека, а не статья. Как обкатаю на паре реальных задач - расскажу, что реально изменилось в скорости и в качестве кода.
