commit 1797d78fe768adb2848b2cc0d76e5cfdf5f80b1c Author: estorozhenko Date: Sun Sep 6 13:51:18 2026 +0000 Initial commit: Hermes skill project-session-close diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..9aad58a --- /dev/null +++ b/SKILL.md @@ -0,0 +1,102 @@ +--- +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 и запись сделана только после ответа. \ No newline at end of file