Addy Osmani запустил agent-skills — 23 production-grade SKILL.md, которые делают то, что твои собственные скиллы делать стесняются
Addy Osmani — Google Chrome DevRel, автор Learning JavaScript Design Patterns, человек, по чьим статьям пол-индустрии училась front-end. Неделю назад он выложил на GitHub репозиторий agent-skills. За 5 дней — 43.5K звёзд и 4.8K форков. И главное: это не очередная подборка готовых промптов. Это попытка перевести всю инженерную дисциплину senior-разработчика в SKILL.md-формат, который читают Claude Code, Cursor, Gemini CLI, Codex, Windsurf и ещё семь агентов.
TL;DR: Agent-Skills — это 23 скилла под лицензией MIT, которые превращают каждого AI-агента в дисциплинированного синьора. Внутри каждого SKILL.md — anti-rationalization таблица с типовыми отговорками ("я добавлю тесты потом") и контр-аргументами, verification gates с требованием конкретных артефактов (логи тестов, билд-выхлоп, runtime-данные) и progressive disclosure для экономии токенов. Если ты ещё пишешь скиллы как "проверь код на баги" — ты не используешь и 10% возможностей формата.
Почему твои скиллы не работают
Типичный SKILL.md выглядит так:
--- name: code-review description: Review code for quality issues --- Review the code carefully and flag any bugs, performance issues, or style problems.
Клод читает это, делает три bullet-point замечания, говорит "looks good overall" и забывает посмотреть на security, accessibility, error handling. Потому что в инструкции нет ни checklist'а, ни exit-criteria, ни verification.
Addy сделал противоположное. Каждый скилл в его наборе устроен так:
┌─ Frontmatter ──────────────────────────────────┐ │ name: code-review-and-quality │ │ description: Guides agents through structured │ │ code review. Use when… │ └────────────────────────────────────────────────┘ Overview → What this skill does When to Use → Triggering conditions Process → Step-by-step workflow Rationalizations → Excuses + rebuttals Red Flags → Signs something's wrong Verification → Evidence requirements
Каждая секция — обязательная. И самая интересная — Rationalizations.
Anti-rationalization таблицы — главная фишка
В скилле test-driven-development есть таблица типа:
| Отговорка агента | Контр-аргумент |
|---|---|
| "Я добавлю тесты потом" | Потом не наступит. RGB-цикл идёт ДО первой строки production-кода. |
| "Этот код слишком простой для тестов" | Beyonce Rule: если оно не тестировано — оно сломается, и виноват будешь ты. |
| "Тесты замедлят разработку" | Скорость без тестов — это долг под 30% годовых. Считай TCO, не локальный коммит. |
Когда агент видит эту таблицу в контексте, он не может рационализировать отказ от теста. Это не магия — это просто прокачка системного промпта: дать модели заранее заготовленные ответы на её же типовые отмазки.
23 скилла по фазам lifecycle
Архитектура — не "папка с прикольными штуками", а карта software lifecycle:
Define — разобраться, что строить
- interview-me — one-question-at-a-time опрос, пока агент не уверен в требованиях на ~95%
- idea-refine — дивергентное/конвергентное мышление, превращение vague идей в proposals
- spec-driven-development — PRD с objectives, commands, structure, code style, testing
Plan — спланировать
- planning-and-task-breakdown — атомарные таски
Build — писать код
- incremental-implementation — тонкие вертикальные срезы, feature flags, rollback-friendly
- test-driven-development — Red-Green-Refactor, test pyramid 80/15/5, Beyonce Rule
- context-engineering — какие rules-файлы класть, как паковать контекст, MCP-интеграции
- doubt-driven-development — adversarial fresh-context ревью каждого нетривиального решения
- api-and-interface-design, frontend-ui-engineering
Verify — проверить
- browser-testing-with-devtools, debugging-and-error-recovery
Review — улучшить
- code-review-and-quality, code-simplification, security-and-hardening, performance-optimization
Ship — выкатить
- git-workflow-and-versioning, ci-cd-and-automation, deprecation-and-migration, documentation-and-adrs, shipping-and-launch
И один мета-скилл — using-agent-skills — который рассказывает агенту, как правильно выбирать скиллы.
7 слэш-команд как entry points
Каждая команда автоматически активирует нужные скиллы по контексту:
/spec— "Spec before code" — запускает interview-me + idea-refine + spec-driven-development/plan— "Small, atomic tasks" — запускает planning-and-task-breakdown/build— "One slice at a time" — incremental-implementation + TDD + context-engineering/test— "Tests are proof" — TDD + browser-testing/review— "Improve code health" — code-review + security + performance + simplification/code-simplify— "Clarity over cleverness"/ship— "Faster is safer" — git-workflow + ci-cd + shipping
Когда ты пишешь в Claude Code /spec build a habit tracker app, агент не идёт сразу писать код. Он сначала прогоняет interview-me — задаёт по одному вопросу, пока не убедится, что понимает требования. Потом — idea-refine, потом — spec-driven-development. На выходе — PRD-файл, который служит источником истины для всех последующих фаз.
Это долго. Но это то, что делает senior, а не junior.
Verification gates — "кажется работает" не считается
Каждый скилл заканчивается evidence requirements. Не "tests look good", а:
- TDD — pytest/jest вывод с конкретным числом passed/failed
- security-and-hardening — конкретный pre-commit-чек по OWASP Top 10 с строками файлов
- performance-optimization — Core Web Vitals numbers с datasource'ом измерения
- incremental-implementation — git diff + rollback procedure
Агент не может сказать "готово" без артефактов. Если артефактов нет — он возвращается на шаг назад.
Как поставить себе за 2 минуты
Если ты используешь Claude Code:
claude skill add addyosmani/agent-skills
Это поставит весь пак через Claude Code marketplace (требуется Claude Code 2.0+).
Если работаешь с другими агентами или хочешь руками:
git clone https://github.com/addyosmani/agent-skills.git cp -r agent-skills/skills/* ~/.claude/skills/
Для Cursor — копируй в .cursor/rules/. Для Codex CLI — в ~/.codex/skills/. Для Gemini CLI — в ~/.gemini/commands/. Структура SKILL.md одинаковая, поэтому работает везде.
После установки в Claude Code или Cursor должны появиться 7 слэш-команд. Попробуй /spec на любом новом проекте — увидишь, как агент перестаёт сразу кодить и начинает задавать вопросы.
Reference checklists — отдельная ценность
4 справочника, которые скиллы подгружают по необходимости:
- testing-patterns.md — структура тестов, naming, mocking, React/API/E2E примеры
- security-checklist.md — pre-commit checks, auth, input validation, headers, CORS, OWASP Top 10
- performance-checklist.md — Core Web Vitals targets, frontend/backend checklists, команды для измерения
- accessibility-checklist.md — keyboard nav, screen readers, ARIA, WCAG 2.1 AA, testing tools
Эти файлы загружаются только тогда, когда нужны — экономия токенов. Если ты пишешь свои скиллы — копируй паттерн progressive disclosure. Жирные блобы в самом SKILL.md — путь к тому, что после третьего запроса твой контекст забит instructions и в нём не остаётся места под код.
Подводные камни
1. 23 скилла + 4 reference + 3 персоны жгут токены, если их активировать все сразу. Каждый загруженный скилл — это 500-2000 токенов в контексте. Если у тебя автоактивация включена для всех 23 — на средней задаче ты будешь стартовать с 30K токенов служебных инструкций ещё до своего первого промпта. Решение: ставь disable-model-invocation: true для скиллов, которые ты хочешь вызывать только руками (типа /ship), и оставляй автоактивацию только для context-engineering и interview-me.
2. Anti-rationalization работает против тебя, если ты хочешь срезать угол. Если тебе нужно быстрое прототипирование без тестов — TDD-скилл будет сопротивляться. Прозрачно, но рутинно: каждый раз приходится явно говорить "skip tests this iteration, prototyping only." Если ты часто это делаешь — выруби TDD-скилл локально или сделай форк под свой стиль.
3. Verification gates требуют локальной инфры. Если у тебя нет настроенного pytest/jest/playwright локально — скилл /test не сможет получить evidence и будет крутиться в цикле. Перед установкой проверь, что твой test runner работает командой из CLI.
4. Конфликт со slash-командами в IDE. В Cursor 3 свои встроенные /review и /test. Когда ставишь agent-skills, появляется конфликт имён. Решение: переименуй файлы команд в .cursor/commands/ или используй claude префикс — /claude-review вместо /review.
Альтернативы
anthropic/skills — официальные скиллы от Anthropic, в основном workflow-helper'ы (PR descriptions, commit messages). Меньше по объёму, но качество guaranteed.
spec-kit от GitHub — Spec-Driven Development в другом исполнении. /speckit.constitution, /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.implement. Более тяжёлый, на собственном Python CLI Specify, но интегрируется с 30+ агентами. Если тебе нужна именно SDD-методология — spec-kit ближе к классике, agent-skills — к гибким best practices.
claudemarketplaces.com / Agensi — каталоги community-скиллов, 4200+ штук. Качество — лотерея. Полезно для узких задач (testing-vitest, frontend-development-react), но без curation от senior'а.
Вердикт
Если ты используешь Claude Code или Cursor больше часа в неделю и пишешь нетривиальный код — ставь agent-skills сегодня. Это самый качественный публичный набор скиллов на рынке, и автор — не рандомный enthusiast, а человек, который писал "Learning JavaScript Design Patterns". Если ты используешь AI только для прототипирования и одноразовых скриптов — TDD-скилл будет тебя бесить, ставить не стоит. И если ты подписан на Cursor или Windsurf — проверь конфликты слэш-команд до установки, потому что переименовывать руками после — медленнее, чем поставить с осторожностью.
Как попробовать
- Поставь через marketplace —
claude skill add addyosmani/agent-skills(требует Claude Code 2.0+). Или клонируй github.com/addyosmani/agent-skills и копируй скиллы в~/.claude/skills/. - Начни с одного скилла —
interview-me. Активируй вручную:/skill interview-me. Попроси "помоги спроектировать новую фичу для X". Посмотри, как агент задаёт вопросы один за другим, пока не построит спецификацию. - Прогон полного цикла —
/spec build a tiny CLI tool that does X. Через 15-20 минут у тебя будет PRD, план, разбивка на таски и первая работающая итерация — без vibe-coding. - Изучи anti-rationalization таблицы — открой
skills/test-driven-development/SKILL.mdи почитай раздел Rationalizations. Это шаблон, который ты можешь скопировать в любой свой скилл. - Сделай свой скилл по их паттерну — копируй структуру (Overview / When to Use / Process / Rationalizations / Red Flags / Verification) для скилла под твою специфику. Шаблон в
docs/skill-anatomy.mdрепозитория.