Wrap-up — завершение сессии
SkillFiles & storageEnds a health-os session: session log, active-context, checkpoint, MEMORY.md, Goals/health-goals.md, breadcrumb cleanup, and a commit. Closes the session as a whole, not for saving an individual file or analysis. Triggers: «заверши сессию», «сохрани сессию», «wrap up», «закончили», «закрываем сесси
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Wrap-up skill
What this skill tells your AI
The instructions your AI receives, as published by alxyrgin/health-os in .claude/skills/wrap-up/SKILL.md and read by ahel’s review.
Профиль. До чтения и записи определи активный профиль по
.claude/shared/profile-resolution.md. Короткий путьData/Xв этом файле означаетData/profiles/<активный>/X— буквально по нему писать нельзя. Перед записью назови, в чей профиль она идёт.
Назначение
Сохранить контекст сессии в MEMORY.md, сделать коммит. Без push (нет remote).
Workflow
1. Собрать итоги сессии
Механизм — не по памяти, а по состоянию репозитория:
git status --short
git diff --stat HEAD
По этому выводу определить:
- Какие файлы изменились (
git status --short) и насколько (git diff --stat HEAD) - Какие направления затронуты — по путям изменённых файлов (
Data/labs/→ анализы,Data/doctors/→ визиты и т.д.) - Какие решения приняты — из хода сессии
- Что осталось открытым
2. Создать session log
Создать файл Cache/sessions/YYYY-MM-DD_HH-MM.md:
# Сессия YYYY-MM-DD HH:MM
- **Длительность:** ~X мин
- **Направления:** [затронутые KR/направления]
## Что сделано
- [действие 1]
- [действие 2]
## Изменённые файлы
- [список ключевых файлов]
## Решения
- [решение 1 — почему]
## Открытые вопросы
- [что осталось нерешённым]
3. Обновить active-context
Перезаписать Cache/active-context.md:
# Active Context — Health-OS
## Последняя сессия
- **Дата:** YYYY-MM-DD
- **Что сделано:** [краткий список]
- **Изменённые файлы:** [список]
### Предыдущие сессии
- [предыдущие 2–3 сессии — одной строкой каждая]
## Текущие задачи
| # | Задача | Статус | Контекст |
|---|--------|--------|----------|
| 1 | [задача] | in_progress/waiting/next | [контекст] |
## Текущий фокус
- [на чём сейчас сосредоточена работа]
## Ожидания к следующей сессии
- [что должно произойти до следующего входа]
## Следующие шаги
- [конкретные действия на следующую сессию]
## Блокеры
- [что мешает прогрессу, если есть]
4. Обновить checkpoint
Обновить Cache/checkpoint.yml:
- Если многошаговая задача завершена →
active: false, обнулить поля - Если задача не завершена → оставить
active: true, обновитьcurrent_step,context,last_updated - Если не было многошаговой задачи → не трогать
5. Обновить MEMORY.md
Обновить следующие секции (БЕЗ «Последняя сессия» — она в active-context):
«Активные треды» — обновить если изменились:
- Добавить новые направления
- Обновить статусы
- Убрать завершённые
«Открытые вопросы» — обновить:
- Добавить новые
- Убрать решённые
«Ближайшие действия» — обновить:
- Что нужно сделать в следующей сессии
- Ожидаемые визиты, анализы
6. Обновить Goals/health-goals.md
Пересгенерировать локальный файл целей из живых данных:
Goals/health-goals.md — обновить из:
Data/goals/YYYY.json(v2) → все KR изdirections[](число направлений читать из файла, не задавать константой), фазы, milestones чекбоксы, расходы
Генерировать полностью, не патчить.
7. Очистить breadcrumb
Удаляется только breadcrumb текущей сессии. Массовая чистка запрещена: в .claude/hooks/pending-sessions/ лежат следы других сессий, в том числе работающих параллельно прямо сейчас, и они — единственный вход для /recover-sessions.
Если session_id текущей сессии известен:
- Удалить
.claude/hooks/pending-sessions/{session_id}.json - Удалить
.claude/hooks/session-start-{session_id}.tmp, если он существует. Отсутствие файла — норма, не ошибка
Если session_id неизвестен:
- Не удалять ничего. Не по дате, не по времени изменения, не «все за сегодня»
- Сообщить пользователю:
⚠️ Breadcrumb не очищен — ID текущей сессии неизвестен. Удалять файлы по дате нельзя: рядом могут лежать breadcrumbs других сессий. Разобрать накопившееся: /recover-sessions
Чистка чужих breadcrumbs — зона ответственности /recover-sessions, а не этого скилла.
8. Проверка целостности перед коммитом
python3 .claude/scripts/check-integrity.py
Коммитить сломанные данные хуже, чем не коммитить: дефект фиксируется в истории и переживает сессию.
- Всё пройдено — идти дальше молча
- Есть проблемы — показать их и спросить, чинить сейчас или коммитить как есть. Решение за пользователем: часть расхождений возникает в середине незавершённой работы и это нормально
- Скрипт недоступен — отметить одной строкой и продолжить
9. Коммит
Сначала проверить, есть ли что коммитить:
git status --porcelain
Если вывод пуст — изменений нет. Коммит не делать (git commit завершится ошибкой «nothing to commit»), в подтверждении написать «Коммит: не требуется — изменений нет». Это не ошибка сессии.
Если вывод непуст:
git add -A
git commit -m "[тип]: краткое описание"
Типы: feat, docs, fix, refactor
НЕ делать push — проект только локальный.
10. Подтверждение
✅ Сессия завершена
- Session log: Cache/sessions/YYYY-MM-DD_HH-MM.md
- Active context обновлён
- Checkpoint: [деактивирован / обновлён (задача X, шаг Y/Z) / не было]
- MEMORY.md обновлён
- Goals/health-goals.md обновлён
- Breadcrumb: [очищен / не очищен — session_id неизвестен, см. /recover-sessions]
- Коммит: [hash] — [message] / не требуется — изменений нет
- Изменено файлов: N
Каждая строка отражает фактический результат шага. Не писать «очищен», если шаг 7 ушёл в ветку «неизвестен», и не писать про коммит, если его не было.
Правила
- Медданные не покидают каталог проекта — запись PHI куда-либо вовне запрещена. Наружу, если это вообще нужно, идут только агрегаты: количества, статусы, метрики. Никаких названий препаратов, диагнозов, аллергенов, ФИО и дат рождения
- Только свой breadcrumb — удаление чужих или удаление по дате запрещено при любых обстоятельствах
- Скилл закрывает сессию целиком — если пользователь просит сохранить конкретный файл, анализ или заметку, это не
/wrap-up. Запускать только на явное завершение сессии - Порядок шагов зафиксирован в CLAUDE.md и менять его нельзя: лог → active-context → checkpoint → MEMORY → Goals → breadcrumb → проверка целостности → коммит
Критерий завершения: session log создан; Cache/active-context.md содержит все шесть обязательных секций из .claude/rules/active-context.md; Cache/checkpoint.yml приведён в соответствие фактическому состоянию задачи; MEMORY.md и Goals/health-goals.md обновлены; breadcrumb либо удалён по известному session_id, либо явно оставлен с сообщением пользователю; коммит сделан либо честно помечен как не требующийся; отчёт шага 10 отражает реальные результаты каждого шага.
Signals
- GitHub stars
- 39
- Forks
- 7
- Last commit
- Aug 2026
Others that do the same job
Advanced
- Item type
- skill
- Key
wrap-up-alxyrgin- Source
- github.com/alxyrgin/health-os