- Дата публикации
Addy Osmani научил AI-агентов работать как сеньор-инженеры
Что нового
Addy Osmani, Director в Google Cloud AI и бывший Engineering Lead Chrome Developer Experience, выложил на GitHub набор Agent Skills — 20 «скиллов» для AI-агентов. Это готовые инженерные рутины, которые вшиваются прямо в контекст Claude Code или Anthropic Agent SDK и заставляют агента работать по сеньор-процессу, а не «на авось».
Ключевые факты:
- 20 скиллов, организованных по шести фазам жизненного цикла разработки:
- Define (спецификация) — /spec
- Plan (планирование) — /plan
- Build (реализация) — /build
- Verify (тестирование) — /test
- Review (ревью) — /review
- Ship (выкат) — /ship
- плюс сквозной режим упрощения кода — /code-simplify
- Поверх скиллов сидит мета-роутер using-agent-skills, который сам решает, какие навыки подключать под задачу.
- Репозиторий github.com/addyosmani/agent-skills уже собрал 27 000 звёзд к моменту разбора в блоге и больше 29 000 — к моменту этой статьи.
- Формат — обычные markdown-файлы с frontmatter, которые можно подключать не только в Claude Code, но и в Cursor, Gemini CLI, Codex, Aider, Windsurf, OpenCode и другие инструменты с system-prompt и подгрузкой инструкций.
- Установка в Claude Code занимает две команды и даёт slash-команды /spec, /plan, /build, /test, /review, /ship, /code-simplify.
Главный эффект: агент перестаёт идти кратчайшим путём «написать функцию и сказать, что всё готово». Вместо этого он проходит через спеку, тесты, верификацию, ревью и аккуратный выкат.
Как это работает
Скилл как код инженерного процесса
Каждый скилл — это markdown-файл с frontmatter (служебный блок с метаданными в начале файла). Claude Code и Anthropic Agent SDK используют этот блок, чтобы подгрузить файл в контекст агента по триггеру:
- триггером может быть slash-команда (/spec, /test и т.д.) или тип задачи, который определяет мета-роутер using-agent-skills;
- внутри файла — не лекция, а пошаговый runbook: что агент должен сделать, в какой последовательности, с какими чекпоинтами и явным критерием выхода.
Пример логики: «напиши падающий тест → запусти → убедись, что он падает → напиши минимальный код → запусти ещё раз → убедись, что тест прошёл → сделай рефакторинг при необходимости». У каждого шага есть проверяемый результат.
Мета-роутер using-agent-skills
На старте сессии в контексте находится только маленький мета-скилл using-agent-skills. Он смотрит на запрос и решает, какие скиллы подгрузить:
- большая фича может активировать до 11 скиллов подряд;
- мелкий багфикс — всего 3;
- в контекст попадает только то, что действительно нужно под задачу.
Это важно для качества: каждый лишний токен в контексте ухудшает ответы, поэтому Osmani жёстко ограничивает объём инструкций.
Пять принципов, на которых держится Agent Skills
-
Процесс важнее текста
Скилл — это последовательность действий, а не эссе на 2000 слов. Если положить в контекст длинную статью «о лучших практиках тестирования», агент сгенерирует правдоподобный ответ и… может так и не написать ни одного теста.
Если дать ему workflow с чёткими шагами и чекпоинтами, у него появляется конкретный план, а у вас — понятные критерии проверки. -
Антирационализационные таблицы
В каждом скилле есть таблица типовых отговорок и заранее прописанных ответов на них. Например:- «Эта задача слишком простая для спеки» → критерии приёмки всё равно нужны. Пять строк подойдёт, ноль строк — нет.
- «Тесты напишу позже» → «позже» не наступит, пиши падающий тест сейчас.
- «Тесты прошли — мержим» → проходящий тест — это улика, а не доказательство. Запусти приложение, проверь поведение, дай человеку посмотреть diff.
LLM умеет придумывать правдоподобные оправдания пропуска шагов. Таблица гасит эти попытки ещё до того, как агент их сгенерирует.
-
Верификация — не опция
Каждый скилл заканчивается конкретной «уликой», а не ощущением «кажется, всё ок»:- тесты прошли;
- билд чистый;
- трейс рантайма показывает ожидаемое поведение;
- ревьюер явно одобрил изменения.
Агент-генератор по умолчанию склонен говорить, что всё хорошо. Osmani заставляет его предъявлять доказательства.
-
Прогрессивное раскрытие
Все 20 скиллов не лежат в контексте одновременно. Мета-скилл подгружает только те инструкции, которые нужны прямо сейчас. Это экономит контекст и снижает риск, что агент «распылится» на ненужные советы. -
Дисциплина по объёму
Отдельное правило: трогать только то, о чём просили. Не рефакторить соседние модули «по пути». Не удалять код, который агент не понимает до конца.
Именно это чаще всего делает pull request от агента немёрджибельным: он решил «заодно всё почистить».
ДНК Google внутри скиллов
Agent Skills пропитаны практиками из книги Software Engineering at Google и публичной инженерной культуры Google. Несколько примеров:
- api-and-interface-design — закон Хайрама: любое наблюдаемое поведение API кто-то рано или поздно начнёт использовать. Агент должен учитывать это, меняя интерфейсы.
- test-driven-development — пирамида тестов ~80/15/5 (unit / integration / e2e) и правило Бейонсе: «если функционал тебе нравится — обязательно прикрой его тестом». Плюс акцент на DAMP в тестах: читаемость как спецификации важнее жёсткого DRY.
- code-review-and-quality — небольшие pull request’ы (порядка 100 строк) и шкала серьёзности комментариев: Critical / Nit / Optional / FYI плюс blocking-комментарии. Большие PR люди не ревьюят, их просто штампуют.
- code-simplification — забор Честертона: не сноси код, пока не понял, зачем его поставили. Удалённый код любит возвращаться багом.
- git-workflow-and-versioning — trunk-based development и атомарные коммиты.
- ci-cd-and-automation — shift-left и feature-флаги: проблемы ловим как можно раньше, а выкат и релиз — разные операции.
- deprecation-and-migration — код как обязательство: строка живёт ровно столько, сколько её обслуживают.
LLM уже видели в обучении термины вроде «закон Хайрама», но не применяют их автоматически в три часа ночи, проектируя API. Agent Skills превращают эти принципы в жёсткие шаги процесса.
Что это значит для вас
Если вы разработчик
Agent Skills превращают AI-агента в очень способного джуниора, который работает по сеньор-процессу:
- вы просите «починить баг» — агент не просто меняет пару строк, а:
- уточняет спеку и критерии приёмки;
- пишет падающий тест;
- минимально правит код;
- убеждается, что тесты прошли и поведение корректно;
- готовит diff, который не стыдно показать ревьюеру;
- вы просите «добавить фичу» — он разбивает её на вертикальные слайсы, держит размер PR в районе 100 строк и оставляет понятные следы: тесты, коммиты, комментарии.
Где это особенно полезно:
- продуктовые команды, которые уже используют Claude Code, Cursor или похожие инструменты как «копилку рук» для рутины;
- проекты с жёсткими требованиями к качеству и трассируемости изменений: финтех, медтех, B2B-сервисы;
- команды, где люди не всегда успевают держать высокий стандарт ревью, а агенты уже активно пишут код.
Где ожидания стоит понизить:
- хаотичные pet-проекты, где вы «накидываете прототип за вечер» и не хотите думать о спеках и тестах;
- задачи, где критично сэкономить каждый токен и вам важнее скорость «написать и забыть», чем дисциплина процесса;
- сценарии без CI/CD и ревью — там часть скиллов просто не к чему привязать.
Хороший базовый сценарий: взять одну фазу, которая у вас чаще всего «сыпется» — спеку, ревью или верификацию — и зашить соответствующий скилл в правила вашего агента. Потом добавлять остальные по мере роста боли.
Если вы тимлид или техдир
Agent Skills можно использовать как:
- AGENTS.md по умолчанию — открыть репозиторий, взять 3–5 non‑negotiables из мета-скилла using-agent-skills и прописать их в правила использования AI в команде;
- обучающий материал — дать разработчикам прочитать test-driven-development.md или code-review-and-quality.md как короткую, практичную спецификацию процесса;
- фильтр для AI-пулреквестов — проверять, прошёл ли агент шаги из скиллов: есть ли спека, тесты, понятный diff, явные доказательства работы.
Если вы пока не готовы тащить AI в прод, можно вообще ничего не устанавливать и использовать репозиторий как справочник инженерных практик.
Доступность из России
Agent Skills — это открытый репозиторий на GitHub под лицензией MIT. Чтобы просто читать markdown-файлы, не нужно ничего кроме доступа к GitHub.
Для установки в Claude Code и использования Anthropic Agent SDK может понадобиться доступ к сервисам Anthropic. В некоторых случаях для этого потребуется VPN и регистрация в регионах, где эти продукты официально доступны.
Место на рынке
Agent Skills — это не ещё один AI-агент, а надстройка над существующими инструментами:
- с Claude Code набор интегрируется напрямую через marketplace и slash-команды;
- с Cursor, Gemini CLI, Codex, Aider, Windsurf, OpenCode и другими средами вы просто импортируете те же markdown-файлы в системные правила.
На рынке уже много решений, которые обещают «агентов‑разработчиков», но у Agent Skills другая точка атаки:
- он не конкурирует с GPT-4o, Claude 3 или другими моделями по качеству генерации кода;
- он задаёт процесс, по которому эти модели должны работать, чтобы результат был мерджибелен и безопасен.
Конкретных бенчмарков по скорости или стоимости здесь нет: Agent Skills не меняет модель, а только то, как она пишет код. Цена и производительность зависят от того, какую LLM вы используете и как часто запускаете скиллы.
Главное отличие от большинства «агентских» решений — жёсткий фокус на дисциплине:
- антирационализационные таблицы рубят отговорки агента;
- верификация обязательна в каждом скилле;
- размер изменений и объём контекста под постоянным контролем.
Если вы уже пробовали подключать AI к разработке и упирались в некачественные PR, которые страшно мержить, Agent Skills закрывают именно эту проблему.
Установка
Claude Code: установка через marketplace
Osmani предлагает базовый сценарий для пользователей Claude Code — установить Agent Skills как плагин. Команды из репозитория:
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
После этого в Claude Code появляются slash-команды, а скиллы начинают автоматически активироваться по контексту задачи.
Другие инструменты: ручной импорт markdown
Agent Skills — это plain-markdown с frontmatter, поэтому набор можно перенести почти куда угодно:
- Cursor — положить файлы в
.cursor/rules/; - Gemini CLI, Codex, Aider, Windsurf, OpenCode — использовать свои механизмы system-prompt и подгрузки инструкций.
Общий паттерн: вы добавляете нужные markdown-файлы в правила агента и вызываете их либо через аналоги slash-команд, либо через собственный роутер задач.
Режим «только читать»
Если вы не хотите ничего интегрировать, можно использовать Agent Skills как инженерную спецификацию:
- открыть
code-review-and-quality.mdи применить шкалу Critical / Nit / Optional / FYI плюс blocking-комментарий к ревью в своей команде; - открыть
test-driven-development.mdи закрыть очередной спор «нужно ли писать тест первым»; - открыть мета-навык using-agent-skills и вытащить из него несколько non‑negotiables в свой AGENTS.md.
Как запустить
Примеры команд и сценариев
- Подключить Agent Skills в Claude Code
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
- Сгенерировать спеку перед реализацией
В Claude Code после установки:
/spec
Опиши подробную спецификацию для новой фичи: фильтрация заказов по статусу и дате в нашем backend-сервисе. Нужны критерии приёмки и граничные случаи.
Агент активирует скилл Define и выдаст спеку с критериями приёмки.
- Запустить TDD-цикл для бага
/test
У нас баг: при сумме заказа больше 10 000 скидка не применяется. Напиши падающий unit-тест, который воспроизводит проблему, и предложи минимальное исправление.
Агент включит Verify-сценарий: создаст тест, убедится, что он падает, предложит патч и проверит, что тест проходит.
- Попросить ревью изменений агента
/review
Вот diff, который ты только что сгенерировал. Пройдись по нему как ревьюер: пометь замечания как Critical / Nit / Optional / FYI и укажи, что блокирует merge.
Агент применит code-review-and-quality.md и разложит замечания по осям серьёзности.
Выводы
Главная ценность Agent Skills — не в конкретных markdown-файлах, а в подходе. AI-агент — это сильный джуниор, у которого нет инстинкта на ту часть работы, которая не попадает в diff: спеку, размер изменений, доказательства, отказ мержить непрослеживаемое.
Osmani предлагает это поведение закодировать так, чтобы агент не мог «уговорить себя» обойти процесс. Вы можете взять весь набор скиллов, а можете начать с одной фазы — например, только с ревью или только с верификации — и постепенно расширять требования к агенту по мере того, как команда привыкает жить с AI в проде.