Skip to main content

Скиллы (Skills)

Что такое скилл​

Скилл — это каталог с файлом SKILL.md, в котором описана повторно используемая инструкция: как подготовить release notes, провести ревью, развернуть сервис. В отличие от правила, скилл не действует постоянно. Его применяет модель, когда считает подходящим, или вы — вызывая по имени командой /<name>.

tip

Попросите агента: «Создай скилл для подготовки release notes по смёрженным PR». Он создаст каталог и SKILL.md с корректным frontmatter.

Где агент ищет скиллы​

Скиллом считается любой каталог с SKILL.md внутри одного из корней ниже, на любой глубине вложенности. Символические ссылки не обходятся.

Корень проектаГлобальный корень
<проект>/.veai/skills~/.veai/skills
<проект>/.claude/skills~/.claude/skills
<проект>/.agents/skills~/.agents/skills
<проект>/.pi/skills~/.pi/agent/skills
<проект>/.opencode/skills~/.config/opencode/skills
<проект>/.kilo/skills~/.kilo/skills
<проект>/.gemini/skills~/.gemini/skills
<проект>/.cursor/skills~/.cursor/skills

Каталоги других инструментов читаются, чтобы уже собранные коллекции скиллов работали без переноса. Приоритета между корнями нет. Новый скилл создавайте в <проект>/.veai/skills/<name>/SKILL.md или, для всех проектов, в ~/.veai/skills/<name>/SKILL.md.

Корень проекта — каталог, из которого запущен veai; родительские каталоги не просматриваются.

Встроенные скиллы​

Вместе с Veai CLI поставляются собственные скиллы. В списке /skills у них источник builtin.

ИмяЧто делает
code-review-orchestratedсогласует с вами параметры ревью, запускает независимых ревьюеров и публикует единый отчёт

Встроенный скилл хранится внутри установленного продукта — не ищите и не правьте его там. Чтобы изменить его поведение, создайте в любом корне скилл с тем же name: он заменит встроенный. Отключается встроенный скилл так же, как любой другой.

Формат SKILL.md​

Файл начинается с YAML-frontmatter, затем идёт Markdown-текст с инструкциями.

ПолеОбязательноеПравило
nameда1–64 символа: строчные латинские буквы, цифры и одиночные дефисы, например release-notes
descriptionданепустая строка, может занимать несколько строк
when_to_useнетнепустая строка; добавляется к описанию через -
user-invocableнетлогическое, по умолчанию true: скилл можно вызвать командой /<name>
disable-model-invocationнетлогическое, по умолчанию false: true скрывает скилл от модели

Пример — <проект>/.veai/skills/release-notes/SKILL.md:

---
name: release-notes
description: Готовит release notes по смёрженным pull request
when_to_use: Используй, когда пользователь просит changelog или release notes
---

1. Собери pull request, смёрженные после последнего тега.
2. Сгруппируй их по областям, по одной строке на каждый.
3. Ломающие изменения поставь первыми.

Идентификатор скилла — поле name, а не имя каталога. Совпадение имени каталога и name не обязательно, но так скилл проще найти.

Если скилл недоступен​

Скилл не загружается, если:

  • frontmatter отсутствует, не разбирается или не является набором полей;
  • name или description нарушают правила из таблицы;
  • у необязательного поля неверный тип;
  • name совпадает с существующей командой, например model, compact, settings, rules или skills. Переименуйте скилл.

Если два файла SKILL.md объявляют одно и то же имя, недоступны оба. Исключение — замена встроенного скилла.

Неизвестные поля frontmatter игнорируются. Пустой текст скилла допустим.

Текст скилла читается в момент применения, поэтому правки инструкций действуют сразу. Добавление, переименование и удаление скилла действуют со следующего сообщения.

Посмотреть список скиллов​

Команда /skills в терминале показывает все скиллы, их источник и состояние.

Отключить скилл​

Добавьте имя скилла в skills.disabledSkills в settings.json:

{
"skills": {
"disabledSkills": ["release-notes"]
}
}

Имена сравниваются точно и с учётом регистра: "release-*" ничего не отключит. Имя, указанное на любом уровне, делает скилл недоступным и для модели, и для вас.

Чтобы скрыть скилл только от модели, но оставить его вызов через /<name>, укажите disable-model-invocation: true в его frontmatter.