Agent Skills¶
Agent Skills — это папки с инструкциями, скриптами и ресурсами, которые агенты могут обнаруживать и использовать для более точной и эффективной работы.
Зачем нужны Agent Skills?¶
Агенты становятся всё более способными, но часто им не хватает контекста для надёжного выполнения реальных задач. Skills решают эту проблему, предоставляя агентам доступ к процедурным знаниям и контексту, специфичному для компании, команды или пользователя, который они могут загружать по запросу. Агенты с доступом к набору навыков расширяют свои возможности в зависимости от выполняемой задачи.
Для авторов навыков: создавайте возможности один раз и развёртывайте их в нескольких агентских продуктах.
Для совместимых агентов: поддержка навыков позволяет конечным пользователям предоставлять агентам новые возможности прямо из коробки.
Для команд и предприятий: фиксируйте организационные знания в портативных пакетах с контролем версий.
Что могут обеспечить Agent Skills?¶
- Экспертиза в предметной области: упаковывайте специализированные знания в переиспользуемые инструкции — от процессов юридической проверки до конвейеров анализа данных.
- Новые возможности: предоставляйте агентам новые способности: создание презентаций, построение MCP-серверов, анализ наборов данных.
- Повторяемые рабочие процессы: превращайте многоэтапные задачи в согласованные и проверяемые процессы.
- Интероперабельность: используйте один и тот же навык в разных продуктах, совместимых со стандартом Skills.
Внедрение¶
Agent Skills поддерживаются ведущими инструментами разработки на основе ИИ.
Открытая разработка¶
Формат Agent Skills изначально разработан компанией Anthropic, выпущен как открытый стандарт и принят растущим числом агентских продуктов. Стандарт открыт для вклада со стороны сообщества.
Что такое навыки?¶
По своей сути навык — это папка, содержащая файл SKILL.md. Этот файл включает метаданные (как минимум name и description) и инструкции, которые сообщают агенту, как выполнять конкретную задачу. Навык также может содержать скрипты, шаблоны и справочные материалы.
Как работают навыки¶
Навыки используют прогрессивное раскрытие для эффективного управления контекстом:
- Обнаружение: при запуске агенты загружают только имя и описание каждого доступного навыка — ровно столько, чтобы понять, когда он может быть полезен.
- Активация: когда задача соответствует описанию навыка, агент считывает полные инструкции из
SKILL.mdв контекст. - Выполнение: агент следует инструкциям, при необходимости загружая указанные файлы или выполняя встроенный код.
Такой подход сохраняет быстродействие агентов и даёт доступ к дополнительному контексту по запросу.
Файл SKILL.md¶
Каждый навык начинается с файла SKILL.md, содержащего YAML-метаданные (frontmatter) и инструкции в формате Markdown:
В начале файла SKILL.md обязательно должны присутствовать следующие метаданные:
name: короткий идентификатор;description: когда использовать этот навык.
Тело в формате Markdown содержит собственно инструкции и не имеет ограничений по структуре или содержанию.
Этот простой формат имеет ряд ключевых преимуществ:
- Самодокументируемость: автор или пользователь навыка может прочитать
SKILL.mdи понять, что он делает. Это упрощает аудит и улучшение навыков. - Расширяемость: навыки могут варьироваться по сложности — от простых текстовых инструкций до исполняемого кода, ресурсов и шаблонов.
- Портативность: навыки — это просто файлы, поэтому их легко редактировать, версионировать и делиться ими.
Следующие шаги¶
- Ознакомьтесь со спецификацией, чтобы понять полный формат.
- Добавьте поддержку навыков в вашего агента, чтобы создать совместимый клиент.
- Посмотрите примеры навыков на GitHub.
- Прочитайте лучшие практики создания навыков для написания эффективных навыков.
- Используйте справочную библиотеку для валидации навыков и генерации XML-промптов.
Спецификация¶
Этот документ определяет формат Agent Skills.
Структура каталога¶
Навык — это каталог, содержащий как минимум файл SKILL.md:
Можно дополнительно включить необязательные каталоги: scripts/, references/ и assets/.
Формат SKILL.md¶
Файл SKILL.md должен содержать YAML-метаданные (frontmatter), за которыми следует содержимое в формате Markdown.
Пример¶
Метаданные (обязательные)¶
С необязательными полями:
Обязательные и необязательные поля¶
| Поле | Обязательно | Ограничения |
|---|---|---|
name | Да | Максимум 64 символа. Только строчные буквы, цифры и дефисы. Не должно начинаться или заканчиваться дефисом. |
description | Да | Максимум 1024 символа. Непустое. Описывает, что делает навык и когда его использовать. |
license | Нет | Название лицензии или ссылка на прилагаемый файл лицензии. |
compatibility | Нет | Максимум 500 символов. Указывает требования к среде: целевой продукт, системные пакеты, доступ к сети и т. д. |
metadata | Нет | Произвольное отображение ключ-значение для дополнительных метаданных. |
allowed-tools | Нет | Список предварительно одобренных инструментов, которые может использовать навык, разделённый пробелами. Экспериментальное. |
Поле name¶
Обязательное поле name:
- содержит от 1 до 64 символов;
- может содержать только строчные буквенно-цифровые символы Unicode и дефисы (
a-zи-); - не начинается и не заканчивается символом
-; - не содержит последовательных дефисов (
--); - совпадает с именем родительского каталога.
Допустимые примеры:
Недопустимые примеры:
Поле description¶
Обязательное поле description:
- содержит от 1 до 1024 символов;
- описывает и то, что делает навык, и когда его использовать;
- включает конкретные ключевые слова, помогающие агентам определить релевантные задачи.
Хороший пример:
Плохой пример:
Поле license¶
Необязательное поле license:
- указывает лицензию, применяемую к навыку;
- рекомендуется делать кратким: либо название лицензии, либо имя прилагаемого файла лицензии.
Пример:
Поле compatibility¶
Необязательное поле compatibility:
- содержит от 1 до 500 символов, если указано;
- следует включать только в том случае, если навык имеет специфические требования к среде;
- может указывать целевой продукт, необходимые системные пакеты, потребность в доступе к сети и т. д.
Примеры:
Большинству навыков поле compatibility не требуется.
Поле metadata¶
Необязательное поле metadata:
- представляет собой отображение строковых ключей в строковые значения;
- клиенты могут использовать его для хранения дополнительных свойств, не определённых спецификацией Agent Skills;
- рекомендуется делать имена ключей достаточно уникальными, чтобы избежать случайных конфликтов.
Пример:
Поле allowed-tools¶
Необязательное поле allowed-tools:
- список инструментов, предварительно одобренных для запуска, разделённый пробелами;
- экспериментальное: поддержка поля может различаться в разных реализациях агентов.
Пример:
Содержимое тела¶
Тело в формате Markdown после метаданных содержит инструкции навыка. Ограничений по формату нет. Пишите всё, что помогает агентам эффективно выполнять задачу.
Рекомендуемые разделы:
- пошаговые инструкции;
- примеры входных и выходных данных;
- типичные крайние случаи.
Агент загрузит весь этот файл после принятия решения об активации навыка. Поэтому длинное содержимое SKILL.md стоит разделить на отдельные файлы, на которые можно ссылаться.
Необязательные каталоги¶
scripts/¶
Содержит исполняемый код, который агенты могут запускать. Скрипты должны:
- быть самодостаточными или чётко документировать зависимости;
- включать полезные сообщения об ошибках;
- корректно обрабатывать крайние случаи.
Поддерживаемые языки зависят от реализации агента. Распространённые варианты включают Python, Bash и JavaScript.
references/¶
Содержит дополнительную документацию, которую агенты могут читать при необходимости:
REFERENCE.md— подробный технический справочник;FORMS.md— шаблоны форм или форматы структурированных данных;- предметно-ориентированные файлы (
finance.md,legal.mdи т. д.).
Сохраняйте отдельные файлы-ссылки сфокусированными. Агенты загружают их по запросу, поэтому файлы меньшего размера означают меньшее использование контекста.
assets/¶
Содержит статические ресурсы:
- шаблоны документов и конфигурации;
- изображения: диаграммы, примеры;
- файлы данных: таблицы подстановки, схемы.
Прогрессивное раскрытие¶
Навыки должны быть структурированы для эффективного использования контекста:
- Метаданные (~100 токенов): поля
nameиdescriptionзагружаются при запуске для всех навыков. - Инструкции (рекомендуется < 5000 токенов): полное тело
SKILL.mdзагружается при активации навыка. - Ресурсы (по мере необходимости): файлы из
scripts/,references/илиassets/загружаются только при необходимости.
Держите основной файл SKILL.md в пределах 500 строк. Переносите подробные справочные материалы в отдельные файлы.
Ссылки на файлы¶
При ссылке на другие файлы в навыке используйте относительные пути от корня навыка:
Держите ссылки на файлы на одном уровне вложенности от SKILL.md. Избегайте глубоко вложенных цепочек ссылок.
Валидация¶
Используйте справочную библиотеку skills-ref для валидации ваших навыков:
Это проверяет, что метаданные вашего SKILL.md валидны и соответствуют всем соглашениям об именовании.
Интеграция навыков в вашего агента¶
Это руководство объясняет, как добавить поддержку навыков в ИИ-агента или инструмент разработки.
Подходы к интеграции¶
Два основных подхода к интеграции навыков:
Агенты на основе файловой системы работают в компьютерной среде (bash/unix) и представляют собой наиболее функциональный вариант. Навыки активируются, когда модели выполняют команды оболочки, такие как cat /path/to/my-skill/SKILL.md. Встроенные ресурсы доступны через команды оболочки.
Агенты на основе инструментов функционируют без выделенной компьютерной среды. Вместо этого они реализуют инструменты, позволяющие моделям запускать навыки и получать доступ к встроенным ресурсам. Конкретная реализация остаётся на усмотрение разработчика.
Совместимый с навыками агент должен:
- Обнаруживать навыки в настроенных каталогах.
- Загружать метаданные (имя и описание) при запуске.
- Сопоставлять задачи пользователя с релевантными навыками.
- Активировать навыки, загружая полные инструкции.
- Выполнять скрипты и получать доступ к ресурсам по мере необходимости.
Обнаружение навыков¶
Навыки — это папки, содержащие файл SKILL.md. Ваш агент должен сканировать настроенные каталоги в поисках допустимых навыков.
Загрузка метаданных¶
При запуске разбирайте только метаданные (frontmatter) каждого файла SKILL.md. Это сохраняет низкое начальное использование контекста.
Разбор метаданных¶
Внедрение в контекст¶
Включите метаданные навыков в системный промпт, чтобы модель знала, какие навыки доступны.
Следуйте рекомендациям вашей платформы по обновлению системных промптов. Например, для моделей Claude рекомендуемый формат использует XML:
Для агентов на основе файловой системы включите поле location с абсолютным путём к файлу SKILL.md. Для агентов на основе инструментов поле location можно опустить.
Сохраняйте метаданные лаконичными. Каждый навык должен добавлять примерно 50–100 токенов к контексту.
Вопросы безопасности¶
Выполнение скриптов несёт риски безопасности. Рекомендуется учитывать:
- Изоляция (sandboxing): запускайте скрипты в изолированных средах.
- Белые списки (allowlisting): выполняйте только скрипты из доверенных навыков.
- Подтверждение: запрашивайте у пользователей разрешение перед выполнением потенциально опасных операций.
- Логирование: записывайте все выполнения скриптов для аудита.
Эталонная реализация¶
Библиотека skills-ref предоставляет утилиты на Python и CLI для работы с навыками.
Например:
Валидация каталога навыка:
Генерация XML <available_skills> для промптов агента:
Используйте исходный код библиотеки в качестве эталонной реализации.
Источник — https://agentskills.io/