Дата публикации
ai_products

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

  1. Процесс важнее текста
    Скилл — это последовательность действий, а не эссе на 2000 слов. Если положить в контекст длинную статью «о лучших практиках тестирования», агент сгенерирует правдоподобный ответ и… может так и не написать ни одного теста.
    Если дать ему workflow с чёткими шагами и чекпоинтами, у него появляется конкретный план, а у вас — понятные критерии проверки.

  2. Антирационализационные таблицы
    В каждом скилле есть таблица типовых отговорок и заранее прописанных ответов на них. Например:

    • «Эта задача слишком простая для спеки» → критерии приёмки всё равно нужны. Пять строк подойдёт, ноль строк — нет.
    • «Тесты напишу позже» → «позже» не наступит, пиши падающий тест сейчас.
    • «Тесты прошли — мержим» → проходящий тест — это улика, а не доказательство. Запусти приложение, проверь поведение, дай человеку посмотреть diff.

    LLM умеет придумывать правдоподобные оправдания пропуска шагов. Таблица гасит эти попытки ещё до того, как агент их сгенерирует.

  3. Верификация — не опция
    Каждый скилл заканчивается конкретной «уликой», а не ощущением «кажется, всё ок»:

    • тесты прошли;
    • билд чистый;
    • трейс рантайма показывает ожидаемое поведение;
    • ревьюер явно одобрил изменения.

    Агент-генератор по умолчанию склонен говорить, что всё хорошо. Osmani заставляет его предъявлять доказательства.

  4. Прогрессивное раскрытие
    Все 20 скиллов не лежат в контексте одновременно. Мета-скилл подгружает только те инструкции, которые нужны прямо сейчас. Это экономит контекст и снижает риск, что агент «распылится» на ненужные советы.

  5. Дисциплина по объёму
    Отдельное правило: трогать только то, о чём просили. Не рефакторить соседние модули «по пути». Не удалять код, который агент не понимает до конца.
    Именно это чаще всего делает 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.

Как запустить

Примеры команд и сценариев

  1. Подключить Agent Skills в Claude Code
/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills
  1. Сгенерировать спеку перед реализацией

В Claude Code после установки:

/spec

Опиши подробную спецификацию для новой фичи: фильтрация заказов по статусу и дате в нашем backend-сервисе. Нужны критерии приёмки и граничные случаи.

Агент активирует скилл Define и выдаст спеку с критериями приёмки.

  1. Запустить TDD-цикл для бага
/test

У нас баг: при сумме заказа больше 10 000 скидка не применяется. Напиши падающий unit-тест, который воспроизводит проблему, и предложи минимальное исправление.

Агент включит Verify-сценарий: создаст тест, убедится, что он падает, предложит патч и проверит, что тест проходит.

  1. Попросить ревью изменений агента
/review

Вот diff, который ты только что сгенерировал. Пройдись по нему как ревьюер: пометь замечания как Critical / Nit / Optional / FYI и укажи, что блокирует merge.

Агент применит code-review-and-quality.md и разложит замечания по осям серьёзности.

Выводы

Главная ценность Agent Skills — не в конкретных markdown-файлах, а в подходе. AI-агент — это сильный джуниор, у которого нет инстинкта на ту часть работы, которая не попадает в diff: спеку, размер изменений, доказательства, отказ мержить непрослеживаемое.

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


Читайте также