Содержание
Copilot skills: как создать и подключить навык
Черновик готовит редакция с помощью ИИ. За стандарт издания отвечает главный редактор — Валерий Курземнек.
Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 16 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.
Copilot skills: как создать и подключить навык — это набор инструкций в файле SKILL.md, который агент Copilot находит в репозитории или профиле пользователя и активирует под подходящий запрос. Навык живёт в отдельной папке, содержит YAML-метаданные и Markdown-тело. Ниже — проверка поддержки, путь хранения, минимальный файл, запуск и разбор ошибок обнаружения.
Проверить поддержку Agent Skills
Навыки агента в Visual Studio описаны в документации Microsoft как многократно используемые наборы инструкций, которые учат Copilot агентам выполнять определённые задачи: запуск конвейера сборки, создание шаблонов, соблюдение стандартов программирования команды. Определив навыки один раз, вы экономите время и получаете согласованное поведение в рабочем процессе. Это базовая формулировка из документации проекта.
Практический порядок проверки:
- Откройте версию Visual Studio и сравните её с 18.5 или более поздней.
- Проверьте наличие рабочих нагрузок .NET и Azure, если нужны встроенные навыки.
- Откройте список инструментов в Copilot Chat и разверните раздел Встроенные.
- Для Copilot Studio проверьте, что агент создан на базе GitHub Copilot.
Счёт по выдаче: скачали подборку результатов веб-поиска по запросу «Copilot skills: как создать и подключить навык»: текст отдали 9 из 10. Медиана объёма читаемого текста топа — 1189 слов. Метку 2026 года несут 6 из 9 прочитанных страниц.
Различить skills инструкции и MCP
Различие лежит в природе компонента. Документация Microsoft Copilot Studio относит к инструментам действия с использованием внешних служб: соединители, API, MCP-серверы. Навыки там же описаны как многократно используемые возможности для конкретных задач, хранимые в файлах или пакетах на основе Markdown. Инструмент подключается к внешней службе, навык несёт самодостаточный набор инструкций и логики.
В документации Visual Studio сказано, что навыки дополняют пользовательские агенты и пользовательские инструкции. Пользовательские агенты определяют образ и набор инструментов, пользовательские инструкции задают общие параметры программирования, а навыки предоставляют конкретные рекомендации для задач, которые любой агент может автоматически найти и использовать. Это разделение уровней: агент, общие инструкции, точечный навык.
В документации GitHub по добавлению навыков агента есть отдельный раздел «Навыки против пользовательских инструкций». Это подтверждает, что граница между двумя сущностями проводится осознанно и описывается отдельно.
Сравнение по назначению:
| Компонент | Что задаёт | Где живёт | Кто активирует |
|---|---|---|---|
| Инструкции | Общее поведение и личность агента | Конфигурация идентификаций | Всегда в рамках агента |
| Знания | Данные, к которым агент обращается | Источники знаний | По запросу к данным |
| Tools | Действия с внешними службами | Соединители, API, MCP-серверы | Вызов инструмента |
| Skills | Возможности для конкретных задач | Файлы или пакеты на основе Markdown | Механизм оркестрации |
Практический вывод для читателя: если задача требует обращения к внешней службе, речь идёт об инструменте или MCP-сервере. Если задача требует воспроизводимого порядка действий внутри агента, речь идёт о навыке. Один сценарий может использовать оба компонента: навык описывает порядок, инструмент выполняет внешний вызов.
Проверить область и путь хранения
Область навыка определяет, кто его видит. В документации Visual Studio названы два уровня. Навыки рабочей области или проекта хранятся в репозитории в каталогах .github/skills/, .claude/skills/, .agents/skills/. Личные навыки хранятся в профиле пользователя в каталогах ~/.copilot/skills/, ~/.claude/skills/, ~/.agents/skills/.
Разница в распространении. Навыки рабочего пространства передаются вашей команде через систему управления версиями. Личные навыки применяются ко всем вашим проектам и не ограничиваются никаким репозиторием. Выбор области — это выбор между командным доступом и личным удобством.
Структура каталога навыка описана в документации Visual Studio так:
your-repo/
└── .github/
└── skills/
└── github-issues/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
└── assets/ # Optional: templates, resources
Каждый навык — это каталог, содержащий файл SKILL.md, который соответствует спецификации agentskills.io. У каждого навыка должна быть своя собственная папка, например .github/skills/github-issues/. При необходимости добавьте скрипты, примеры или другие ресурсы в каталог навыка.
Порядок создания каталогов:
- Создайте каталог навыков. Для навыка рабочей области используйте
.github/skills/в корне репозитория. Для личного навыка используйте~/.copilot/skills/. - Создайте подкаталог для вашего навыка с осмысленным именем.
- Создайте файл SKILL.md в директории навыка.
- Добавьте при необходимости папки scripts, references, assets.
Имя папки связано с полем name в метаданных: в документации Visual Studio указано, что name должно соответствовать имени родительского каталога. Это частая причина, по которой навык не обнаруживается: папка названа одним словом, а поле name содержит другое.
Собрать минимальный SKILL.md
Файл должен содержать YAML frontmatter, за которым следует содержимое Markdown. Это требование документации Visual Studio. Файл содержит интерфейсный элемент YAML с метаданными, за которыми следуют инструкции Markdown.
Обязательных полей два. Поле name: только строчные буквы, цифры и дефисы, соответствие имени родительского каталога, не более 64 символов. Поле description: описывает, что делает навык и когда его использовать, не более 1024 символов. Остальные поля необязательные: license, compatibility, metadata, allowed-tools. Поле allowed-tools — разделённая пробелами строка предварительно утверждённых инструментов, которые может использовать навык.
Пример из документации Visual Studio:
---
name: github-issues
description: Creates and manages GitHub issues following team conventions. Use when working with issue tracking, bug reports, or feature requests.
---
When creating GitHub issues:
- Use the standard title format: [Component] Brief description
- Add appropriate labels based on issue type
- Include reproduction steps for bug reports
- Link related issues and PRs
Промпт, чтобы получить черновик SKILL.md под вашу задачу:
Ты помогаешь составить файл SKILL.md для агента GitHub Copilot.
Тема навыка: [ваша тема].
Целевой сценарий: [когда навык должен активироваться].
Среда: [Visual Studio или Copilot Studio].
Верни один файл SKILL.md: YAML frontmatter с полями name и description,
затем тело на Markdown. В name используй только строчные буквы, цифры
и дефисы. В description укажи, что делает навык и когда его использовать.
В теле дай пошаговый порядок действий, требования к формату ответа
и ссылки на инструменты, если они нужны. Пиши кратко и по делу.
Что менять под себя: [ваша тема], [когда навык должен активироваться], [Visual Studio или Copilot Studio]. Вариации той же задачи: черновик навыка для код-ревью по чек-листу команды; черновик навыка для оформления баг-репортов; черновик навыка для подготовки релизных заметок; черновик навыка для проверки миграций базы данных; черновик навыка для разбора инцидентов.
Практика описания: в документации Visual Studio есть отдельный раздел с советами по эффективному описанию навыков. Общий принцип — description определяет, когда оркестратор вызовет навык, поэтому в нём стоит называть и задачу, и условия её появления.
Проверить применение навыка
При использовании режима agent Copilot автоматически обнаруживает навыки из репозитория и профиля пользователя. Агент решает, когда навык относится к запросу, и активирует его. При активации навыка он отображается в чате, чтобы сообщить, что он применяется. Это описание из документации Visual Studio задаёт первую точку проверки: навык виден в чате в момент активации.
В Copilot Studio проверка иная. После добавления навыка тестируйте агента на вкладке Preview, чтобы убедиться, что навык работает как ожидается. Это прямая рекомендация из документации Copilot Studio. Там же сказано: начните с простого навыка и уточняйте его по результатам тестирования; инструкции навыков, созданных из пустого, можно редактировать в любой момент из панели конфигурации навыка.
Порядок проверки в Visual Studio:
- Откройте Copilot Chat в режиме agent.
- Отправьте запрос, который по смыслу совпадает с description навыка.
- Проследите, появилось ли уведомление об активации навыка в чате.
- Если навык не активировался, проверьте формулировку description.
- Если активация произошла, но поведение не то, правьте тело Markdown.
Порядок проверки в Copilot Studio:
- Добавьте навык агенту.
- Откройте вкладку Preview.
- Отправьте запрос, соответствующий назначению навыка.
- При необходимости отредактируйте инструкции в панели конфигурации.
- Повторите тест после правок.
Отдельный слой — встроенные навыки. Их можно включить и выключить в списке инструментов, и документация Visual Studio советует включать только те, которые относятся к вашим задачам. Лишние включённые навыки расширяют набор активных инструкций и меняют поведение агента.
Разобрать ошибки обнаружения
Первая частая причина — несовпадение имени папки и поля name. В документации Visual Studio указано, что name должно соответствовать имени родительского каталога. Если папка называется github-issues, а в frontmatter стоит другое значение, обнаружение ломается.
Вторая причина — неверный путь. Навыки рабочей области ищутся в .github/skills/, .claude/skills/, .agents/skills/ внутри репозитория. Личные навыки ищутся в ~/.copilot/skills/, ~/.claude/skills/, ~/.agents/skills/ в профиле пользователя. Файл, положенный в произвольную папку, в этот список не попадает.
Третья причина — нарушение формата имени. В документации Visual Studio для поля name заданы только строчные буквы, цифры и дефисы, а также ограничение в 64 символа. В документации Copilot Studio для имени навыка заданы те же символы и запрет на дефис в начале и в конце. Заглавные буквы и подчёркивания выходят за эти рамки.
Четвёртая причина — слабый description. Механизм оркестрации решает, когда активировать навык, исходя из сообщения пользователя и описания навыка. Если description не называет условия применения, оркестратор не получает сигнала для вызова.
Пятая причина — отсутствие YAML frontmatter. Файл должен содержать YAML frontmatter, за которым следует содержимое Markdown. Тело без метаданных не даёт агенту ни имени, ни описания.
Диагностическая таблица:
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Навык не виден в списке | Неверный путь хранения | Каталоги skills в репозитории или профиле |
| Навык виден, но не активируется | Слабый description | Условия применения в описании |
| Ошибка при загрузке | Нарушен frontmatter | YAML перед телом Markdown |
| Навык активируется не там | Совпадение описаний | Развести формулировки задач |
| Имя не принимается | Недопустимые символы | Строчные буквы, цифры, дефисы |
Отдельно стоит проверить версию среды. Для навыков агента в Visual Studio документация называет версию 18.5 или более позднюю, а для создания через панель навыков — Insiders версии 18.6 или более поздней. Работа на более старой сборке объясняет часть расхождений между ожиданием и результатом.
Частые вопросы
Что такое Copilot skills простыми словами?
Это папка с файлом SKILL.md, в котором лежат метаданные и инструкции для агента. Документация Microsoft описывает навыки агента как многократно используемые наборы инструкций, которые учат Copilot агентам выполнять определённые задачи. Агент находит такой набор в репозитории или профиле пользователя и активирует его под подходящий запрос. Навык виден в чате в момент активации.
Чем навык отличается от MCP-сервера?
MCP-сервер относится к инструментам: в документации Copilot Studio инструменты описаны как действия с использованием внешних служб, включая соединители, API и MCP-серверы. Навык там же описан как самодостаточный набор инструкций и логики на основе Markdown. Инструмент выполняет внешний вызов, навык задаёт порядок действий агента. В одном сценарии они работают вместе.
Где хранить навык для команды?
Навыки рабочей области хранятся в репозитории в каталогах .github/skills/, .claude/skills/ или .agents/skills/. Документация Visual Studio указывает, что такие навыки передаются команде через систему управления версиями. Личные навыки лежат в профиле пользователя в каталогах ~/.copilot/skills/, ~/.claude/skills/ или ~/.agents/skills/ и применяются ко всем проектам.
Почему навык не обнаруживается?
Проверьте три вещи: путь хранения, совпадение имени папки с полем name и наличие YAML frontmatter перед телом Markdown. В документации Visual Studio указано, что name должно соответствовать имени родительского каталога и содержать только строчные буквы, цифры и дефисы. Слабый description тоже мешает: оркестратор опирается на описание при выборе навыка.
Как проверить, что навык применился?
В Visual Studio при активации навыка он отображается в чате, чтобы сообщить, что он применяется. Отправьте запрос, совпадающий по смыслу с description, и проследите за уведомлением. В Copilot Studio документация советует тестировать агента на вкладке Preview после добавления навыка. Инструкции навыка, созданного из пустого, редактируются в панели конфигурации.
Полезные материалы по теме: Claude Code в Visual Studio: как подключить и работать, Claude Code презентация: как собрать и проверить слайды, Claude Code для видео: как автоматизировать монтаж, Как создать изображение в Copilot: пошаговая инструкция.
