Prompt file imported from nv-lang/nova (
.claude/commands/stop.md). Copyright stays with the author.
СТОП. Окно перезапускается — заканчивай работу как можно быстрее.
Правило скорости: ничего долгого. Не запускай гейт, сборку, тесты, мега-CU, новых агентов — даже «на всякий случай» и даже если казалось, что осталось чуть-чуть. Ни одной команды дольше половины минуты.
Порядок, и он короткий:
- Ничего нового не начинать. Текущий вызов инструмента доводить только если он уже идёт и вот-вот закончится; иначе бросай.
- Снять своё фоновое. Перечисли свои фоновые задачи и останови их, НЕ дожидаясь завершения. Что не останавливается — назови по имени в передаче: новая сессия их не унаследует, уведомления им идти будет некуда.
- Не оставлять дерево в непонятном виде. Правки осмысленные и целые — коммить по
именам файлов, с грепом маркеров конфликта в ОДНОЙ команде с коммитом. Правки
недоделанные — НЕ коммить: оставь как есть и просто перечисли
git statusв передаче. Наполовину сделанный коммит хуже незакоммиченного файла. - Записать передачу файлом, а не только в чат:
docs/.sessions/handoff-<id сессии>.md(каталог личный, под.gitignore; создай, если нет). Внутри — пять строк, без прозы:- СДЕЛАНО: хэши коммитов и одна строка на каждый;
- В ПОЛЁТЕ: что осталось недоделанным и где именно (файл:строка);
- НЕЗАКОММИЧЕНО: вывод
git status --porcelain, как есть; - ДАЛЬШЕ: первый шаг новой сессии, одной фразой;
- ВОПРОСЫ ВЛАДЕЛЬЦУ: незакрытые решения (пуш, развилки), списком.
- Отдать в чат id сессии и путь файла передачи — по id делается
resume, файл нужен на случай, если сессия поднимается с нуля.
Признаки, по которым сессию ЗАКРЫВАЮТ, а не лечат
Решение о перезапуске принималось по ощущению — отсюда список. Любой ОДИН признак из четырёх — достаточное основание, спорить с ним не надо: перезапуск дешевле, чем ход, потраченный на выяснение, показалось или нет.
- Окно противоречит само себе — в одном ходе утверждает и отрицает одно и то же, либо докладывает сделанным то, что несколькими ходами раньше назвало невозможным.
- Ссылается на несуществующие файлы, строки, хэши. Не «ошибся путём» — а уверенно цитирует то, чего нет: это признак, что контекст подменился правдоподобной реконструкцией.
- Повторяет уже сделанный шаг — заново правит то, что само же закоммитило, или второй раз «начинает» ту же работу.
- Не видит правил, которые обязаны быть в контексте — не знает про
git addпо именам, про запрет фона, про№TBD, хотя они приезжают импортом в каждое окно. Проверяется мгновенно:/contextперечисляет загруженные файлы памяти.
Заметил у себя — не оправдывайся и не «соберись»: выполни эту команду и отдай передачу. Заметил у другого окна — скажи владельцу, окно об этом узнаёт хуже всех.
Закончив, остановись и ничего больше не начинай: последнее слово хода — передача, а не новая работа. Здесь это законно — очередь закрыта намеренно.
Закрыта, но НЕ брошена. Остановка обязана быть восстановимой, и это проверяемое
требование к передаче, а не пожелание: любая незакрытая работа названа — либо хэшем,
либо строкой git status, либо пунктом «В ПОЛЁТЕ» с местом в файле. Ничего не
пропадает молча; если что-то приходится бросить необратимо (снятый фоновый прогон,
потерянный артефакт), это пишется отдельной строкой «ПОТЕРЯНО, нужен перезапуск».
Проверь перед остановкой: по этой передаче новая сессия продолжает работу, ничего не
переоткрывая заново, — и по id через resume, и с нуля по файлу передачи.
