Добавить Skills
Как установить и использовать Skills в Mimist
Skills — повторно используемые инструкции для агента, описанные в файлах SKILL.md. Они загружаются по требованию: агент видит доступные Skills и при необходимости загружает нужный.
Где хранятся Skills
Создайте папку для каждого Skill и поместите внутрь файл SKILL.md. Mimist ищет Skills в следующих местах:
| Путь | Область |
|---|---|
.opencode/skills/<name>/SKILL.md | Проект |
~/.config/opencode/skills/<name>/SKILL.md | Глобально |
.claude/skills/<name>/SKILL.md | Совместимость с Claude |
~/.claude/skills/<name>/SKILL.md | Глобальная совместимость с Claude |
.agents/skills/<name>/SKILL.md | Совместимость с агентами |
Для локальных путей Mimist поднимается вверх от текущего рабочего каталога до корня git-репозитория и загружает все совпадающие SKILL.md.
Структура SKILL.md
Каждый файл начинается с YAML-заголовка. Распознаются только эти поля:
name— обязательноdescription— обязательноlicense— опциональноcompatibility— опциональноmetadata— опционально (строки в строки)
Неизвестные поля заголовка игнорируются.
Требования к названию
name должен:
- Содержать от 1 до 64 символов
- Использовать строчные буквы, цифры и одиночные дефисы
- Не начинаться и не заканчиваться на
- - Не содержать двойных дефисов
-- - Совпадать с именем папки, в которой лежит
SKILL.md
^[a-z0-9]+(-[a-z0-9]+)*$description — от 1 до 1024 символов. Делайте его конкретным, чтобы агент мог сделать правильный выбор.
Пример Skill
Создайте .agents/skills/git-release/SKILL.md:
---
name: git-release
description: Create consistent releases and changelogs
license: MIT
compatibility: opencode
metadata:
audience: maintainers
workflow: github
---
## What I do
- Draft release notes from merged PRs
- Propose a version bump
- Provide a copy-pasteable `gh release create` command
## When to use me
Use this when you are preparing a tagged release.
Ask clarifying questions if the target versioning scheme is unclear.Как агент использует Skills
Mimist перечисляет доступные Skills в описании встроенного инструмента skill. Агент видит список и вызывает нужный:
<available_skills>
<skill>
<name>git-release</name>
<description>Create consistent releases and changelogs</description>
</skill>
</available_skills>Вызвать Skill в чате можно через / — введите / и выберите из списка.
Управление разрешениями
Контролируйте доступ к Skills через opencode.json:
{
"permission": {
"skill": {
"*": "allow",
"pr-review": "allow",
"internal-*": "deny",
"experimental-*": "ask"
}
}
}| Разрешение | Поведение |
|---|---|
allow | Skill загружается сразу |
deny | Skill скрыт от агента |
ask | Запрашивается подтверждение пользователя |
Поддерживаются wildcards: internal-* совпадает с internal-docs, internal-tools и т.д.
Отключение Skills для агента
Полностью отключить навыки для конкретного агента:
{
"agent": {
"plan": {
"tools": {
"skill": false
}
}
}
}Устранение неполадок
Если Skill не отображается:
- Убедитесь, что файл называется
SKILL.md(заглавными буквами) - Убедитесь, что заголовок содержит
nameиdescription - Убедитесь, что названия Skills уникальны во всех локациях
- Проверьте разрешения — Skills с
denyскрыты от агентов