Agent skill
finish
Завершение рабочей сессии. Тесты, коммит, обновление SNAPSHOT, отчёт.
Install this agent skill to your Project
npx add-skill https://github.com/alexeykrol/claude-code-starter/tree/main/.claude/skills/finish
SKILL.md
Skill: Finish Session
Что делать
1. Запустить тесты
Если в проекте есть тесты:
# Определить тип проекта и запустить тесты
if [ -f "package.json" ]; then
npm test 2>&1 || true
elif [ -f "pytest.ini" ] || [ -f "pyproject.toml" ] || [ -d "tests" ]; then
python3 -m pytest tests/ 2>&1 || true
fi
Если тесты падают:
- Попробовать починить (до 3 попыток, автономно)
- Если не удалось — коммитить код, но записать в SNAPSHOT.md что тесты красные и что конкретно падает
- Не блокировать весь finish из-за упавшего теста
2. Проверить git status
git status --short
git diff --stat
3. Коммит изменений (по Commit Policy)
Если есть незакоммиченные изменения — следовать правилу commit-policy.md:
- Для каждого файла определить категорию:
- Запрещено (.env, *.key, *.db, node_modules/ и т.д.) → убедиться что в
.gitignore, если нет — добавить автоматически - Разрешено (src/, tests/, CLAUDE.md, package.json и т.д.) → stage
- Остальное → решить по контексту, не спрашивая пользователя
- Запрещено (.env, *.key, *.db, node_modules/ и т.д.) → убедиться что в
git addтолько разрешённых файлов (поимённо, неgit add .)- Сформировать описательное commit message
- git commit
4. Обновить SNAPSHOT.md
Обновить .claude/SNAPSHOT.md:
- Что сделано — добавить записи о работе этой сессии
- В процессе — очистить или обновить
- Следующие шаги — что осталось
- Известные проблемы — если обнаружены
- Дата — обновить timestamp
5. Закоммитить обновлённый SNAPSHOT
# Проверить режим framework state
scripts/framework-state-mode.sh check-safe-mode
# Только private-solo коммитит SNAPSHOT в git-историю.
if [ "$(scripts/framework-state-mode.sh should-commit-framework-state)" = "true" ]; then
git add .claude/SNAPSHOT.md
git diff --cached --quiet || git commit -m "docs: update SNAPSHOT after session"
else
echo "SNAPSHOT kept local due repo_access=$(scripts/framework-state-mode.sh repo-access)"
fi
В режиме public/private-shared SNAPSHOT остаётся локальным файлом и не коммитится. Если helper сообщает blocker из-за tracked framework files, сначала запусти scripts/switch-repo-access.sh <mode>.
6. Завершить лог сессии
Дописать в текущий файл .claude/logs/sessions/YYYY-MM-DD_HH-MM.md:
- Итоги тестов (passed/failed/skipped)
- Список коммитов сессии
- Ошибки (если были)
- Duration сессии
7. Отчёт пользователю
Кратко (5-7 строк):
- Что сделано за сессию
- Результаты тестов
- Хэши коммитов
- Что осталось на следующую сессию
Чего НЕ делать
- Не пушить автоматически (push — отдельное решение)
- Не коммитить файлы из списка «Запрещено всегда» (см. commit-policy.md)
- Не затягивать finish дольше 2 минут
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
db-migrate
Миграция схемы базы данных: SQLite → PostgreSQL/Supabase. Генерация SQL, проверка совместимости.
testing
Запуск тестов проекта: unit, integration. Определение типа проекта и выбор стратегии.
start
Инициализация рабочей сессии. Загрузить состояние проекта, оценить готовность, доложить.
housekeeping
Фоновое обслуживание проекта: актуальность README, CHANGELOG, версии, .gitignore, метафайлов.
playwright
E2E тестирование UI с Playwright. Запуск, создание тестов, анализ результатов.
verl-rl-training
Provides guidance for training LLMs with reinforcement learning using verl (Volcano Engine RL). Use when implementing RLHF, GRPO, PPO, or other RL algorithms for LLM post-training at scale with flexible infrastructure backends.
Didn't find tool you were looking for?