Скиллы Claude Code съедали недельный лимит за 4 дня: как я стал тратить в 4 раза меньше
Недельный лимит Claude Code жрут не задачи, а контекст: в каждый ход на вход едет вся беседа, CLAUDE.md и все прочитанные файлы. Если порезать толстые скиллы по уровням (тело SKILL.md тонкое, детали в соседних файлах), вынести детерминированное в скрипты и не сидеть на Opus по умолчанию, тот же объём работы стоит примерно вчетверо меньше: около 5% недельного лимита вместо 20%.
Недельный лимит Claude Code таял за 4 дня. Разбор, почему толстые скиллы жрут подписку: progressive disclosure, скрипты вместо генерации, выбор модели. Замер 20% против 5%.

Короткая версия: недельный лимит подписки таял за 4 дня не потому, что я дохрена работал, а потому что каждый ход таскал в контекст жирнющий скилл целиком. Перебрал всю архитектуру работы с Claude Code - правила, скиллы, скрипты - и тот же объём задач стал стоить около 5% недельного лимита вместо 20%. Разбираю, что именно жрало и что я поменял.
Началось всё буднично. Запустил большую задачу с кучей подзадач, пошёл пить чай, вернулся - а Claude упёрся в 5-часовой лимит, задачи не доделал, и при этом схавал 20% недельного лимита. За один заход. То есть при таком раскладе моя подписка кончалась к четвергу, а неделя - нет.
Почему Claude Code быстро съедает недельный лимит
Claude Code считает расход в двух окнах одновременно: скользящее 5-часовое окно сессии и недельный лимит поверх него. В каждый ход модель получает на вход всю беседу с начала, ваш CLAUDE.md, все файлы, которые она уже прочитала, и новый запрос. Чем толще этот вход, тем дороже каждый ход. Лимит жрут не задачи, а контекст, который вы возите с собой.
Это не мои догадки, это прямо написано в справке Anthropic: расход считается и в сессионное, и в недельное окно одновременно, а недельный лимит сбрасывается в фиксированное время, привязанное к аккаунту (то есть "подожду часок, отпустит" тут не работает).
Второй множитель - модель. По той же справке Opus стоит в несколько раз дороже за ход, чем Sonnet, а Sonnet дороже Haiku. Anthropic прямым текстом советует: Sonnet для большинства кодинга, Opus когда реально застрял, Haiku на быструю механическую работу. Я же, как приличный человек, сидел на Opus и удивлялся, чего это лимиты тают.
Но модель - это множитель. А база, которую этот множитель умножает, это входной контекст. И вот с базой у меня был кал гавна.
Что такое progressive disclosure в скиллах Claude Code
Progressive disclosure - это принцип, по которому скилл грузится в контекст не целиком, а слоями, по мере надобности. В официальной документации Anthropic это разложено по трём уровням с ценником в токенах, и именно этот ценник объясняет, почему один скилл может стоить копейки, а другой - выжирать окно.
Уровень 1, метаданные: name и description из YAML-фронтматтера. Грузятся всегда, при старте, и стоят около 100 токенов на скилл. Это тот текст, по которому Claude решает, брать скилл в работу или нет.
Уровень 2, инструкции: тело SKILL.md. Грузится только когда скилл сработал, и должно укладываться меньше чем в 5к токенов.
Уровень 3, ресурсы: остальные файлы рядом со скиллом (референсы, схемы, скрипты). Стоят ноль, пока их не прочитали.
Формулировка из доков, которую стоит повесить над столом: "Files don't consume context until accessed". Пока файл лежит на диске и его не открыли - он бесплатный. Можно навалить в скилл хоть всю документацию, и она не будет стоить ничего, если под задачу нужен один файл.
Вот тут до меня и дошло, где я лоханулся.
Почему я ушёл с чужого скилла
Я сидел на скилле Паши Молянова. Скилл крутой, вопросов нет, но жрал он неимоверно. Причина ровно та, что выше: он был устроен как один толстый монолит, который заезжает в контекст целиком и висит там весь диалог. И висит он не один раз, а в каждом ходу - потому что весь предыдущий диалог едет на вход снова и снова.
Дальше простая арифметика. Жирное тело скилла умножается на количество ходов, а потом ещё на коэффициент Opus. Один запуск большой задачи - и 20% недели нет.
Прости, Паша. Скилл правда был хороший, просто не под мой режим долбёжки.
Как я перестроил пак
Переписывал я три вещи: правила, скиллы и скрипты. Заточено всё под мой DnD-проект, но принципы переносимые.
Первое: разрезал монолит по уровням. Всё, что не нужно в каждом ходу, уехало на уровень 3, в отдельные файлы-референсы рядом со SKILL.md. В теле осталась только процедура: что делать, в каком порядке, куда смотреть за деталями. Тело держу компактным, детали подтягиваются, только если задача до них дошла.
Второе: описания. Раз description висит в системном промпте всегда, он должен быть коротким, но точным: что скилл делает и когда его брать. Расплывчатое описание - это двойной проигрыш: и токены на старте платишь, и скилл срабатывает не там, где надо, или не срабатывает там, где надо.
Третье: скрипты вместо генерации. Это, пожалуй, самая недооценённая штука во всей истории.
Скрипты дешевле, чем генерация кода
Когда Claude запускает скрипт через bash, код скрипта не попадает в контекст - в контекст приезжает только вывод. В доках это сказано буквально: "the script code itself never enters context", и поэтому скрипты сильно эффективнее, чем заставлять модель каждый раз генерировать эквивалентный код на лету.
Разница на пальцах. Вариант первый: модель пишет питоновский скрипт на 80 строк, вы его гоняете, он падает, она правит - и весь этот код лежит в контексте до конца сессии, переезжая из хода в ход. Вариант второй: скрипт лежит в скилле готовый, модель делает python3 scripts/thing.py, получает три строчки вывода. Эти три строчки и есть вся цена.
Всё детерминированное, что я раньше просил делать модель руками, я вынес в скрипты: проверки, выгрузки, валидации, рутинные преобразования. Модель больше не сочиняет то, что можно один раз захардкодить и прибить гвоздями.
Ещё один рычаг - субагенты. Идея в том, что тяжёлое копание (поиск по репе, чтение десятка файлов) уезжает в отдельный контекст, а в основной возвращается только выжимка. В разборе на Хабре про изоляцию контекста автор пишет, что так основной контекст держится в районе 10-15к токенов вместо 50к+. Свои цифры я не мерил, так что беру это как чужое наблюдение, а не как свой факт. Но направление верное: не тащить в главный диалог то, что можно посмотреть и выбросить.
Что вышло в цифрах
Замер простой, на одной и той же пачке задач. Старый подход: один запуск, 20% недельного лимита, задачи не доделаны, упёрся в 5-часовой лимит. Новый пак: доделал все те задачи плюс новую волну сверху, и потратил около 5% недельного лимита. Грубо - в 4 раза меньше при большем объёме сделанного.
И тут нужна честная оговорка, без неё цифры врут. Мерил я 4 мая 2026 года. А 6 мая, то есть через два дня, Anthropic удвоил 5-часовые лимиты Claude Code для Pro, Max, Team и seat-based Enterprise и убрал урезание лимитов в пиковые часы для Pro и Max. Так что мои 20% и 5% - это замер по старому режиму. Если вы повторите сегодня, абсолютные проценты будут другими, а вот соотношение между толстым и тонким паком никуда не денется: оно про архитектуру контекста, а не про щедрость тарифа.
Ну и да, я понимаю, как это выглядит: чувак два дня перекладывал конфиги вместо того, чтобы делать продукт. Но я это уже проходил с другой стороны - когда агент у меня снёс папку проекта одной командой, вывод был ровно такой же: правила и обвязка вокруг агента стоят потраченного вечера.
Чек-лист: как не жечь лимит впустую
Что бы я сделал сразу, если бы начинал заново:
- Порезать толстые скиллы по уровням. В теле SKILL.md - процедура, всё остальное в соседние файлы. Они бесплатные, пока не открыты.
- Вылизать
descriptionу каждого скилла. Он в системном промпте всегда, около 100 токенов за штуку, и он же решает, сработает скилл или нет. - Всё детерминированное - в скрипты. Код скрипта не едет в контекст, едет только вывод.
- Не сидеть на Opus по умолчанию. Sonnet на большинство кодинга, Opus когда застрял.
- Держать CLAUDE.md тощим. Он приезжает на вход каждый ход, а не один раз на старте.
Первые три пункта дали основной эффект. Оно ж нормально получается: не модель дорогая, а привычка возить с собой всё нажитое.
А я пойду работать дальше.
Частые вопросы
Сколько токенов съедает один скилл Claude Code?
По документации Anthropic скилл грузится тремя уровнями: метаданные (name и description) висят в системном промпте всегда и стоят около 100 токенов на скилл; тело SKILL.md подтягивается только при срабатывании и должно укладываться меньше чем в 5к токенов; остальные файлы рядом со скиллом не стоят ничего, пока их не прочитали.
Какую модель выбрать, чтобы лимит уходил медленнее?
По справке Anthropic Opus стоит в несколько раз дороже за ход, чем Sonnet, а Sonnet дороже Haiku. Рекомендация самой Anthropic: Sonnet на большинство задач кодинга, Opus когда реально застряли, Haiku на быструю механическую работу. Модель при этом только множитель, база расхода - объём входного контекста.
Актуальны ли цифры 20% и 5% сегодня?
Замер сделан 4 мая 2026 года, а 6 мая 2026 Anthropic удвоил 5-часовые лимиты Claude Code для Pro, Max, Team и seat-based Enterprise и убрал урезание в пиковые часы для Pro и Max. Абсолютные проценты при повторе сегодня будут другими, а соотношение между толстым и тонким паком сохраняется: оно про архитектуру контекста, а не про тариф.