--- name: project-session-close description: Use when closing a session on a long-running project. version: 1.0.0 author: hermes license: MIT metadata: hermes: tags: [project, session, close, status, prd, todo, walkthrough, memory] --- # Закрытие сессии проекта (project session close) ## When to Use - Пользователь говорит «закрой сессию», «сохрани проект», «подведи итог», «запиши опыт», «сделай STATUS/PRD/TODO», «закрой проект» — скилл ВЫПОЛНЯЕТСЯ ВСЕГДА, файлы генерируются/обновляются в обязательном порядке (не спрашивать «нужно ли», только уточнять КАКОЙ проект). - В конце работы над длинной задачей, которая продолжится в другой сессии. - По умолчанию: если проект ведётся 2+ сессии и имеет каталог с файлами. ## Определение проекта (критично!) 1. Сначала определить каталог проекта из контекста сессии: - Если в сессии явно работали с путём вида `/opt/hermes//` — это проект. - Или пользователь назвал проект. 2. ЕСЛИ проектов несколько ИЛИ непонятно, к какому относить — ОБЯЗАТЕЛЬНО задать вопрос через `clarify` (выбор: список известных проектов из памяти/`session_search`, или «другой»). НЕ угадывать молча. 3. Если каталога проекта ещё нет — создать `/opt/hermes//` (по правилу: всё в /opt/hermes). ## Файлы проекта (создаются в корне каталога проекта) | Файл | Содержимое | |---|---| | `STATUS.md` | Текущее состояние реализации: что сделано, что в работе, что осталось, как запустить/проверить, ссылки на ключевые артефакты. ЖИВОЙ документ — обновляется при каждом закрытии сессии. | | `PRD.md` | Требования к проекту: цель, нефункциональные требования, границы, метрики готовности. Меняется редко. | | `TODO.md` | Все поставленные задачи: описание, статус (открыта/в работе/закрыта), **дата и имя сессии**, где закрыта. Хронологический журнал задач. | | `WALKTHROUGH.md` | Подробный путь реализации проекта (капитанский журнал): шаги, команды, решения, ошибки и их исправления, конфиги, подводные камни — чтобы можно было повторить реализацию с нуля. | ## Порядок действий 0. **Определить проект** (см. «Определение проекта» выше). Если непонятно — `clarify` (список кандидатов из памяти + «другой»), ждать ответа, без него не писать. 1. **Определить каталог проекта.** Обычно `/opt/hermes//` (или путь из контекста). Если каталога нет — создать. 2. **Собрать контекст сессии:** - Что сделано за эту сессию (артефакты, команды, решения). - Какие задачи закрыты/открыты. - Какие уроки/ошибки/подводные камни всплыли. - `session_search` по имени проекта, если нужно восстановить прошлые сессии. 3. **Прочитать существующие файлы** (если есть): STATUS.md, PRD.md, TODO.md, WALKTHROUGH.md — не перезаписывать вслепую, а дополнять. 4. **Обновить/создать файлы** по таблице выше. Имя сессии брать из заголовка сессии или `@session:profile/`. 5. **TODO.md**: для каждой закрытой задачи — строка с датой и `@session:`-ссылкой. 6. **WALKTHROUGH.md**: хронология — дата, что делали, какие команды/файлы, что не работало и как починили. Пишем как инструкцию для повторения. 7. **Основную память не трогать** — ссылку на проект в память НЕ добавлять (вся информация проекта живёт в файлах `/opt/hermes//`; память экономится). 8. **Не удалять** никакие пользовательские файлы (правило пользователя). ## Форматы файлов ### STATUS.md — шаблон ```markdown # <Проект> — Статус Обновлено: <дата> (сессия <@session:...>) ## Текущее состояние <2-5 строк: что работает, что нет> ## Сделано - <что завершено, с датами> ## В работе / Следующие шаги - [ ] <задача> ## Как запустить / проверить <команды> ## Ключевые артефакты <пути к файлам> ## Открытые вопросы <что требует решения пользователя> ``` ### PRD.md — требования Цель, пользователи, функциональные требования (списком), нефункциональные (производительность, безопасность), границы (что НЕ делаем), критерии готовности. ### TODO.md — журнал задач ```markdown # TODO — <Проект> Формат: | дата | задача | статус | закрыта в | |---|---|---|---| | 2026-09-05 | Описание задачи | ✅ закрыта | @session:default/... | | 2026-09-06 | Новая задача | 🔵 открыта | | ``` ### WALKTHROUGH.md — капитанский журнал Хронологический журнал по датам. Включить: точные команды, пути файлов, какие модели/API/инструменты использовались, что сломалось и как чинили, решения «почему так». Цель — воспроизводимость. ## Питфолы - Не перезаписывать существующие файлы целиком без чтения — дополнять. - Память: НЕ добавлять ссылку на проект в основную память — информация проекта только в файлах `/opt/hermes//` (экономия лимита памяти 2200 символов). - TODO.md хранит ИСТОРИЮ: закрытые задачи не удалять, помечать статусом. - Если сессия прервана внезапно (нет финального «закрой») — файлы можно обновить в следующей сессии, восстановив контекст через session_search. ## Проверка - Все 4 файла существуют и содержат актуальную информацию. - TODO.md содержит все закрытые задачи с датой и ссылкой на сессию. - Если проект был неочевиден — задан вопрос через clarify и запись сделана только после ответа.