claude-code
Спящий уровень навыков: 2 544 токена ужались до 338
Claude News
claude-codeПлагин Skill Atlas добавляет навыкам Claude Code третий режим, при котором описание не попадает в контекст сессии, но навык остаётся находимым: на коллекции из 53 навыков с шестью включёнными расход снизился с 2 544 до 338 токенов за сессию, на 86,7%. Проект опубликован в репозитории на Github под лицензией Apache-2.0.
Коротко
- Навык в режиме searchable остаётся на диске и находится через поиск, но его описание не попадает в контекст; весь спящий уровень рекламирует одна строка примерно в 50 токенов.
- Одно обращение к поиску стоит около 2 400 токенов: индекс на 1 600, один раздел каталога на 600 и сам навык поиска на 400, и платится только в момент запроса.
- Ранее выбор сводился к двум состояниям: включённый навык стоил около 48 токенов в каждой сессии, отключённый исчезал из выдачи полностью, и промежуточного варианта между ними не было.
Почему это важно Экономия здесь не бесплатная: поиск сам стоит около 2 400 токенов, и выигрыш появляется, судя по всему, только когда обращения к нему редки относительно длины сессии. Для коллекций в сотню навыков постоянный налог на контекст измеряется тысячами токенов в каждой сессии. Второй эффект выглядит не менее важным, чем токены: автор отмечает, что близкие по смыслу описания конкурируют за внимание модели, и спящий уровень убирает их из контекста, сохраняя сами навыки.
Поиск читает индекс и один раздел каталога, оставшиеся 13 разделов не открываются
Каталог разбит на разделы. Индекс занимает 14 строк и стоит около 1 600 токенов: в нём имя категории, число навыков, охват и вес участников. По индексу выбирается одна категория, читается только её раздел, примерно 600 токенов, а остальные тринадцать разделов, около 10 000 токенов суммарно, не открываются вовсе.
Второй раздел открывается только тогда, когда найденная запись сама ссылается на непрочитанную категорию, третий не открывается никогда. Пересечения между категориями сделаны намеренно: попадания достаточно в одну из подходящих рубрик. Навыки с отключённым уровнем в разделы каталога не записываются, поэтому отключённый плагин не может вернуться в работу окольным путём.
Включённый навык вызывается штатно, а спящий читается по пути из каталога и выполняется как набор инструкций. Перед тем как продолжить работу, модель называет выбранный навык одной строкой: поиск оформлен как шаг внутри задачи и не подаётся как отдельный результат работы.
Первый запуск создаёт от 8 до 12 категорий и фиксирует таксономию
Модель размечает коллекцию один раз. При первом запуске она составляет от 8 до 12 категорий, названных по типам пользовательских задач, а не по продуктам, после чего таксономия замораживается. Последующие запуски только раскладывают новые навыки и перепроверяют те, у которых изменилось описание: каждое назначение хранит хеш описания, по которому оно было сделано.
Команда /skill-atlas строит граф, размечает новое и рендерит atlas.html, этот запуск нужен один раз при настройке. Команда /skill-atlas:edit-searchable интерактивно переносит плагины в спящий уровень и обратно, а /skill-atlas:skill-search ищет навык по всей библиотеке, включая спящую часть, и обычно вызывается моделью самостоятельно перед нетривиальной задачей.
Дальше состояние обновляет хук SessionStart. Граф открывается в браузере из файла ./.claude/skill-atlas/atlas.html: страница самодостаточна, работает по file:// и не делает сетевых запросов, поскольку библиотека d3 вшита в поставку и встраивается в каждый сгенерированный atlas.html. Визуализация показывает происхождение и состояние навыков, поломки красным, категории рисуются по схеме звезды.
Наивный подсчёт каталогов с SKILL.md завышает размер коллекции примерно на 60%
Обнаружение идёт по манифестам: installed_plugins.json, затем каждый plugin.json и настройки. Каталоги маркетплейсов и устаревшие закешированные версии в картину не попадают. Наивный обход каждой директории с файлом SKILL.md на реальной машине завышает число навыков примерно на 60%, это поведение воспроизводится флагом --naive-count у build_graph.py.
Навыки становятся узлами графа, рёбра бывают двух типов. Ссылка ведёт от навыка к его собственным вложенным файлам и подсвечивается как сломанная, если файла нет на диске. Упоминание фиксирует, что один навык называет другой, и считается висящим, когда цель отключена, не зарегистрирована или отсутствует.
Сопоставление упоминаний нарочно строгое: учитываются только имена в обратных кавычках, пути вида skills/имя и однозначные имена через дефис, блоки кода вырезаются заранее. Свободное сопоставление давало 91 ребро на коллекции из 41 навыка, и почти все они оказались обычными английскими словами. Отчёт также показывает дубликаты имён и сироты, а команда make check возвращает код 1 на любой сломанной ссылке и годится как гейт в CI.
Что дальше Установка идёт через маркетплейс плагинов: claude plugin marketplace add danielLublinsky/Skill_Atlas и claude plugin install skill-atlas@skill-atlas, обновление командой claude plugin update skill-atlas@skill-atlas, для правок доступна установка из локального клона репозитория. Требуется только Python 3. Устройство компонентов описано в каталоге docs/ из девяти пронумерованных разделов, история решений обеих фаз проекта собрана в DESIGN.md, планов по дальнейшему развитию репозиторий не называет.
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.
Из Google мы используем только имя и аватар. Почту не сохраняем.
