Перейти к содержимому

Skills

Skills — это директории с файлом SKILL.md, которые обучают агента выполнению специализированных задач. Kodik автоматически обнаруживает skills при запуске и предоставляет их агенту. Агент самостоятельно решает, когда skill релевантен, и применяет его. Пользователи могут явно вызывать skills через slash-команды.

Каждый skill — это папка, содержащая файл SKILL.md. Метаданные skill задаются в YAML-фронтматтере:

---
name: my-skill
description: Что делает этот skill и когда его использовать.
user-invocable: true
disable-model-invocation: false
---
## Обзор
Опишите назначение skill. Пишите как инструкции для агента.
## Рекомендации
- Предпочитай X
- Всегда делай Y
- Избегай Z
ПолеОбязательноОписание
nameДаУникальный идентификатор skill (строчные буквы, дефисы вместо пробелов, максимум 64 символа). Используется для поиска skill и в имени slash-команды.
descriptionДаОписание того, что делает skill и когда его использовать. Агент использует описание для решения о релевантности (максимум 1024 символа).
user-invocableНетОтображается ли skill как slash-команда в меню /. По умолчанию true. При false skill скрыт из меню, но агент всё равно может загрузить его автоматически.
disable-model-invocationНетЗапрещает агенту загружать skill автоматически. По умолчанию false. При true skill доступен только через явную slash-команду.

Kodik обнаруживает skills из следующих мест (перечислены в порядке убывания приоритета; при совпадении имён побеждает источник с более высоким приоритетом):

РасположениеОбластьПриоритет
<выбранный-workspace>/.kodik/skills/Workspace выбранного чата4
<выбранный-workspace>/.agents/skills/Совместимость, только чтение3
~/.kodik/skills/Пользователь (глобально)2
~/.agents/skills/Совместимость, только чтение1
Skills из плагиновNamespaced-элементы плагина

Skills из плагинов имеют имена с префиксом в виде идентификатора плагина (<plugin-id>:<name>).

В multi-root окне Kodik читает только workspace, записанный в выбранной сессии чата, и не объединяет все открытые папки. Skills из workspace .agents отображаются в Settings даже для недоверенного workspace, но не попадают в prompt и не вызываются до предоставления доверия. Settings и Marketplace никогда не изменяют и не удаляют содержимое .agents: его можно открыть для проверки, а затем скопировать в соответствующую строчную папку .kodik, если управление должен взять Kodik. Другие файлы внутри .agents не становятся входными данными Kodik.

При первом запуске с новой схемой хранения Kodik переносит глобальную папку ~/.kodik/Skills в строчную ~/.kodik/skills до открытия рабочего окна. Существующее содержимое lowercase имеет приоритет; точные дубликаты объединяются, а конфликты остаются доступными в ~/.kodik/.migration/global-assets-v1/. После зафиксированного перехода uppercase-папки skills глобального уровня и workspace неактивны. Папку, созданную там позднее, нужно вручную перенести в lowercase-владельца.

Kodik не переходит по символическим ссылкам внутри принадлежащих ему путей skills и плагинов. Связанный корень, категория, директория skill, файл SKILL.md, манифест плагина или другая конфигурация плагина отображается как неактивная, чтобы внешнее содержимое не могло незаметно получить владение prompt, hooks, secrets или состоянием приложения. Если Kodik должен загружать или изменять содержимое, скопируйте его в каноническую строчную директорию вместо создания ссылки.

Идентификаторы сравниваются в нормализованном нижнем регистре. При совпадении на разных уровнях активен источник с более высоким приоритетом, а остальные отмечаются в Settings как перекрытые. Два определения с одинаковым идентификатором на одном уровне помечаются как неоднозначные, и ни одно из них не активируется.

При каждом запросе агенту предоставляется список доступных skills (имя + описание). Агент самостоятельно решает, какие skills релевантны, и загружает их содержимое. Если у skill установлен флаг disable-model-invocation: true, агент его не загружает автоматически — skill доступен только по явному вызову пользователя.

Если skill имеет user-invocable: true (значение по умолчанию), его можно вызвать, введя /имя-skill в поле ввода чата. Все доступные user-invocable skills отображаются в меню /. Подробнее — в обзоре slash-команд.

Чтобы создать skill через агента, введите /create-skill (или /createskill) в поле ввода чата. Команда запросит имя и описание, затем создаст папку с файлом SKILL.md в нужном расположении.

Структура skill минимальна — достаточно одной папки с SKILL.md:

.kodik/skills/
└── deploy-app/
└── SKILL.md

Опционально можно добавить дополнительные файлы:

.kodik/skills/
└── deploy-app/
├── SKILL.md
├── scripts/
│ └── deploy.sh
└── references/
└── REFERENCE.md
---
name: webapp-testing
description: Руководство по тестированию веб-приложений с Playwright. Использовать при написании или запуске браузерных тестов.
---
# Тестирование веб-приложений с Playwright
## Создание тестов
1. Определите пользовательский сценарий
2. Создайте файл теста в директории `tests/`
3. Используйте локаторы Playwright (предпочитайте role-based)
4. Добавьте assertions
## Запуск тестов
\`\`\`bash
npx playwright test
npx playwright test --debug
\`\`\`