--- name: koda-learn description: "Позволяет найти и установить дополнительные навыки (скиллы), расширяющие функционал Koda для решения конкретных задач. Помогает подобрать подходящие навыки для текущего проекта. Навыки нужны для фокусирования агента на способах решения конкретных задач и обогащения контекста дополнительными знаниями. Активируется инструментом `read_skill` (vscode/jetbrains) или `Activate Skill` (cli) с передачей аргумента `koda-learn`." license: MIT metadata: author: koda version: 1.0.0 --- # Поиск и установка навыков (скиллов) ## Когда применять 1. Пользователь может попросить: - установить дополнительные навыки; - подобрать дополнительные навыки для текущего конкретного проекта; 2. Нельзя устанавливать новые навыки, если пользователь так или иначе не разрешил этого. **Типичные фразы-триггеры:** - > научись <делать что-либо> - > установи навык - > добавь скилл - > найди скилл - > добавь нужный навык, если потребуется - > подбери скиллы - > какие скиллы подойдут для - > подбери навыки для - другие похожие по смыслу, не ограничиваясь русским языком ## Как применять 1. Из задачи пользователя определи требования к искомым навыкам. 2. Если задача непонятна, уточни у пользователя хочет ли он установить конкретный навык или ему подойдёт любой из лучших. 3. Если пользователь просит найти подходящие для проекта навыки, сначала изучи проект, файлы KODA.md и AGENTS.md (при наличии). 4. **Директория установки навыков:** `.koda/skills/<имя_навыка>/` в корне проекта. ### Поиск и обработка результатов 1. Запрещено использовать поиск в интернете пока не будут испытаны все источники, указанные ниже. 2. Если при поиске найдено больше 1 навыка, предложи ознакомиться с каждым из них, пронумеровав строго по порядку, и ожидай явного подтверждения. 3. Всегда давай пользователю активную ссылку на web-страницу каждого навыка в формате: `[ссылка](ссылка)`. ### Принятие решений 1. Пользователь может согласиться установить все найденные навыки, некоторые из них или ни одного. 2. Если результаты поиска не подходят, остановись и предложи пользователю найти навык самостоятельно и установить в директорию установки. 3. Если найден один подходящий навык, сразу переходи к установке. 4. Избегай конфликтов имён с установленными навыками. 5. Установка навыка допустима только если выполняются обязательные требования. 6. Приоритет у того навыка, который суммарно удовлетворяет большему количеству требований по всем критериям оценки. ### Установка #### Источник 1 - официальный репозиторий Koda **URL:** https://raw.githubusercontent.com/XCode-NLP/KodaSkills/refs/heads/main/metadata.json > **ВАЖНО**: При любой технической ошибке переходи к источнику 2. 1. Получи данные об имеющихся в репозитории навыках. 2. В массиве объектов `skills` важны следующие поля: - `name`: имя; - `description`: описание; - `url.web`: ссылка на просмотр текста в браузере; - `url.raw`: ссылка на сырой текст для установки; 3. Оцени соответствие запроса пользователя с этими полями по критериям ниже. **Критерии оценки:** 1. Имя и описание должны максимально соответствовать запросу пользователя. 2. Ссылки должны вести на репозиторий `XCode-NLP/KodaSkills`. **Установка:** 1. Получи текст навыка по адресу `url.raw` 2. Сохрани текст в корень текущего проекта (workspace): `.koda/skills//SKILL.md`. #### Источник 2 - каталог agentskill **URL:** https://agentskill.sh/api/skills?limit=30&q=<поисковый_запрос> > **ВАЖНО**: При любой технической ошибке переходи к источнику 3. 1. Получи данные об имеющихся в каталоге навыках. 2. Важны следующие поля ответа: 1. Базовая обязательная информация: - `name`: имя навыка; - `owner`: имя автора; - `claimed`: автор подтверждён; 2. Критерии релевантности: - `seoSummary`: описание навыка; - `category`, `skillTypes`, `tools`: ключевые слова, характеризующие область применения и технологический стек; - `jobRoles`, `jobCategories`: ключевые слова, характеризующие релевантные роли или профессии; - `tags`: дополнительные ключевые слова, характеризующие навык; 3. Числовые показатели качества: - `securityScore`: показатель безопасности (0-100); - `downvotes`: количество негативных оценок; - `upvotes`, `contentQualityScore`, `creatorTrustScore`, `hotScore`, `recentInstalls24h`, `recentInstalls3d`, `recentInstalls7d`, `recentRatings3d`, `recentRatings7d`, `topScore`, `trendingScore`, `score`, `ratingCount`, `installCount`, `githubStars`: показатели качества и популярности навыка; 3. Оцени соответствие запроса пользователя с этими полями по критериям ниже. **Критерии оценки:** - ОБЯЗАТЕЛЬНО: все критерии релевантности должны максимально соответствовать запросу пользователя - ОБЯЗАТЕЛЬНО: `securityScore` должен быть в диапазоне 75-100 - ОПЦИОНАЛЬНО: `downvotes` = 0 или значительно ниже всех остальных показателей качества - ОБЯЗАТЕЛЬНО: все остальные числовые показатели качества суммарно должны быть > 0 (чем выше, тем лучше) - ОПЦИОНАЛЬНО: `claimed` = true **Установка:** 1. Получи данные по адресу: `https://agentskill.sh/api/agent/skills//install?owner=` 2. Сохрани значение `skillMd` поля в корень текущего проекта (workspace): `.koda/skills//SKILL.md`. 3. Удали из этого файла строки: * `# --- agentskill.sh ---` (первая строка); * `# ---` (перед frontmatter, обычно 13-я сверху); * всё содержимое между ними. #### Источник 3 - каталог neuraldeep **URL:** https://neuraldeep.ru/api/skills?q=<поисковый_запрос> > **ВАЖНО**: При любой технической ошибке переходи к другим источникам. 1. Получи данные об имеющихся в каталоге навыках. 2. Важны следующие поля ответа: 1. Базовая обязательная информация: - `id`: uuid навыка; - `name`: имя навыка; - `owner`: имя автора; 2. Критерии релевантности: - `description`: описание навыка; - `category`, `tags`: дополнительные ключевые слова, характеризующие навык, область его применения и технологический стек; 3. Показатели качества: - `status`: статус проверки; - `featured`: признак "Выбор редакции"; - `githubStars`, `installs`, `trending24h`: числовые показатели популярности навыка; 3. Оцени соответствие запроса пользователя с этими полями по критериям ниже. **Критерии оценки:** - ОБЯЗАТЕЛЬНО: все критерии релевантности должны максимально соответствовать запросу пользователя - ОБЯЗАТЕЛЬНО: `status` = `approved` - ОПЦИОНАЛЬНО: `featured` = `true` - ОБЯЗАТЕЛЬНО: все остальные числовые показатели популярности суммарно должны быть > 0 (чем выше, тем лучше) **Установка:** 1. Получи данные по адресу: `https://neuraldeep.ru/api/skills/readme?skillId=` 2. Сохрани значение `content` поля в корень текущего проекта (workspace): `.koda/skills//SKILL.md`. ### Другие каталоги навыков **URL:** - `https://mcpmarket.com/search?type=skills&q=<поисковый_запрос>` - `https://mcpservers.org/agent-skills` - `https://github.com/openai/skills/tree/main/skills/.curated` - `https://github.com/anthropics/skills/tree/main/skills` > **ВАЖНО**: При любой технической ошибке, прекращай установку и переходи к этапу "Обработка результатов установки". ## Обработка результатов установки ### Ошибка **Критерии:** 1. HTTP-запросы завершаются с кодом статуса >= 400. 2. Ошибки файловой системы. **Действия:** 1. Если один из источников (вариантов установки) не подходит, нужно использовать другой. 2. Если использованы все источники, но успех не достигнут, следует: - сообщить пользователю о возникшей ошибке и возможных вариантах её исправления; - предложить пользователю найти навык самостоятельно в источниках. ### Успех **Критерии:** 1. Файл SKILL.md существует в директории установки. 2. Файл начинается с frontmatter. **Действия:** 1. Сообщи: - путь до установленного навыка - описание навыка (переведи на русский, если написано на другом языке) - ссылку на страницу навыка для просмотра в браузере. 2. Обрати внимание, что установленный навык может быть выключен по умолчанию и его потребуется включить вручную.