Strategic Compact
Guide for strategic /compact at logical boundaries — not arbitrary auto-compaction.
Проблема
Авто-компакт срабатывает непредсказуемо, часто посреди реализации — теряются имена переменных, пути к файлам, промежуточный контекст, критичный для продолжения работы.
Когда компактить (YES)
| Момент | Причина |
|---|---|
| После фазы исследования, перед написанием кода | Черновики анализа не нужны |
| После решения сложного бага | Отладочный контекст исчерпал себя |
| После завершения фазы плана (research→planning, planning→implementation) | Чистый старт новой фазы |
| Перед началом нового независимого подзадания | Свежий контекст важнее старого |
Когда НЕ компактить (NO)
- Посреди реализации (потеряются имена переменных, содержимое файлов)
- В процессе отладки связанных компонентов
- При работе с несколькими взаимосвязанными файлами одновременно
Перед компактом — сохрани контекст
НЕ переживёт компакт (сохрани явно):
- Пути к файлам и ключевые символы → запиши в
CLAUDE.mdилиplan.md - Состояние задачи → отметь прогресс
- [x]вplan.md - Принятые решения → добавь в LOG раздел
CLAUDE.md
Переживает автоматически:
- Инструкции
CLAUDE.md - Список задач
plan.md - Файлы памяти
~/.claude/memory/ - Состояние git
Компакт с контекстом
Используй кастомное сообщение вместо пустого /compact:
/compact Следующий шаг: реализовать [конкретный шаг]. Ключевые файлы: [пути]. Переменные: [имена].
Пороговая эвристика
Предлагай компакт после:
- ~50 Edit/Write операций в сессии
- Заметного замедления ответов
- Завершения каждой фазы в
plan.md - Переключения на принципиально другую задачу