bear-doctor — Диагностика установки
Сначала запусти проверку
bear-skills doctor
Она проходит по пяти направлениям: требования доменов, битые симлинки, каналы установки, коллизии имён, пересекающиеся триггеры. Возвращает 1, если нашла проблему, и 0, если только предупреждения.
Не диагностируй по памяти и не гадай — сначала данные.
Как читать вывод
«домен X не ставится: требует env / бинарь» — не поломка, а незаданное условие. Человек мог не знать, что скилл, которого он ждёт, не установлен. Скажи прямо, чего не хватает и как это дать.
Битый симлинк — репозиторий переехал или был удалён. Лечится bear-skills sync. Если репозитория нет вообще, установка делалась из другого места: найди его, прежде чем переустанавливать.
Оба канала разом — самая коварная. Симлинки и копии в одном каталоге дают дубли имён и непредсказуемое срабатывание: файл один, а версии разные. Надо снять один канал целиком, а не удалять отдельные файлы:
bear-skills uninstall # снять симлинки
node bin/install.js --uninstall # снять копии
Коллизия имён — наш скилл называется так же, как чужой в skills-lock.json. Один затирает другой при установке. Лечится переименованием нашего, потому что чужой мы не контролируем.
Пересекающиеся триггеры — два скилла заявляют одну и ту же пусковую фразу в описании. Именно отсюда берётся «вызывается не тот скилл». Лечится правкой description обоих: развести формулировки и добавить взаимные отсылки вида «для такого случая — другой скилл».
Если проблема в срабатывании
Когда doctor чист, а нужный скилл всё равно не вызывается, посмотри статистику:
bear-skills stats
Скилл, ни разу не сработавший за всю историю, почти наверняка имеет проблему в description: модель по нему не находит скилл. Триггерные фразы должны быть теми, которыми человек реально формулирует задачу, а не описанием возможностей.
Отдельно проверь, что скиллов не стало слишком много: они конкурируют за срабатывание, и точность падает с ростом числа. Установка по доменам под текущую работу лучше, чем всё разом.
Чего не делать
- Не чини то, что
doctorне показал. - Не удаляй файлы поштучно при конфликте каналов: снимается канал целиком.
- Не переименовывай чужие скиллы — они обновятся из своего источника и вернут прежнее имя.
- Не предлагай переустановку как первый шаг: она скрывает причину, и та вернётся.
- Ничего не сноси без подтверждения.