Skills (Навыки)
Поддерживается открытый стандарт SKILLs (Навыки). Навык решает одну узкую задачу, а агент подключает его автоматически при необходимости.
Как добавить Skill
Добавьте новый Skill через меню нового чата, как показано на видео. Опишите сценарий, который хотите закрепить: агент уточнит детали и подготовит нужные Markdown-файлы в правильной папке.
Проектный Skill сохраняется в .veai/skills/<имя-навыка>/SKILL.md. Выбирайте этот вариант для процедуры, связанной с конкретным репозиторием: например, для принятого в команде порядка проверки миграций. Чтобы добавить такой навык:
- Создайте Skill из меню нового чата в нужном проекте.
- Убедитесь, что файл появился в
.veai/skills/<имя-навыка>/SKILL.md. - Добавьте каталог навыка в VCS, если им должна пользоваться вся команда.
Глобальные навыки находятся в ~/.veai/skills. Они подходят для личных процедур, которые нужны в разных проектах: например, для привычного формата анализа стектрейса. Чтобы создать глобальный навык, выберите глобальную область при добавлении Skill и проверьте файл в ~/.veai/skills/<имя-навыка>/SKILL.md.
В YAML front matter обязательны name и description, а Markdown-тело содержит инструкцию для агента. Полный контракт, включая допустимые поля, порядок разрешения одинаковых имён и ошибки загрузки, приведён в справочнике схемы SKILL.md.
Ручное описание навыков даёт заметный прирост качества (по внутренним замерам ~15–20%) по сравнению с их автоматической генерацией.
Skills из dot-директорий других инструментов
Veai ищет навыки не только в .veai/skills/*/SKILL.md, но и в распознанных dot-директориях других инструментов, например .claude/skills/*/SKILL.md.
Это позволяет переиспользовать навыки и инструкции, которые уже лежат в конфигурационных папках других AI-инструментов, без копирования в .veai. Если имена совпадают, проектный навык имеет приоритет над глобальным, а .veai — над другим dot-каталогом в той же области.
Распознанные dot-директории подсвечиваются в дереве проекта, чтобы было видно, какие корни конфигурации использует Veai. Это полезно, когда команда работает с разными AI-ассистентами и не хочет дублировать Skills для каждого инструмента.
Автоматический выбор навыка
Агент видит description доступных ему навыков и по нему решает, какой навык подключить к текущей задаче. Автоматический выбор полезен, когда пользователь формулирует цель обычными словами и не помнит имя навыка. Например, запрос «проверь PR по командному чек-листу» может подключить соответствующий навык без /-команды.
Чтобы автоматический выбор срабатывал предсказуемо:
- В
descriptionназовите задачу и ситуацию применения навыка. - Сформулируйте запрос теми же предметными словами.
- Если навык должен быть доступен определённым агентам, настройте
used-by.
Подробные форматы полей приведены в схеме SKILL.md.
Выбор агента для Skill
Поле agent определяет агента для ручного запуска Skill из каталога или через /-команду. Оно нужно, когда текущий режим не подходит процедуре. Например, многошаговый навык с исследованием, реализацией, тестами и ревью стоит запускать через Orchestrator.
Чтобы закрепить агента:
- Откройте
SKILL.md. - Укажите имя агента в поле
agent. - Запустите навык из каталога или через
/имя-навыка.
Поле used-by управляет автоматическим выбором. Используйте его, когда навык должен видеть не каждый агент: например, навык генерации тестов можно разрешить Test и General. Укажите нужных агентов в списке used-by. Если автоматический запуск нужно полностью запретить, оставив ручной вызов, задайте пустой список. Точная семантика отсутствующего и пустого значения описана в схеме SKILL.md.
Ручной вызов навыков через /-команды

Навыки можно вызывать вручную через /-команды прямо в чате.
По умолчанию навыки запускаются автоматически, когда агент решает, что они нужны. Однако вы можете явно вызвать конкретный навык, например /refactor, чтобы гарантированно выполнить нужный сценарий.
Это полезно, когда вы точно знаете, какой навык хотите применить, и не хотите полагаться на автоматический выбор агента — например, при запуске ревью PR или генерации тестов по конкретному шаблону.