У Claude Code есть одна неприятная особенность: можно навесить на агента огромную библиотеку скиллов, но в нужный момент про них нужно вспомнить самостоятельно. Чем больше скиллов, тем реже они срабатывают. Хук skill-compass решает эту задачу — он автоматически подсказывает Claude Code, какие скиллы подключить, до того как написана первая строка кода.

skill-compass — это небольшой хук на Node.js (около 200 строк), без внешних зависимостей. Его идея — «убрать необходимость вспоминать». На каждом промте хук осматривает то, что лежит перед агентом, и отдаёт короткий точный список подходящих скиллов. Ключевое слово — точный: если хуку нечего сказать, он молчит, а не вываливает простыню «на всякий случай».

АзимутТриггерыКакие скиллы подключает
UIreact, vue, next, .tsx, components/frontend-design, make-interfaces-feel-better
APIexpress, fastapi, app/api/, routes/api-design, backend-patterns
БДprisma, drizzle, sqlalchemy, *.sqldatabase-migrations, postgres-patterns
AUTHnext-auth, stripe, jwt, auth/security-review
LLManthropic, openai, langchainclaude-api, agent-harness-construction
INFRADockerfile, compose.yml, k8s/docker-patterns, deployment-patterns

Внутри работает принцип match → inject. Хук читает три независимых сигнала. Первый — файлы проекта: манифесты зависимостей, имена папок, расширения файлов. Например, Cargo.toml означает Rust, prisma/ и *.sql — работа с базой. Второй сигнал — текст вашего промта: хук ловит ключевые слова проекта и темы прямо в формулировке запроса. Третий — то, что агент находит по ходу дела: отдельный хук на PostToolUse смотрит результаты Bash, Grep, Glob, Read, Task. Как только инструмент выдаёт известное ключевое слово, подходящие скиллы вбрасываются рядом с этим результатом.

Он анализирует корень проекта, промт пользователя и результаты работы инструментов агента

Найденные скиллы вставляются компактной заметкой один раз на набор-сигнал за сессию, повторно — только когда состав детекта поменялся. Вся логика роутинга вынесена в directions.json. Базовый набор включает 8 сквозных направлений (азимутов) — UI, API, БД, AUTH, LLM, INFRA и другие — и 16 языковых стеков (Rust, Go, Python, TypeScript и т.д.). Каждое направление привязано к триггерам (зависимости, пути, расширения) и списку скиллов. Например, азимут UI срабатывает на react, vue, next,.tsx и подключает скиллы frontend-design и make-interfaces-feel-better. Добавить новый стек или направление можно одним объектом в directions.json, не трогая код.

Забавный мета-момент: пока автор готовил материал и грепал репозиторий по ключевым словам, хук сработал сам на результат его grep и предложил релевантные скиллы. Инструмент честно делает то, что заявлено — ловит находку инструмента на лету.