Agent Plugins 1.0: один пакет для skills и MCP

12 августа 2026 года Agent Plugins 1.0 стал общедоступным в VS Code, Copilot CLI, GitHub Copilot SDK и приложении Copilot — на всех тарифах Copilot. Неделей раньше, 6 августа, Google объявила о вступлении в число Core Maintainer той же спецификации, опубликованной мейнтейнерами из Amazon, Cursor, Microsoft, OpenAI и Vercel. Практический итог: у возможностей агента появился один формат упаковки вместо отдельного формата под каждого клиента.

Проблема: компоненты переносимы, оболочка — нет

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

Что изменилось

Спецификация — версия 1.0.0, статус Working Draft — намеренно описывает минимум. В корне пакета лежит plugin.json, и обязательных полей ровно два: $schema со ссылкой на канонический адрес схемы и name длиной от 1 до 64 символов из строчных латинских букв, цифр, дефисов и точек. Остальное — необязательные метаданные: version, description, author, repository, license, keywords.

В первой версии признаются два типа компонентов:

  • Skills — обнаруживаются автоматически в каталоге skills/, каждый подкаталог содержит SKILL.md.
  • MCP-серверы — объявляются в mcp.json через stdio, Streamable HTTP или устаревший SSE.

Всё, что относится к конкретному клиенту, изолируется в каталоге с именем обратного домена, например com.github.copilot/, и имеет соответствие в манифесте под полем extensions. Общее ядро остаётся общим, вендорское — локализованным, и всё это внутри одного пакета.

Практический пример

Минимально допустимый манифест:

json plugin.json
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "reports-plugin",
  "version": "1.0.0",
  "description": "Report generation skills and data tools",
  "license": "MIT"
}

Структура на диске:

bash reports-plugin/
reports-plugin/
├── plugin.json          # обязателен
├── skills/
│   └── summarize/
│       └── SKILL.md
├── mcp.json             # опционален
└── com.github.copilot/  # только для одного клиента

И объявление сервера. Важное правило: относительные пути внутри плагина должны начинаться с ./ и не выходить за его корень.

json mcp.json
{
  "mcpServers": {
    "reports-db": {
      "command": "./bin/reports-server",
      "args": ["--read-only"],
      "env": { "REPORTS_REGION": "eu-central-1" }
    }
  }
}

Реальные оговорки

  • Статус Working Draft. Версия 1.0.0 опубликована и уже реализована, но это не замороженная финальная редакция — детали ещё могут меняться.
  • Узкая область охвата, и это осознанно. Спецификация не определяет ни механизм установки, ни протокол распространения, ни модель разрешений. Все три вопроса оставлены клиентам, поэтому дистрибуция и управление по-прежнему различаются между платформами.
  • Безопасность остаётся на вас. Плагин может нести хуки и MCP-серверы, выполняющие код на вашей машине. Документация VS Code прямо предупреждает об этом и советует проверять издателя. На уровне организации доступ регулируют enabledPlugins и strictKnownMarketplaces в managed-settings.json. Аутентификация самих серверов — зона ответственности спецификации MCP, о чём был отдельный разбор.
  • Вендорская часть остаётся вендорской. Каталог com.github.copilot/ не прочитает никакой другой клиент. Переносимыми стали оболочка и ядро, а не всё содержимое пакета.
  • Прямая совместимость гарантирована. Неизвестные поля не должны мешать клиенту загрузить плагин — это позволяет спецификации развиваться, не ломая уже собранные пакеты.

Вывод

Ценность здесь не в новой способности агента, а в исчезающей дублирующей работе: один компонент, один пакет, много клиентов. Тем, кто сегодня выпускает skills или MCP-серверы, шаг понятен: добавить plugin.json, соответствующий схеме, перенести компоненты в skills/ и mcp.json, а клиентское — в каталог его пространства имён. Стандарт не заменяет тех, кто строит инструменты; он умножает их отдачу, избавляя от сопровождения двух копий одного и того же.

Первоисточник: спецификация Agent Plugins 1.0 и анонс GitHub.