Boris Cherny, который ведёт Claude Code в Anthropic, 27 мая 2026 публично написал в треде на Hacker News: «I agree, we're working on consolidating these». Признание простое - сейчас в Claude Code пять способов сделать одно и то же ревью кода: slash-команда, skill, subagent, plugin или просто промт в чат. И ни один из этих способов не лучше другого по умолчанию - выбор зависит от задачи, бюджета токенов и того, кто этим будет пользоваться кроме тебя.
Я живу в Claude Code 8 часов в день: пишу через него гайды для Мастерской, делаю автоматизации для практикума, тестирую вирусные сценарии для Reels. У меня сейчас 7 своих skills, 11 subagents под разные задачи, 4 подключённых MCP-сервера и набор из 3 plugins. Без этого расклада я бы не успевал ничего - но добрался я до него через 3 месяца ошибок «положил не туда».
Этот гайд - то, что я бы дал себе год назад. Дерево из 4 вопросов, готовая матрица «задача → слой» и 5 типичных ошибок, на которых сгорают токены каждого второго вайб-кодера, с которым я работаю.
Каждый день в Telegram-канале - что нового в вайб-кодинге: инструменты, примеры, ошибки. Подпишись, чтобы быть в курсе.
Что такое skills, subagents, MCP и plugins одной фразой?
Прежде чем выбирать, разнесём термины. У всех четырёх слоёв одна цель - расширить то, что Claude умеет из коробки. Но природа у каждого слоя своя.
Skill - это директория с файлом SKILL.md, в котором описано когда и как применять конкретную методологию. Anthropic сравнивает skill с инструкцией для нового сотрудника: ты не диктуешь ему каждый шаг каждый день, ты выдаёшь регламент.
Subagent - отдельная Claude-сессия с собственным контекстом, которая запускается из основного диалога. Ключевая особенность одна: изоляция. Subagent может прочитать 30 файлов, выдать сводку и вернуть в основной чат только её. Контекст основного диалога остаётся чистым.
MCP (Model Context Protocol) - открытый стандарт от Anthropic для подключения Claude к внешним системам. Anthropic в блоге 13 ноября 2025 объяснили линию максимально чётко:
MCP связывает Claude с данными; Skills учат Claude что с этими данными делать. Если ты объясняешь как использовать инструмент или следовать процедурам - например, «при запросе в нашу базу всегда фильтруй по диапазону дат сначала» - это Skill. Если тебе нужно, чтобы Claude в принципе получил доступ к базе или Excel-файлам - это MCP.
Plugin - чужой готовый набор skills, subagents, hooks и команд, упакованный в маркетплейс. Ставишь одной строчкой через /plugin install, получаешь сразу всё. Если skill - это твой собственный регламент, plugin - купленный регламент от другой компании.
В кратком виде - skills это рецепты, subagents это специализированные коллеги, MCP это внешние инструменты, через которые Claude дотягивается до сервисов и данных. Цена в токенах разная: skill дешевле всего (загружается по триггеру), MCP заметно дороже (каждый подключённый сервер постоянно занимает место в контекстном окне).
Зачем 4 слоя если можно одной CLAUDE.md?
У меня в проекте smyslokod.ru CLAUDE.md - большая карта правил: где что лежит, как публиковать, какие договорённости. Без этого файла Claude каждую новую сессию начинал бы с нуля.
Но CLAUDE.md упирается в потолок. Объясню тремя ситуациями, в которых она перестаёт работать.
Ситуация 1: правило срабатывает иногда. В CLAUDE.md написано «перед git push всегда гонять npm run build». Claude в начале сессии читает, кивает, через 25 сообщений начинает писать код и забывает. Я уже трижды ловил себя на пушах без build, которые падали на проде. Это решается hook'ом - детерминированной командой, которая запускается автоматически перед каждым git push и блокирует пуш, если build упал. Hook гарантирует выполнение там, где CLAUDE.md только просит.
Ситуация 2: процесс из 15 шагов, который повторяется. Каждый гайд для Мастерской проходит через 14 этапов: research → структура → MDX → 7 параллельных QA → публикация на проде → IndexNow. Если я каждый раз буду писать промт «запусти Этап 1, потом 2, потом 3», у меня сгорят токены ещё на старте. Поэтому весь этот workflow упакован в skill build-masterskaya-guide - 34 КБ инструкции, которая запускается одной фразой «давай новый гайд в Мастерскую».
Ситуация 3: задача, которая пожирает контекст. Чтобы проверить уже опубликованный гайд на свежесть, Claude должен прочитать транскрипт эфира 30 КБ, 20 ретроспектив по 5 КБ каждая и сравнить с текущим сайтом. Если это делать в основном чате, к концу проверки у меня в контексте 200К токенов мусора. Subagent делает то же самое, возвращает в основной диалог только сводку на 300 слов и закрывается.
Ситуация 4: я хочу, чтобы участники практикума получили те же шаблоны, что у меня. Готовый набор правил для frontend-дизайна, hook'ов для публикации через Coolify, MCP для Playwright-проверок. Это plugin: я упаковываю своё пространство, публикую в маркетплейс, участник ставит у себя одной строкой.
CLAUDE.md закрывает базу: «как у нас принято». 4 слоя сверху закрывают то, чего CLAUDE.md не может физически: повторяемость через триггер, изоляцию контекста, доступ к внешнему миру и распространение.
Когда нужен skill, а не CLAUDE.md?
Boris Cherny из Anthropic в интервью anup.io сформулировал главное правило:
Если ты делаешь что-то больше одного раза в день - превращай это в slash-команду или skill.
Тест на skill простой: ты ловишь себя на том, что копируешь один и тот же длинный промт из заметок в чат. Третий раз - это уже сигнал.
У меня в ~/.claude/skills/ сейчас 7 директорий: build-masterskaya-guide, build-vc-spoke, build-reel-script, build-practicum-instruction, update-config, simplify и keybindings-help. Самая нагруженная - build-masterskaya-guide (этот гайд написан именно через неё). Внутри - 34 КБ методологии: какие этапы пройти, какие multi-agent QA запустить, какие gate-условия для остановки, какие артефакты сохранить в /tmp/.
Когда не надо делать skill.
- Правило типа «всегда отвечай на русском» - в CLAUDE.md, не в skill. Skill загружается по триггеру, а это правило должно действовать всегда.
- Одноразовая инструкция «сейчас прогони рефакторинг» - в чат, не в skill.
- Задача, которая нужна с другим контекстом 30 файлов - subagent, не skill.
Главный антипаттерн. Самая частая ошибка вайб-кодеров - впихивать процедуру в subagent, когда там должен быть skill. Subagent дороже по токенам (свой контекст), запускается медленнее и часто избыточен. Если задача укладывается в 1500-2000 слов методологии без чтения внешних файлов - это skill.
Как структурировать skill, что писать во frontmatter и какие триггер-фразы работают - в гайде Claude Code Skills в 2026: как собрать библиотеку навыков под себя.
Когда нужен subagent, а не skill?
Skill хранит методологию, subagent делает работу - это разные слои, которые часто путают, потому что оба запускаются «из чата».
Брать subagent имеет смысл только ради изоляции контекста. У основной Claude-сессии есть бюджет в 200 000 токенов (или 1 миллион в beta). Если ты в этом основном чате попросишь прочитать 30 файлов и проанализировать каждый - ты сжёг половину окна на промежуточные чтения. Subagent делает всё то же самое в отдельной сессии, возвращает в основной чат только результат.
Конкретный пример из smyslokod. Каждый гайд Мастерской проходит через несколько параллельных QA-проверок: стилистика, цитаты и факты на первоисточниках, структура для поисковиков, целостность внутренних и внешних ссылок. Каждая проверка тянет свой контекст: словарь правил, WebFetch на десятки URL, грепы по тексту.
Если бы я гонял все эти проверки в одном чате - меня бы съел контекст ещё до окончания первой. Параллельный запуск subagents через run_in_background: true решает: они работают в фоне, основной чат идёт дальше, я через 4-6 минут получаю компактные отчёты и применяю правки.
Второй пример - тяжёлый research. Когда я выбираю тему нового гайда, 4 параллельных subagent одновременно собирают сигналы:
- V1 - Reddit + Hacker News за 14 дней
- V2 - LinkedIn + X (Twitter)
- V3 - YouTube + Anthropic blog
- V4 - русский рынок (Habr, vc.ru, DTF) + SEO-дыры
Каждый возвращает 30-40 элементов с виральностью. Я собираю в пул, взвешиваю по 9 осям, выбираю победителя. Без subagents этот этап растягивается на 2-3 часа сжигания основного контекста.
Когда не надо делать subagent.
- Задача, которая не требует чтения файлов или WebFetch - в основном чате.
- Воспроизводимый процесс с триггером - skill, не subagent.
- Доступ к внешней системе типа GitHub или Sentry - MCP, не subagent.
Главный антипаттерн. Делать subagent с названием «backend-engineer» или «qa» в надежде, что Claude сам поймёт, к кому обращаться. Boris Cherny прямо предупреждает: специфичные subagents (типа migration-test-writer или api-route-reviewer) дают намного лучшее качество, чем generic. Чем точнее имя и инструкция subagent'а - тем точнее Claude выберет нужного.
Как создавать subagents под конкретные задачи, синтаксис frontmatter и 5 готовых примеров - в гайде Claude Code Subagents в 2026: пошаговая инструкция.
Когда нужен MCP, а не skill или subagent?
Anthropic в блоге дали кратчайшую формулу разницы: MCP подключает Claude к данным, skills учат Claude что с этими данными делать.
Эта формула спасает от 80% ошибок выбора. Если ты пишешь skill «как анализировать GitHub-issues», но без MCP-сервера для GitHub - skill не сработает, потому что Claude физически не может прочитать issue из репозитория. И наоборот: если ты подключил MCP для GitHub, но без skill «как структурировать review issue» - Claude просто свалит на тебя сырое содержимое.
Конкретный стек MCP в моём проекте.
- Playwright MCP - визуальная QA каждого гайда. Открыть страницу в десктопе и мобайле, проверить ширину контейнера, отрендерены ли блоки.
- Stitch MCP - доступ к дизайн-системе, генерация компонентов в стиле бренда.
- vidIQ MCP - аналитика трендов и проверка идей по виральности.
- Railway MCP - управление инфраструктурой деплоя.
Каждый из этих 4 - это мост к внешней системе. Без MCP я бы либо писал свой код-обёртку, либо переключался в браузер. С MCP - всё внутри Claude-сессии.
Цена в токенах. MCP - самый дорогой слой. Каждый подключённый сервер постоянно занимает место в контекстном окне: декларация tools, схемы аргументов, описания. У меня 4 MCP - это около 8-12К токенов в каждой новой сессии до того, как я что-то спросил.
Это значит: MCP подключаем только если он реально нужен в большинстве сессий. Если ты используешь Sentry MCP раз в неделю - лучше включать его по требованию через --mcp sentry флаг, а не держать в постоянном списке.
Когда не надо делать MCP.
- Методология «как обращаться с данными» - skill, не MCP.
- Длинная задача с чтением 20 файлов - subagent, не MCP.
- Публикация через одну команду - hook или плагин, не MCP.
Главный антипаттерн. Делать MCP-сервер для того, что лучше решается skill'ом. Я видел в HN-обсуждении (тот самый тред 422 points, 27 мая) пример: автор написал MCP-сервер, который выдаёт «инструкцию по code review». А это не доступ к внешнему миру - это процедура. Skill закрывает то же самое в 10 раз дешевле по токенам.
Прецедент конфликта ресурсов. У меня был случай, когда Playwright MCP завис с ошибкой «Browser is already in use» - я параллельно держал открытое окно Chrome, и MCP не смог захватить браузер. Это важный урок: MCP-сервер живёт в общем ресурсе системы. Если ресурс конкурентный (браузер, порт, файл) - думай об изоляции с самого начала.
Готовая инструкция по подключению 7 рабочих MCP - в гайде MCP-серверы Claude Code в 2026: 7 готовых связок.
Когда нужен plugin, а не skill или subagent?
Skill, subagent и MCP - это про твою методологию. Plugin - про чужую готовую методологию, которую ты импортируешь в своё пространство.
В октябре 2025 Anthropic запустил Claude Code Plugins - официальный механизм распространения. Plugin это директория, в которой могут быть:
- свои slash-команды
- свои skills
- свои subagents
- свои hooks
- свои MCP-конфиги
- свой output styles
Всё это упаковано в один пакет с plugin.json. Установка - одна строчка в ~/.claude/settings.json или команда /plugin install <name>.
Конкретный стек plugin в моём проекте.
frontend-designиз официальногоclaude-plugins-official- 67 стилей, 96 палитр, 57 шрифтовых пар, 13 фреймворков. Когда я делаю новый блок для сайта или email-шаблон, я подгружаю этот plugin и получаю сразу всю библиотеку.playwrightиз того же официального - набор skills + MCP-конфигов для browser-testing.telegram- готовый набор для управления Telegram-аккаунтом из Claude Code (политика, allowlist, pairing).trailofbits/skills- набор security-skills от компании Trail of Bits, которой я доверяю в вопросах безопасности.
Все 4 - это три строки в settings.json. Без plugin я бы тратил часы на сбор такой же библиотеки руками.
Когда не надо делать plugin.
- Если methodology сугубо твоя и не масштабируется на других - оставь как skill.
- Если ты ещё не знаешь, кто будет пользоваться - сначала проверь skill'ом на себе.
- Если нужно быстро поставить три файла на новую машину - подойдёт
cp ~/.claude/skills/X /new/machine/.claude/skills/.
Главный антипаттерн. Делать plugin как замену CLAUDE.md - например, plugin с правилами «как у нас принято в проекте». Plugin рассчитан на распространение и переиспользование. Если правила специфичны для одного репозитория - это CLAUDE.md, а не plugin.
Перспектива на 2026: Anthropic явно движется в сторону team-marketplace для plugin. Это значит, что компании смогут публиковать свои внутренние методологии как plugin, версионировать, обновлять у всех сотрудников одной командой. Для соло-предпринимателя это значит: ставь готовое и не изобретай.
Дерево решений: 4 вопроса перед каждой задачей
Свожу всю теорию в одну последовательность. Применяю её каждый раз, когда чувствую «надо что-то добавить в Claude».
Вопрос 1: это процедура с триггером, которую ты делаешь больше одного раза в день?
Если да - skill. Упакуй методологию в файл SKILL.md, опиши когда применять, добавь во frontmatter триггер-фразы (например, «новый гайд в Мастерскую» или «запиши ретро»). Skill самый дешёвый слой - загружается только когда нужен.
Вопрос 2: задача требует прочитать много файлов, прогнать длинный анализ или сделать параллельные проверки - и тебе не нужен этот мусор в основном чате?
Если да - subagent. Изоляция контекста главная и единственная фишка. Имя subagent делай специфичным (migration-test-writer, не qa-engineer).
Вопрос 3: задача требует живой связи с внешней системой (база данных, GitHub, Notion, Sentry, браузер)?
Если да - MCP. Это мост, который Claude использует чтобы дотянуться до сервиса. Помни цену в токенах: каждый MCP-сервер занимает место в каждой сессии.
Вопрос 4: хочешь взять чужое готовое решение пакетом, чтобы не собирать вручную?
Если да - plugin. Ставится одной строкой через marketplace. Подходит для типовых задач (frontend, тестирование, security), которые уже кто-то решил лучше тебя.
Если все 4 ответа «нет» - не делай ничего. Базовое поведение Claude + CLAUDE.md закроют 70% типичных задач вайб-кодера.
Внимание к порядку вопросов. Skill идёт первым специально - это самый дешёвый и самый частый правильный ответ. Subagent оправдан только при тяжёлом контексте, MCP только при внешнем доступе, plugin только если есть готовая чужая методология. Большинство ошибок выбора - люди сразу прыгают к subagent или MCP, не задав вопрос 1.
5 ошибок выбора слоя, которые делают вайб-кодеры
Эти 5 паттернов я вижу раз в неделю у вайб-кодеров, с которыми работаю. Каждый второй совершает хотя бы один из них на первой неделе.
Ошибка 1: subagent вместо skill.
Симптом: автор сделал subagent для «написания нового поста в блог». Каждый раз когда запускает subagent - тот загружается, читает методологию из 2 КБ, генерирует пост, закрывается. Через неделю автор замечает, что каждый запуск жжёт лишних 5К токенов на загрузку subagent'а.
Как должно быть: методология «как писать пост» - это skill. Триггер - фраза «новый пост в блог». Skill загружается в основной чат, не открывает отдельную сессию. Дешевле в 3-5 раз.
Ошибка 2: MCP-сервер вместо skill.
Симптом: автор написал MCP-сервер, который выдаёт инструкцию «как делать code review». В контексте постоянно висит декларация tools, описание схемы аргументов, документация. На каждый запрос съедается 2-3К токенов на ничего.
Как должно быть: «как делать code review» - это процедура, не доступ к внешней системе. Skill. MCP оправдан только если тебе нужен живой доступ - например, к Sentry чтобы вытащить последние ошибки.
Ошибка 3: plugin вместо CLAUDE.md.
Симптом: автор упаковал правила своего проекта («всегда используй TypeScript строгий режим», «не использовать любые тире», «использовать только pnpm не npm») в plugin и установил у себя. Каждая новая сессия теперь подгружает plugin, который дублирует то, что должно быть в CLAUDE.md.
Как должно быть: правила одного проекта - в CLAUDE.md этого проекта. Plugin для масштабируемой методологии, которой пользуются несколько человек или несколько репозиториев.
Ошибка 4: попытка сделать skill через hook.
Симптом: автор увидел, что hook автоматически запускается на событие (например, перед сохранением файла). Решил сделать «skill через hook» - чтобы Claude автоматически применял методологию при каждом редактировании. Получил: бесконечный цикл триггеров, выжженный контекст, непредсказуемое поведение.
Как должно быть: hook - это детерминированный код, который запускает команду, форматирует результат, блокирует операцию. Hook не загружает skill и не вызывает Claude. Если нужно «всегда применять методологию X» - это либо skill с триггером, либо запись в CLAUDE.md.
Ошибка 5: лишний слой когда вообще ничего не нужно.
Симптом: автор слышит про skills, читает гайды, решает «надо упаковать методологию» и тратит вечер на создание skill для задачи, которая встречается раз в месяц.
Как должно быть: одноразовая задача - в чат, ad-hoc. Skill оправдан только если делаешь это больше одного раза в день (правило Boris Cherny). Иначе - overengineering, который потом надо поддерживать.
Сквозной принцип через все 5 ошибок один: иди по дереву решений сверху по порядку. Skill - первый, subagent - второй, MCP - третий, plugin - четвёртый. Почти все промахи случаются, когда люди прыгают через шаги.
Что говорит Anthropic про fragmentation: куда движется Claude Code в 2026
Тред на Hacker News от 27 мая 2026 набрал 422 points и стал главной точкой публичной дискуссии про четыре слоя. Топ-комментарий, который подтвердил Boris Cherny:
Есть пять опций только для code review - команды, skills, subagents, plugins или просто промт в Claude напрямую - и в сущности это варианты одного и того же «вставь заготовленный промт», отличаются только способом установки и контекстом выполнения.
Boris Cherny ответил на комментарий публично:
Согласен, мы работаем над консолидацией. В дальнейшем это будет просто встроенный skill
/code-review.
Что из этого следует на ближайшие полгода - год.
Первое: skills становятся главным слоем для процедурных вещей. Anthropic явно делает ставку на этот слой как самый дешёвый и предсказуемый. Если ты в 2026 году не понимаешь зачем skill - изучи первым. Все остальные слои будут вокруг него.
Второе: subagent становится узкоспециализированным. Главная история про subagent - изоляция контекста для тяжёлых задач. Generic subagents типа «qa-engineer» исчезают, остаются специфичные (migration-test-writer, api-route-reviewer).
Третье: новые анонсы Anthropic за 14 дней - /workflows команда (28 мая 2026) для оркестрации десятков subagent'ов и Agent SDK billing split с 15 июня - программное использование переезжает на отдельный пул. Это сигнал: Anthropic строит инфраструктуру под автоматизированные системы из 10+ агентов, а не под одиночные сессии.
Для вайб-кодера 2026 это значит простую вещь: четыре слоя продержатся ещё минимум полгода, потом часть сольётся. Но дерево решений из 4 вопросов будет работать и после слияния - оно про природу задачи, не про конкретное имя слоя.
Готовая матрица: 10 типичных задач → правильный слой
| # | Триггерная ситуация | Правильный слой | Почему именно он |
|---|---|---|---|
| 1 | Claude промахивается с одним и тем же правилом 2-3 раза за сессию | CLAUDE.md | Reactive, всегда в контексте, не требует триггера |
| 2 | Печатаю одинаковый длинный промт больше одного раза в день | Skill | On-demand загрузка, не жрёт baseline-контекст |
| 3 | В третий раз вставляю в чат playbook на 1500 слов | Skill | Процедурная методология, загружается по триггер-фразе |
| 4 | Задача пожирает основной чат чтением 20+ файлов | Subagent | Изоляция контекста, в основной чат возвращается только summary |
| 5 | Нужно 5 параллельных одинаковых проверок (QA, review, lint) | Subagents | Запуск через run_in_background, общая длительность падает в 5 раз |
| 6 | Хочу читать issues из GitHub или последние ошибки из Sentry | MCP | Прямой доступ к внешней системе через стандартный протокол |
| 7 | Хочу запускать команду автоматически перед каждым git push | Hook | Детерминированный код, гарантия выполнения |
| 8 | Хочу перенести свой setup на второй репозиторий или новую машину | Plugin | Distribution через marketplace + namespace |
| 9 | Команда из 10 человек должна работать по одинаковым правилам | Plugin в team-marketplace | Versioned, install-once, обновляется централизованно |
| 10 | Нужно реагировать на webhook от внешнего сервиса (Telegram, GitHub Actions) | MCP-канал или Agent SDK | Push-сообщения в сессию из внешнего мира |
Главное правило применения этой таблицы - не пытайся «сделать все 10 сразу». Большинство соло-вайб-кодеров обходятся CLAUDE.md + 5-7 skills + 2-4 MCP. Subagents и plugins добавляются по мере роста проекта.
Что дальше: как собрать своё рабочее пространство в Claude Code
Эти пять слоёв ложатся не один за другим, а друг в друга. CLAUDE.md - фундамент проекта, остальные четыре подключаются по мере роста задач.
Один гайд - один кирпичик. Полная связка трёх китов методологии - ИИ-клон + Второй мозг + Контекст-инжиниринг - в практикуме. На 3 эфирах по 2 часа я показываю, как эти слои стыкуются с CLAUDE.md и архитектурой проекта в единую систему. У участников Claude в разы реже галлюцинирует и работает заметно стабильнее.
Источники
- Anthropic Engineering: Skills explained (13 ноября 2025)
- Claude Code docs: Skills overview
- Claude Code docs: Subagents
- Claude Code docs: MCP overview
- Claude Code docs: Plugins
- Hacker News thread 422pt: «Claude Code fragmentation», 27 мая 2026
- Boris Cherny: 35 Claude Code tips from the guy who built it (anup.io)
- Claude Code releases on GitHub
- Anthropic news: blog updates 2026
- Sentry MCP cookbook
- Trail of Bits skills repository
- Claude Plugins official marketplace
