# Start

> Инициализация рабочей сессии. Построить адекватную модель проекта, заземлить её в код, доложить с глубиной по запросу.

- Skill: `alexeykrol/start` (Agent Skill)
- Install (CLI): `npx skillmds@latest add alexeykrol/start`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alexeykrol/start/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: alexeykrol (https://skillmd.com/u/alexeykrol)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alexeykrol/start

---


# Skill: Start Session

## Назначение

Построить **адекватную модель проекта** — правильную по структуре, заземлённую в код, знающую свои границы. Защитить проект, пока модель строится.

**Три вида ограничений в этом протоколе — намеренно разной природы:**

| Вид | Где | Как трактовать |
|-----|-----|---------------|
| На действия (`INVARIANTS.md`, production-safety) | в коде/контракте | **жёстко** — guardrails |
| На внимание (порядок чтения, две оси памяти) | в этом skill | **полезно** — структура делает глубину достижимой |
| На глубину/выход доклада | — | **нет таких ограничений** — глубина диктуется запросом, не форматом |

Никаких «доложи 3–5 строк». Минимум — пол адекватности, потолка нет.

## Что делать

### 1. Прочитать слои памяти — обе оси

**Контракты (что должно быть):**
```
Read .claude/ARCHITECTURE.md   (если есть)
Read .claude/INVARIANTS.md     (если есть — нарушения = баг, не предпочтение)
```

**State (что есть сейчас):**
```
Read .claude/SNAPSHOT.md       (точка работы)
Read .claude/BACKLOG.md        (если есть — план Next/Soon/Later)
```

Если какие-то слои отсутствуют — это OK для старого проекта; в новом v6.2+ — сигнал неполной установки. Не паниковать, продолжить.

### 2. Прочитать CLAUDE.md

```
Read CLAUDE.md
```

### 3. Заземлить карту в территорию (обязательно)

Метафайлы — это **карта, не территория**. Если SNAPSHOT/ARCHITECTURE разошлись с кодом, ты унаследуешь неточность вместе со слепыми пятнами и не заметишь этого. Цена заземления — минута, ценность — представление, которому можно верить.

Минимум:

```bash
# Хронология
git log --oneline -10
git status --short

# Объём кода/контента по основным каталогам
for d in src lib app scripts chapters lessons modules docs; do
  [ -d "$d" ] && echo "$d: $(find "$d" -type f \( -name '*.py' -o -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.sh' -o -name '*.md' \) 2>/dev/null | xargs wc -l 2>/dev/null | tail -1)"
done

# Заглушки и недоделки — где карта обещает функциональность, а в коде TODO
grep -rn "TODO\|FIXME\|stub\|raise NotImplementedError\|pass *#" src/ lib/ app/ scripts/ 2>/dev/null | head -20
```

Если обнаружишь расхождение «SNAPSHOT/ARCHITECTURE говорят X, но grep/wc показывают Y» — зафиксируй это явно при докладе, не сглаживай.

### 4. Проверить версию фреймворка (фоново)

```bash
grep -m1 'v[0-9]' README.md 2>/dev/null || true
```

Не блокирует старт.

### 5. Создать лог сессии

```bash
mkdir -p .claude/logs/sessions
```

Файл `.claude/logs/sessions/YYYY-MM-DD_HH-MM.md` с начальным состоянием.

### 6. Доложить — глубина по запросу

Доклад **масштабируется под запрос пользователя**:

| Запрос пользователя | Эталон доклада |
|---------------------|-----------------|
| «start», «начать», молчаливый старт | Компактно: статус, что было в прошлой сессии, незакрытые задачи из BACKLOG.Next, открытые INVARIANTS, готовность. 5–10 строк. |
| «разберись с проектом», «хочу убедиться что ты понял», «проанализируй» | Полный аналитический разбор: зачем существует, как устроен (модули/слои/контракты), таблица «карта vs территория» из шага 3, состояние (что сделано/что в работе/что блокирует), риски, что я понимаю и где границы знания. Объём — по теме, не по формату. |
| Конкретная задача в первой реплике | Состояние + явная связь с задачей: какие INVARIANTS могут быть затронуты, какие слои памяти релевантны, какие подсистемы потребуют чтения кода. |

Минимум всегда — пол адекватности. Потолка нет. Если в шаге 3 нашёл расхождения — назвать их прямо.

### 7. Пометка «карта ≠ территория»

После шагов 1–6 ты знаешь **карту** проекта, не **территорию** (код). Перед правкой конкретной подсистемы:
- читай её код (не только метафайлы);
- читай её локальные docs (не только корневые);
- сверяй карту с тем, что увидел в коде.

Опасна не неполнота модели, а ложная уверенность в её полноте.

## Чего НЕ делать

- Не показывать содержимое файлов пользователю как сырой дамп
- Не запускать тесты (это `/finish`)
- Не коммитить автоматически (если есть незакоммиченное — сообщить)
- Не кэпить глубину доклада фиксированным объёмом ради «краткости»
- Не пропускать шаг заземления, даже если SNAPSHOT выглядит свежим
- Не генерировать отдельный `ONBOARDING.md` — конституция живёт в `CLAUDE.md`, который харнес автозагружает

## После выполнения

Агент готов принимать ТЗ. Если запрос пользователя в первой реплике был «разберись/проанализируй» — он уже исполнен этим skill, и сама первая реплика и есть результат.

