Мир AI-кодинга фрагментировался. У нас есть Claude Code с его нативной средой, Antigravity (Gemini) с поддержкой MCP, плюс Cursor и Windsurf. У каждого — свой способ расширения функциональности.
Когда я портировал плагин Superpower (структурированный воркфлоу разработки) из Claude Code
в
Antigravity, я столкнулся с фундаментальной разницей в архитектуре. Давайте разберем, чем отличаются
Plugins, Skills и Workflows, и почему это важно для
инженера.
1. Определения: Вавилонская башня терминов
Чтобы понять, как управляться с роем AI-агентов, нужно четко разделить уровни абстракции. Это не просто синонимы, это разные инструменты для разных задач.
Plugins (Плагины)
Это исполняемый код, который живет в runtime агента.
- Суть: Вы расширяете саму программу-клиент. Плагин имеет доступ к бесконечному циклу REPL, может перехватывать ввод пользователя, рисовать прогресс-бары поверх вывода и менять поведение терминала.
- Пример: Плагин для Claude Code, который запрещает отправлять промпт, если он короче 10 символов.
- Плюс: Полный контроль над UX.
- Минус: Жесткая привязка к платформе (Vendor Lock-in). Ваш JS-плагин для Claude Code бесполезен для Gemini.
Skills (Скиллы)
Это Инструкция + Инструменты. Это подход «учителя».
- Суть: Вы не меняете код агента. Вы даете ему «учебник» (Markdown-файл) и «калькулятор» (скрипт). Агент сам решает, когда их применить.
- Пример:
SKILL.mdв Antigravity. Файл говорит: «Если нужно проверить тесты, запусти скрипт». Скриптverify.pyвыполняет грязную работу. - Плюс: Абсолютная переносимость. Текст инструкции поймет и GPT-4, и Claude 3.5, и Llama 3. А Python-скрипт запустится везде.
- Минус: Меньше контроля над UX. Вы не можете заставить агента «молчать» или рисовать графику в консоли.
Workflows (Воркфлоу)
Это Оркестрация процессов. Это уровень менеджера.
- Суть: Воркфлоу — это не код, это граф состояний. Это рецепт, который говорит: «Сначала сделай Brainstorm (Скилл А), потом Plan (Скилл Б), потом Execute (Скилл В)».
- Пример: Superpower Workflow. Это не просто набор инструментов. Это обязательство пройти фазы в строгом порядке.
- Отличие: Плагин — это «как делать». Скилл — «чем делать». Воркфлоу — «в каком порядке делать».
┌───────────────────────────────┐ ┌───────────────────────────────┐ │ Plugin Architecture │ │ Skill Architecture │ │ (Tight Coupling) │ │ (Loose Coupling) │ ├───────────────────────────────┤ ├───────────────────────────────┤ │ │ │ │ │ ┌────────────┐ │ │ ┌────────────┐ │ │ │ CLAUDE CLI │◄──┐ │ │ │ ANY AGENT │ │ │ └─────┬──────┘ │ JS API │ │ └─────┬──────┘ │ │ │ │ │ │ │ Reads │ │ ┌─────▼───────┐ │ │ │ ┌─────▼──────┐ │ │ │ JS PLUGIN ├──┘ │ │ │ SKILL.md │ (Text) │ │ └─────────────┘ │ │ └─────┬──────┘ │ │ ▲ │ │ │ Calls │ │ │ Blocks │ │ ┌─────▼──────┐ │ │ │ Input │ │ │ PYTHON tool│ (Universal) │ │ │ │ └────────────┘ │ └───────────────────────────────┘ └───────────────────────────────┘
2. Кейс-стади: Портирование Superpower
Задача была простой: взять методологию «Superpower» (строгое TDD и планирование) и заставить её работать в Antigravity.
В оригинале (Claude Code) это был плагин. Он перехватывал ввод пользователя и принудительно переключал режимы. Если вы пытались написать код без теста, плагин *физически* блокировал отправку команды.
Решение в Antigravity (Skill-based)
В Antigravity мы не можем (и не хотим) блокировать клавиатуру пользователя. Мы пошли путем Social Contract с агентом.
# Структура Скилла
SKILL.md -> Инструкция (Правила игры)
scripts/
├── plan.py -> Генератор плана (Tool)
└── verify.py -> Ревизор тестов (Tool)
Как это работает:
- Мы говорим агенту: «Ты в режиме Superpower». (Загружается контекст из
SKILL.md). - Агент читает правило: «Перед кодингом ЗАПУСТИ verify.py».
- Агент запускает скрипт. Скрипт проверяет файлы и орет красным текстом в консоль, если тестов нет.
- Агент видит ошибку в выводе инструмента и сам себя останавливает: «Ой, я забыл тест. Пишу тест.»
Мы заменили хардкод (блокировку ввода) на софт-скилл (понимание ошибки инструмента).
3. Битва подходов: Интеграция против Универсальности
Что выбрать при создании своих инструментов?
Аргументы за Плагины (Claude Code Style)
Если вам нужно изменять поведение интерфейса (например, рисовать красивые прогресс-бары в терминале) — нужны плагины. Скиллы ограничены текстовым выводом и вызовом функций. Используйте плагины для DX-инструментов (Developer Experience).
Аргументы за Скиллы (MCP / Antigravity Style)
Если вы строите бизнес-логику или долгосрочные знания — выбирайте
скиллы. Ваш SKILL.md будет
актуален и через год, когда выйдет GPT-6 или Claude 5. Ваш JS-плагин для конкретной версии CLI устареет
при
смене API следующей версии.
Кроме того, Скиллы (через MCP) позволяют агенту «ходить» за данными во внешние системы (Jira, GitHub, Database), не требуя установки сложного софта на машину пользователя.
Правило большого пальца: Логику процесса пишите в Markdown (Instruction). Жесткую логику проверок и вычислений — в Python (Tools). Никогда не смешивайте.
Заключение
Будущее не за монолитными «плагинами», а за агентскими протоколами (как MCP). Мы движемся к миру, где «Скилл» — это переносимый файл, который вы можете «загрузить» в любого агента, будь то Antigravity, Windsurf или OpenDevin.
Портирование Superpower доказало: строгий инженерный процесс (Воркфлоу) можно реализовать на любой платформе, если отделить Инструкции от Инструментов.