# Skill

Вызывает именованный навык внутри текущего разговора. Навыки — это упакованные комплекты возможностей: предметные знания, рабочие процессы и иногда доступ к инструментам, — которые каркас предоставляет ассистенту через системные напоминания.

## Когда использовать

- Пользователь вводит слэш-команду, такую как `/review` или `/init` — слэш-команды являются навыками и должны выполняться через этот инструмент.
- Пользователь описывает задачу, которая соответствует условиям срабатывания объявленного навыка (например, просьба просканировать транскрипты на повторяющиеся запросы разрешений соответствует `fewer-permission-prompts`).
- Заявленная цель навыка напрямую соответствует текущему файлу, запросу или контексту разговора.
- Специализированные повторяемые рабочие процессы доступны как навыки, и канонической процедуре предпочтение перед ad-hoc подходом.
- Пользователь спрашивает «какие навыки доступны» — перечислите объявленные имена, и вызывайте, только когда он подтвердит.

## Параметры

- `skill` (string, обязательный): точное имя навыка, перечисленного в текущем системном напоминании о доступных навыках. Для навыков с неймспейсом плагина используйте полностью квалифицированную форму `plugin:skill` (например, `skill-creator:skill-creator`). Не включайте ведущий слэш.
- `args` (string, необязательный): аргументы в свободной форме, передаваемые навыку. Формат и семантика определяются документацией каждого конкретного навыка.

## Примеры

### Пример 1: запуск навыка review на текущей ветке

```
Skill(skill="review")
```

Навык `review` упаковывает шаги ревью pull request относительно текущей базовой ветки. Его вызов загружает определённую каркасом процедуру ревью в ход.

### Пример 2: вызов навыка из неймспейса плагина с аргументами

```
Skill(
  skill="skill-creator:skill-creator",
  args="create a skill that summarizes git log for a given date range"
)
```

Маршрутизирует запрос через точку входа плагина `skill-creator`, чтобы запустился рабочий процесс авторинга.

## Примечания

- Вызывайте только навыки, чьи имена дословно появляются в системном напоминании о доступных навыках, либо навыки, которые пользователь ввёл напрямую как `/name` в своём сообщении. Никогда не угадывайте и не изобретайте имена навыков из памяти или обучающих данных — если навык не объявлен, не вызывайте этот инструмент.
- Когда запрос пользователя соответствует объявленному навыку, вызов `Skill` — это блокирующий предварительный шаг: вызывайте его до генерации любого другого ответа о задаче. Не описывайте, что сделал бы навык — запускайте его.
- Никогда не упоминайте навык по имени, не вызывая его фактически. Анонсирование навыка без вызова инструмента вводит в заблуждение.
- Не используйте `Skill` для встроенных CLI-команд, таких как `/help`, `/clear`, `/model` или `/exit`. Они обрабатываются каркасом напрямую.
- Не вызывайте повторно навык, уже запущенный в текущем ходу. Если вы видите тег `<command-name>` в текущем ходу, навык уже загружен — следуйте его инструкциям на месте, а не вызывайте инструмент снова.
- Если применимы несколько навыков, выбирайте наиболее специфичный. Для изменений конфигурации, таких как добавление разрешений или хуков, предпочитайте `update-config` общему подходу через настройки.
- Выполнение навыка может ввести новые системные напоминания, инструменты или ограничения на остаток хода. Перечитайте состояние разговора после завершения навыка, прежде чем продолжать.
