# Bear Doctor

> Диагностика установки bear-skills: битые симлинки, два канала установки разом, коллизии имён с чужими скиллами, пересекающиеся триггеры, невыполненные требования доменов. Используй, когда пользователь говорит «скилл не срабатывает», «вызывается не тот скилл», «проверь установку», «что-то сломалось со скиллами», «bear-skills не работает», а также после установки на новой машине.

- Skill: `jtprogru/bear-doctor-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add jtprogru/bear-doctor-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jtprogru/bear-doctor-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jtprogru (https://skillmd.com/u/jtprogru)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jtprogru/bear-doctor-2

---


# bear-doctor — Диагностика установки

## Сначала запусти проверку

```bash
bear-skills doctor
```

Она проходит по пяти направлениям: требования доменов, битые симлинки, каналы установки, коллизии имён, пересекающиеся триггеры. Возвращает 1, если нашла проблему, и 0, если только предупреждения.

Не диагностируй по памяти и не гадай — сначала данные.

## Как читать вывод

**«домен X не ставится: требует env / бинарь»** — не поломка, а незаданное условие. Человек мог не знать, что скилл, которого он ждёт, не установлен. Скажи прямо, чего не хватает и как это дать.

**Битый симлинк** — репозиторий переехал или был удалён. Лечится `bear-skills sync`. Если репозитория нет вообще, установка делалась из другого места: найди его, прежде чем переустанавливать.

**Оба канала разом** — самая коварная. Симлинки и копии в одном каталоге дают дубли имён и непредсказуемое срабатывание: файл один, а версии разные. Надо снять один канал целиком, а не удалять отдельные файлы:

```bash
bear-skills uninstall                 # снять симлинки
node bin/install.js --uninstall       # снять копии
```

**Коллизия имён** — наш скилл называется так же, как чужой в `skills-lock.json`. Один затирает другой при установке. Лечится переименованием нашего, потому что чужой мы не контролируем.

**Пересекающиеся триггеры** — два скилла заявляют одну и ту же пусковую фразу в описании. Именно отсюда берётся «вызывается не тот скилл». Лечится правкой `description` обоих: развести формулировки и добавить взаимные отсылки вида «для такого случая — другой скилл».

## Если проблема в срабатывании

Когда `doctor` чист, а нужный скилл всё равно не вызывается, посмотри статистику:

```bash
bear-skills stats
```

Скилл, ни разу не сработавший за всю историю, почти наверняка имеет проблему в `description`: модель по нему не находит скилл. Триггерные фразы должны быть теми, которыми человек реально формулирует задачу, а не описанием возможностей.

Отдельно проверь, что скиллов не стало слишком много: они конкурируют за срабатывание, и точность падает с ростом числа. Установка по доменам под текущую работу лучше, чем всё разом.

## Чего не делать

- Не чини то, что `doctor` не показал.
- Не удаляй файлы поштучно при конфликте каналов: снимается канал целиком.
- Не переименовывай чужие скиллы — они обновятся из своего источника и вернут прежнее имя.
- Не предлагай переустановку как первый шаг: она скрывает причину, и та вернётся.
- Ничего не сноси без подтверждения.

