---
name: start-session
description: Начало рабочей сессии. Загружает контекст проекта, показывает прогресс и рекомендует задачу. Используй при запуске Claude Code, начале работы, или когда пользователь говорит «начать», «что делать», «где мы».
user-invocable: true
disable-model-invocation: false
allowed-tools: Read, Glob, Grep, Bash
---

# Начало рабочей сессии

Выполни ВСЕ шаги автоматически, без ожидания подтверждения:

## 1. Синхронизировать с удалённым репозиторием

```bash
git fetch origin
```

Проверь, есть ли новые коммиты от других разработчиков:
```bash
git log HEAD..origin/<%= defaultBranch || 'main' %> --oneline
```

Если есть новые коммиты — подтяни изменения:
```bash
git pull origin <%= defaultBranch || 'main' %>
```

Если есть изменения — сообщи пользователю:
```
Подтянуты изменения от [автор]: [описание коммитов]
```

Если конфликт слияния — сообщи и помоги разрешить.

## 2. Загрузить контекст

Прочитай параллельно:
- `dev-infra/memory/active-context.md`
- `dev-infra/memory/progress.md`
- `dev-infra/tasks/tasks.json`
- `dev-infra/memory/checkpoint.yml`

### Checkpoint recovery

Если в `checkpoint.yml` поле `active: true` — есть незавершённая задача:
```
Обнаружен незавершённый checkpoint:
- Задача: [task_id] — [task_title]
- Размер: [feature_size]
- Последний шаг: [current_step]
- Последнее обновление: [last_updated]

Продолжить с [current_step] через /take-task [task_id]?
```

## 2.5. Проверка tech-debt триггеров

Прочитай `dev-infra/memory/tech-debt.md`. Для каждой записи со статусом `open` или `partially_resolved`:
1. Проверь поле «Триггер замены» — наступил ли триггер?
2. Сопоставь с текущим состоянием проекта:
   - Задача-триггер в статусе `done`? (проверь tasks.json)
   - Ресурс появился? (production DB, API-ключ)
   - Milestone завершён?

Если найдены TD-записи с наступившими триггерами — покажи:
```
Tech-debt: можно закрыть N записей:
- TD-XXX: [описание] -> триггер «[триггер]» наступил ([почему])
- TD-YYY: [описание] -> триггер «[триггер]» наступил ([почему])

Создать задачи на закрытие или отложить?
```

Если пользователь подтверждает — создай задачи в tasks.json (тип: tech-debt, приоритет по влиянию).
Если нет наступивших триггеров — пропусти молча.

## 3. Показать сводку

Выведи компактно:
- **Этап и milestone:** какой этап, какой milestone, процент выполнения
- **Дедлайн:** дата (контракт / внутренний), сколько дней осталось
- **Прогресс:** сколько задач done / in_progress / todo / blocked
- **Блокеры:** если есть — подсветить
- **Tech-debt:** N open / N partially_resolved (если есть с наступившими триггерами — подсветить)

## 4. Показать незавершённые задачи

Из tasks.json покажи задачи со статусом `in_progress` (те, что уже начаты).
Если таких нет — покажи `todo` с приоритетом critical/high.

## 5. Рекомендовать задачу

Выбери ОДНУ конкретную задачу и объясни почему:
- Приоритет (critical первые)
- Зависимости выполнены? (dependencies — все ли в статусе done?)
- Дедлайн (что ближе?)
- Исполнитель (задачи текущего разработчика приоритетнее)

Формат:
```
Рекомендую начать с [ID] «[название]» — приоритет [priority],
зависимость [dep] выполнена, дедлайн [date].
Берём эту задачу?
```

### Проверка плана (опционально)

Если при загрузке контекста обнаружены проблемы:
- Просроченные задачи (deadline_internal < сегодня, status != done)
- Задачи in_progress >7 дней без обновлений
- Блокирующие зависимости (todo зависит от todo)

Добавь к сводке:
```
Обнаружены проблемы с планом (N шт.). Рекомендую: /plan validate
```

## 6. Ожидать решения

Дождись ответа пользователя. Если согласен — автоматически запусти `/take-task` для этой задачи.
